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

#include "protobuf/pg_query.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<30> scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_A_Star_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_BitString_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CallContext_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CheckPointStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DiscardStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Expr_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Float_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Integer_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Null_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ParamRef_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RangeTblRef_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RowMarkClause_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ScanToken_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SortGroupClause_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_String_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto;
namespace pg_query {
class ParseResultDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ParseResult> _instance;
} _ParseResult_default_instance_;
class ScanResultDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ScanResult> _instance;
} _ScanResult_default_instance_;
class NodeDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Node> _instance;
} _Node_default_instance_;
class IntegerDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Integer> _instance;
} _Integer_default_instance_;
class FloatDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Float> _instance;
} _Float_default_instance_;
class StringDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<String> _instance;
} _String_default_instance_;
class BitStringDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BitString> _instance;
} _BitString_default_instance_;
class NullDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Null> _instance;
} _Null_default_instance_;
class ListDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<List> _instance;
} _List_default_instance_;
class OidListDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<OidList> _instance;
} _OidList_default_instance_;
class IntListDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IntList> _instance;
} _IntList_default_instance_;
class BitmapsetDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Bitmapset> _instance;
} _Bitmapset_default_instance_;
class AliasDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Alias> _instance;
} _Alias_default_instance_;
class RangeVarDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeVar> _instance;
} _RangeVar_default_instance_;
class TableFuncDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TableFunc> _instance;
} _TableFunc_default_instance_;
class ExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Expr> _instance;
} _Expr_default_instance_;
class VarDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Var> _instance;
} _Var_default_instance_;
class ParamDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Param> _instance;
} _Param_default_instance_;
class AggrefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Aggref> _instance;
} _Aggref_default_instance_;
class GroupingFuncDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<GroupingFunc> _instance;
} _GroupingFunc_default_instance_;
class WindowFuncDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<WindowFunc> _instance;
} _WindowFunc_default_instance_;
class SubscriptingRefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SubscriptingRef> _instance;
} _SubscriptingRef_default_instance_;
class FuncExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FuncExpr> _instance;
} _FuncExpr_default_instance_;
class NamedArgExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NamedArgExpr> _instance;
} _NamedArgExpr_default_instance_;
class OpExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<OpExpr> _instance;
} _OpExpr_default_instance_;
class DistinctExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DistinctExpr> _instance;
} _DistinctExpr_default_instance_;
class NullIfExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NullIfExpr> _instance;
} _NullIfExpr_default_instance_;
class ScalarArrayOpExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ScalarArrayOpExpr> _instance;
} _ScalarArrayOpExpr_default_instance_;
class BoolExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BoolExpr> _instance;
} _BoolExpr_default_instance_;
class SubLinkDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SubLink> _instance;
} _SubLink_default_instance_;
class SubPlanDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SubPlan> _instance;
} _SubPlan_default_instance_;
class AlternativeSubPlanDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlternativeSubPlan> _instance;
} _AlternativeSubPlan_default_instance_;
class FieldSelectDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FieldSelect> _instance;
} _FieldSelect_default_instance_;
class FieldStoreDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FieldStore> _instance;
} _FieldStore_default_instance_;
class RelabelTypeDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RelabelType> _instance;
} _RelabelType_default_instance_;
class CoerceViaIODefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CoerceViaIO> _instance;
} _CoerceViaIO_default_instance_;
class ArrayCoerceExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ArrayCoerceExpr> _instance;
} _ArrayCoerceExpr_default_instance_;
class ConvertRowtypeExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ConvertRowtypeExpr> _instance;
} _ConvertRowtypeExpr_default_instance_;
class CollateExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CollateExpr> _instance;
} _CollateExpr_default_instance_;
class CaseExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CaseExpr> _instance;
} _CaseExpr_default_instance_;
class CaseWhenDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CaseWhen> _instance;
} _CaseWhen_default_instance_;
class CaseTestExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CaseTestExpr> _instance;
} _CaseTestExpr_default_instance_;
class ArrayExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ArrayExpr> _instance;
} _ArrayExpr_default_instance_;
class RowExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RowExpr> _instance;
} _RowExpr_default_instance_;
class RowCompareExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RowCompareExpr> _instance;
} _RowCompareExpr_default_instance_;
class CoalesceExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CoalesceExpr> _instance;
} _CoalesceExpr_default_instance_;
class MinMaxExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MinMaxExpr> _instance;
} _MinMaxExpr_default_instance_;
class SQLValueFunctionDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SQLValueFunction> _instance;
} _SQLValueFunction_default_instance_;
class XmlExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<XmlExpr> _instance;
} _XmlExpr_default_instance_;
class NullTestDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NullTest> _instance;
} _NullTest_default_instance_;
class BooleanTestDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BooleanTest> _instance;
} _BooleanTest_default_instance_;
class CoerceToDomainDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CoerceToDomain> _instance;
} _CoerceToDomain_default_instance_;
class CoerceToDomainValueDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CoerceToDomainValue> _instance;
} _CoerceToDomainValue_default_instance_;
class SetToDefaultDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SetToDefault> _instance;
} _SetToDefault_default_instance_;
class CurrentOfExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CurrentOfExpr> _instance;
} _CurrentOfExpr_default_instance_;
class NextValueExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NextValueExpr> _instance;
} _NextValueExpr_default_instance_;
class InferenceElemDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<InferenceElem> _instance;
} _InferenceElem_default_instance_;
class TargetEntryDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TargetEntry> _instance;
} _TargetEntry_default_instance_;
class RangeTblRefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeTblRef> _instance;
} _RangeTblRef_default_instance_;
class JoinExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<JoinExpr> _instance;
} _JoinExpr_default_instance_;
class FromExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FromExpr> _instance;
} _FromExpr_default_instance_;
class OnConflictExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<OnConflictExpr> _instance;
} _OnConflictExpr_default_instance_;
class IntoClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IntoClause> _instance;
} _IntoClause_default_instance_;
class RawStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RawStmt> _instance;
} _RawStmt_default_instance_;
class QueryDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Query> _instance;
} _Query_default_instance_;
class InsertStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<InsertStmt> _instance;
} _InsertStmt_default_instance_;
class DeleteStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DeleteStmt> _instance;
} _DeleteStmt_default_instance_;
class UpdateStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<UpdateStmt> _instance;
} _UpdateStmt_default_instance_;
class SelectStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SelectStmt> _instance;
} _SelectStmt_default_instance_;
class AlterTableStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterTableStmt> _instance;
} _AlterTableStmt_default_instance_;
class AlterTableCmdDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterTableCmd> _instance;
} _AlterTableCmd_default_instance_;
class AlterDomainStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterDomainStmt> _instance;
} _AlterDomainStmt_default_instance_;
class SetOperationStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SetOperationStmt> _instance;
} _SetOperationStmt_default_instance_;
class GrantStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<GrantStmt> _instance;
} _GrantStmt_default_instance_;
class GrantRoleStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<GrantRoleStmt> _instance;
} _GrantRoleStmt_default_instance_;
class AlterDefaultPrivilegesStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterDefaultPrivilegesStmt> _instance;
} _AlterDefaultPrivilegesStmt_default_instance_;
class ClosePortalStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ClosePortalStmt> _instance;
} _ClosePortalStmt_default_instance_;
class ClusterStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ClusterStmt> _instance;
} _ClusterStmt_default_instance_;
class CopyStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CopyStmt> _instance;
} _CopyStmt_default_instance_;
class CreateStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateStmt> _instance;
} _CreateStmt_default_instance_;
class DefineStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DefineStmt> _instance;
} _DefineStmt_default_instance_;
class DropStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DropStmt> _instance;
} _DropStmt_default_instance_;
class TruncateStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TruncateStmt> _instance;
} _TruncateStmt_default_instance_;
class CommentStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CommentStmt> _instance;
} _CommentStmt_default_instance_;
class FetchStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FetchStmt> _instance;
} _FetchStmt_default_instance_;
class IndexStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IndexStmt> _instance;
} _IndexStmt_default_instance_;
class CreateFunctionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateFunctionStmt> _instance;
} _CreateFunctionStmt_default_instance_;
class AlterFunctionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterFunctionStmt> _instance;
} _AlterFunctionStmt_default_instance_;
class DoStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DoStmt> _instance;
} _DoStmt_default_instance_;
class RenameStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RenameStmt> _instance;
} _RenameStmt_default_instance_;
class RuleStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RuleStmt> _instance;
} _RuleStmt_default_instance_;
class NotifyStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NotifyStmt> _instance;
} _NotifyStmt_default_instance_;
class ListenStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ListenStmt> _instance;
} _ListenStmt_default_instance_;
class UnlistenStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<UnlistenStmt> _instance;
} _UnlistenStmt_default_instance_;
class TransactionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TransactionStmt> _instance;
} _TransactionStmt_default_instance_;
class ViewStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ViewStmt> _instance;
} _ViewStmt_default_instance_;
class LoadStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LoadStmt> _instance;
} _LoadStmt_default_instance_;
class CreateDomainStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateDomainStmt> _instance;
} _CreateDomainStmt_default_instance_;
class CreatedbStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreatedbStmt> _instance;
} _CreatedbStmt_default_instance_;
class DropdbStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DropdbStmt> _instance;
} _DropdbStmt_default_instance_;
class VacuumStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<VacuumStmt> _instance;
} _VacuumStmt_default_instance_;
class ExplainStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ExplainStmt> _instance;
} _ExplainStmt_default_instance_;
class CreateTableAsStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateTableAsStmt> _instance;
} _CreateTableAsStmt_default_instance_;
class CreateSeqStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateSeqStmt> _instance;
} _CreateSeqStmt_default_instance_;
class AlterSeqStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterSeqStmt> _instance;
} _AlterSeqStmt_default_instance_;
class VariableSetStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<VariableSetStmt> _instance;
} _VariableSetStmt_default_instance_;
class VariableShowStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<VariableShowStmt> _instance;
} _VariableShowStmt_default_instance_;
class DiscardStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DiscardStmt> _instance;
} _DiscardStmt_default_instance_;
class CreateTrigStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateTrigStmt> _instance;
} _CreateTrigStmt_default_instance_;
class CreatePLangStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreatePLangStmt> _instance;
} _CreatePLangStmt_default_instance_;
class CreateRoleStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateRoleStmt> _instance;
} _CreateRoleStmt_default_instance_;
class AlterRoleStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterRoleStmt> _instance;
} _AlterRoleStmt_default_instance_;
class DropRoleStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DropRoleStmt> _instance;
} _DropRoleStmt_default_instance_;
class LockStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LockStmt> _instance;
} _LockStmt_default_instance_;
class ConstraintsSetStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ConstraintsSetStmt> _instance;
} _ConstraintsSetStmt_default_instance_;
class ReindexStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ReindexStmt> _instance;
} _ReindexStmt_default_instance_;
class CheckPointStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CheckPointStmt> _instance;
} _CheckPointStmt_default_instance_;
class CreateSchemaStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateSchemaStmt> _instance;
} _CreateSchemaStmt_default_instance_;
class AlterDatabaseStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterDatabaseStmt> _instance;
} _AlterDatabaseStmt_default_instance_;
class AlterDatabaseSetStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterDatabaseSetStmt> _instance;
} _AlterDatabaseSetStmt_default_instance_;
class AlterRoleSetStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterRoleSetStmt> _instance;
} _AlterRoleSetStmt_default_instance_;
class CreateConversionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateConversionStmt> _instance;
} _CreateConversionStmt_default_instance_;
class CreateCastStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateCastStmt> _instance;
} _CreateCastStmt_default_instance_;
class CreateOpClassStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateOpClassStmt> _instance;
} _CreateOpClassStmt_default_instance_;
class CreateOpFamilyStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateOpFamilyStmt> _instance;
} _CreateOpFamilyStmt_default_instance_;
class AlterOpFamilyStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterOpFamilyStmt> _instance;
} _AlterOpFamilyStmt_default_instance_;
class PrepareStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PrepareStmt> _instance;
} _PrepareStmt_default_instance_;
class ExecuteStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ExecuteStmt> _instance;
} _ExecuteStmt_default_instance_;
class DeallocateStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DeallocateStmt> _instance;
} _DeallocateStmt_default_instance_;
class DeclareCursorStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DeclareCursorStmt> _instance;
} _DeclareCursorStmt_default_instance_;
class CreateTableSpaceStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateTableSpaceStmt> _instance;
} _CreateTableSpaceStmt_default_instance_;
class DropTableSpaceStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DropTableSpaceStmt> _instance;
} _DropTableSpaceStmt_default_instance_;
class AlterObjectDependsStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterObjectDependsStmt> _instance;
} _AlterObjectDependsStmt_default_instance_;
class AlterObjectSchemaStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterObjectSchemaStmt> _instance;
} _AlterObjectSchemaStmt_default_instance_;
class AlterOwnerStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterOwnerStmt> _instance;
} _AlterOwnerStmt_default_instance_;
class AlterOperatorStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterOperatorStmt> _instance;
} _AlterOperatorStmt_default_instance_;
class AlterTypeStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterTypeStmt> _instance;
} _AlterTypeStmt_default_instance_;
class DropOwnedStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DropOwnedStmt> _instance;
} _DropOwnedStmt_default_instance_;
class ReassignOwnedStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ReassignOwnedStmt> _instance;
} _ReassignOwnedStmt_default_instance_;
class CompositeTypeStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CompositeTypeStmt> _instance;
} _CompositeTypeStmt_default_instance_;
class CreateEnumStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateEnumStmt> _instance;
} _CreateEnumStmt_default_instance_;
class CreateRangeStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateRangeStmt> _instance;
} _CreateRangeStmt_default_instance_;
class AlterEnumStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterEnumStmt> _instance;
} _AlterEnumStmt_default_instance_;
class AlterTSDictionaryStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterTSDictionaryStmt> _instance;
} _AlterTSDictionaryStmt_default_instance_;
class AlterTSConfigurationStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterTSConfigurationStmt> _instance;
} _AlterTSConfigurationStmt_default_instance_;
class CreateFdwStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateFdwStmt> _instance;
} _CreateFdwStmt_default_instance_;
class AlterFdwStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterFdwStmt> _instance;
} _AlterFdwStmt_default_instance_;
class CreateForeignServerStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateForeignServerStmt> _instance;
} _CreateForeignServerStmt_default_instance_;
class AlterForeignServerStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterForeignServerStmt> _instance;
} _AlterForeignServerStmt_default_instance_;
class CreateUserMappingStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateUserMappingStmt> _instance;
} _CreateUserMappingStmt_default_instance_;
class AlterUserMappingStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterUserMappingStmt> _instance;
} _AlterUserMappingStmt_default_instance_;
class DropUserMappingStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DropUserMappingStmt> _instance;
} _DropUserMappingStmt_default_instance_;
class AlterTableSpaceOptionsStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterTableSpaceOptionsStmt> _instance;
} _AlterTableSpaceOptionsStmt_default_instance_;
class AlterTableMoveAllStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterTableMoveAllStmt> _instance;
} _AlterTableMoveAllStmt_default_instance_;
class SecLabelStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SecLabelStmt> _instance;
} _SecLabelStmt_default_instance_;
class CreateForeignTableStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateForeignTableStmt> _instance;
} _CreateForeignTableStmt_default_instance_;
class ImportForeignSchemaStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ImportForeignSchemaStmt> _instance;
} _ImportForeignSchemaStmt_default_instance_;
class CreateExtensionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateExtensionStmt> _instance;
} _CreateExtensionStmt_default_instance_;
class AlterExtensionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterExtensionStmt> _instance;
} _AlterExtensionStmt_default_instance_;
class AlterExtensionContentsStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterExtensionContentsStmt> _instance;
} _AlterExtensionContentsStmt_default_instance_;
class CreateEventTrigStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateEventTrigStmt> _instance;
} _CreateEventTrigStmt_default_instance_;
class AlterEventTrigStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterEventTrigStmt> _instance;
} _AlterEventTrigStmt_default_instance_;
class RefreshMatViewStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RefreshMatViewStmt> _instance;
} _RefreshMatViewStmt_default_instance_;
class ReplicaIdentityStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ReplicaIdentityStmt> _instance;
} _ReplicaIdentityStmt_default_instance_;
class AlterSystemStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterSystemStmt> _instance;
} _AlterSystemStmt_default_instance_;
class CreatePolicyStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreatePolicyStmt> _instance;
} _CreatePolicyStmt_default_instance_;
class AlterPolicyStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterPolicyStmt> _instance;
} _AlterPolicyStmt_default_instance_;
class CreateTransformStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateTransformStmt> _instance;
} _CreateTransformStmt_default_instance_;
class CreateAmStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateAmStmt> _instance;
} _CreateAmStmt_default_instance_;
class CreatePublicationStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreatePublicationStmt> _instance;
} _CreatePublicationStmt_default_instance_;
class AlterPublicationStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterPublicationStmt> _instance;
} _AlterPublicationStmt_default_instance_;
class CreateSubscriptionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateSubscriptionStmt> _instance;
} _CreateSubscriptionStmt_default_instance_;
class AlterSubscriptionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterSubscriptionStmt> _instance;
} _AlterSubscriptionStmt_default_instance_;
class DropSubscriptionStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DropSubscriptionStmt> _instance;
} _DropSubscriptionStmt_default_instance_;
class CreateStatsStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateStatsStmt> _instance;
} _CreateStatsStmt_default_instance_;
class AlterCollationStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterCollationStmt> _instance;
} _AlterCollationStmt_default_instance_;
class CallStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CallStmt> _instance;
} _CallStmt_default_instance_;
class AlterStatsStmtDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AlterStatsStmt> _instance;
} _AlterStatsStmt_default_instance_;
class A_ExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<A_Expr> _instance;
} _A_Expr_default_instance_;
class ColumnRefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ColumnRef> _instance;
} _ColumnRef_default_instance_;
class ParamRefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ParamRef> _instance;
} _ParamRef_default_instance_;
class A_ConstDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<A_Const> _instance;
} _A_Const_default_instance_;
class FuncCallDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FuncCall> _instance;
} _FuncCall_default_instance_;
class A_StarDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<A_Star> _instance;
} _A_Star_default_instance_;
class A_IndicesDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<A_Indices> _instance;
} _A_Indices_default_instance_;
class A_IndirectionDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<A_Indirection> _instance;
} _A_Indirection_default_instance_;
class A_ArrayExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<A_ArrayExpr> _instance;
} _A_ArrayExpr_default_instance_;
class ResTargetDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ResTarget> _instance;
} _ResTarget_default_instance_;
class MultiAssignRefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MultiAssignRef> _instance;
} _MultiAssignRef_default_instance_;
class TypeCastDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TypeCast> _instance;
} _TypeCast_default_instance_;
class CollateClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CollateClause> _instance;
} _CollateClause_default_instance_;
class SortByDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SortBy> _instance;
} _SortBy_default_instance_;
class WindowDefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<WindowDef> _instance;
} _WindowDef_default_instance_;
class RangeSubselectDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeSubselect> _instance;
} _RangeSubselect_default_instance_;
class RangeFunctionDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeFunction> _instance;
} _RangeFunction_default_instance_;
class RangeTableSampleDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeTableSample> _instance;
} _RangeTableSample_default_instance_;
class RangeTableFuncDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeTableFunc> _instance;
} _RangeTableFunc_default_instance_;
class RangeTableFuncColDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeTableFuncCol> _instance;
} _RangeTableFuncCol_default_instance_;
class TypeNameDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TypeName> _instance;
} _TypeName_default_instance_;
class ColumnDefDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ColumnDef> _instance;
} _ColumnDef_default_instance_;
class IndexElemDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IndexElem> _instance;
} _IndexElem_default_instance_;
class ConstraintDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Constraint> _instance;
} _Constraint_default_instance_;
class DefElemDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DefElem> _instance;
} _DefElem_default_instance_;
class RangeTblEntryDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeTblEntry> _instance;
} _RangeTblEntry_default_instance_;
class RangeTblFunctionDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RangeTblFunction> _instance;
} _RangeTblFunction_default_instance_;
class TableSampleClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TableSampleClause> _instance;
} _TableSampleClause_default_instance_;
class WithCheckOptionDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<WithCheckOption> _instance;
} _WithCheckOption_default_instance_;
class SortGroupClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SortGroupClause> _instance;
} _SortGroupClause_default_instance_;
class GroupingSetDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<GroupingSet> _instance;
} _GroupingSet_default_instance_;
class WindowClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<WindowClause> _instance;
} _WindowClause_default_instance_;
class ObjectWithArgsDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ObjectWithArgs> _instance;
} _ObjectWithArgs_default_instance_;
class AccessPrivDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AccessPriv> _instance;
} _AccessPriv_default_instance_;
class CreateOpClassItemDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CreateOpClassItem> _instance;
} _CreateOpClassItem_default_instance_;
class TableLikeClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TableLikeClause> _instance;
} _TableLikeClause_default_instance_;
class FunctionParameterDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<FunctionParameter> _instance;
} _FunctionParameter_default_instance_;
class LockingClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LockingClause> _instance;
} _LockingClause_default_instance_;
class RowMarkClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RowMarkClause> _instance;
} _RowMarkClause_default_instance_;
class XmlSerializeDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<XmlSerialize> _instance;
} _XmlSerialize_default_instance_;
class WithClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<WithClause> _instance;
} _WithClause_default_instance_;
class InferClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<InferClause> _instance;
} _InferClause_default_instance_;
class OnConflictClauseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<OnConflictClause> _instance;
} _OnConflictClause_default_instance_;
class CommonTableExprDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CommonTableExpr> _instance;
} _CommonTableExpr_default_instance_;
class RoleSpecDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RoleSpec> _instance;
} _RoleSpec_default_instance_;
class TriggerTransitionDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TriggerTransition> _instance;
} _TriggerTransition_default_instance_;
class PartitionElemDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartitionElem> _instance;
} _PartitionElem_default_instance_;
class PartitionSpecDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartitionSpec> _instance;
} _PartitionSpec_default_instance_;
class PartitionBoundSpecDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartitionBoundSpec> _instance;
} _PartitionBoundSpec_default_instance_;
class PartitionRangeDatumDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartitionRangeDatum> _instance;
} _PartitionRangeDatum_default_instance_;
class PartitionCmdDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartitionCmd> _instance;
} _PartitionCmd_default_instance_;
class VacuumRelationDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<VacuumRelation> _instance;
} _VacuumRelation_default_instance_;
class InlineCodeBlockDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<InlineCodeBlock> _instance;
} _InlineCodeBlock_default_instance_;
class CallContextDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CallContext> _instance;
} _CallContext_default_instance_;
class ScanTokenDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ScanToken> _instance;
} _ScanToken_default_instance_;
}  // namespace pg_query
static void InitDefaultsscc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_Node_default_instance_;
    new (ptr) ::pg_query::Node();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_List_default_instance_;
    new (ptr) ::pg_query::List();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_OidList_default_instance_;
    new (ptr) ::pg_query::OidList();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_IntList_default_instance_;
    new (ptr) ::pg_query::IntList();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_Alias_default_instance_;
    new (ptr) ::pg_query::Alias();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeVar_default_instance_;
    new (ptr) ::pg_query::RangeVar();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TableFunc_default_instance_;
    new (ptr) ::pg_query::TableFunc();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_Var_default_instance_;
    new (ptr) ::pg_query::Var();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_Param_default_instance_;
    new (ptr) ::pg_query::Param();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_Aggref_default_instance_;
    new (ptr) ::pg_query::Aggref();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_GroupingFunc_default_instance_;
    new (ptr) ::pg_query::GroupingFunc();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_WindowFunc_default_instance_;
    new (ptr) ::pg_query::WindowFunc();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SubscriptingRef_default_instance_;
    new (ptr) ::pg_query::SubscriptingRef();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_FuncExpr_default_instance_;
    new (ptr) ::pg_query::FuncExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_NamedArgExpr_default_instance_;
    new (ptr) ::pg_query::NamedArgExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_OpExpr_default_instance_;
    new (ptr) ::pg_query::OpExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DistinctExpr_default_instance_;
    new (ptr) ::pg_query::DistinctExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_NullIfExpr_default_instance_;
    new (ptr) ::pg_query::NullIfExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ScalarArrayOpExpr_default_instance_;
    new (ptr) ::pg_query::ScalarArrayOpExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_BoolExpr_default_instance_;
    new (ptr) ::pg_query::BoolExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SubLink_default_instance_;
    new (ptr) ::pg_query::SubLink();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SubPlan_default_instance_;
    new (ptr) ::pg_query::SubPlan();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlternativeSubPlan_default_instance_;
    new (ptr) ::pg_query::AlternativeSubPlan();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_FieldSelect_default_instance_;
    new (ptr) ::pg_query::FieldSelect();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_FieldStore_default_instance_;
    new (ptr) ::pg_query::FieldStore();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RelabelType_default_instance_;
    new (ptr) ::pg_query::RelabelType();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CoerceViaIO_default_instance_;
    new (ptr) ::pg_query::CoerceViaIO();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ArrayCoerceExpr_default_instance_;
    new (ptr) ::pg_query::ArrayCoerceExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ConvertRowtypeExpr_default_instance_;
    new (ptr) ::pg_query::ConvertRowtypeExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CollateExpr_default_instance_;
    new (ptr) ::pg_query::CollateExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CaseExpr_default_instance_;
    new (ptr) ::pg_query::CaseExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CaseWhen_default_instance_;
    new (ptr) ::pg_query::CaseWhen();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CaseTestExpr_default_instance_;
    new (ptr) ::pg_query::CaseTestExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ArrayExpr_default_instance_;
    new (ptr) ::pg_query::ArrayExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RowExpr_default_instance_;
    new (ptr) ::pg_query::RowExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RowCompareExpr_default_instance_;
    new (ptr) ::pg_query::RowCompareExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CoalesceExpr_default_instance_;
    new (ptr) ::pg_query::CoalesceExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_MinMaxExpr_default_instance_;
    new (ptr) ::pg_query::MinMaxExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SQLValueFunction_default_instance_;
    new (ptr) ::pg_query::SQLValueFunction();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_XmlExpr_default_instance_;
    new (ptr) ::pg_query::XmlExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_NullTest_default_instance_;
    new (ptr) ::pg_query::NullTest();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_BooleanTest_default_instance_;
    new (ptr) ::pg_query::BooleanTest();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CoerceToDomain_default_instance_;
    new (ptr) ::pg_query::CoerceToDomain();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CoerceToDomainValue_default_instance_;
    new (ptr) ::pg_query::CoerceToDomainValue();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SetToDefault_default_instance_;
    new (ptr) ::pg_query::SetToDefault();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CurrentOfExpr_default_instance_;
    new (ptr) ::pg_query::CurrentOfExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_NextValueExpr_default_instance_;
    new (ptr) ::pg_query::NextValueExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_InferenceElem_default_instance_;
    new (ptr) ::pg_query::InferenceElem();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TargetEntry_default_instance_;
    new (ptr) ::pg_query::TargetEntry();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_JoinExpr_default_instance_;
    new (ptr) ::pg_query::JoinExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_FromExpr_default_instance_;
    new (ptr) ::pg_query::FromExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_OnConflictExpr_default_instance_;
    new (ptr) ::pg_query::OnConflictExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_IntoClause_default_instance_;
    new (ptr) ::pg_query::IntoClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RawStmt_default_instance_;
    new (ptr) ::pg_query::RawStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_Query_default_instance_;
    new (ptr) ::pg_query::Query();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_InsertStmt_default_instance_;
    new (ptr) ::pg_query::InsertStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DeleteStmt_default_instance_;
    new (ptr) ::pg_query::DeleteStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_UpdateStmt_default_instance_;
    new (ptr) ::pg_query::UpdateStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SelectStmt_default_instance_;
    new (ptr) ::pg_query::SelectStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterTableStmt_default_instance_;
    new (ptr) ::pg_query::AlterTableStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterTableCmd_default_instance_;
    new (ptr) ::pg_query::AlterTableCmd();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterDomainStmt_default_instance_;
    new (ptr) ::pg_query::AlterDomainStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SetOperationStmt_default_instance_;
    new (ptr) ::pg_query::SetOperationStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_GrantStmt_default_instance_;
    new (ptr) ::pg_query::GrantStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_GrantRoleStmt_default_instance_;
    new (ptr) ::pg_query::GrantRoleStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterDefaultPrivilegesStmt_default_instance_;
    new (ptr) ::pg_query::AlterDefaultPrivilegesStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ClusterStmt_default_instance_;
    new (ptr) ::pg_query::ClusterStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CopyStmt_default_instance_;
    new (ptr) ::pg_query::CopyStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateStmt_default_instance_;
    new (ptr) ::pg_query::CreateStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DefineStmt_default_instance_;
    new (ptr) ::pg_query::DefineStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DropStmt_default_instance_;
    new (ptr) ::pg_query::DropStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TruncateStmt_default_instance_;
    new (ptr) ::pg_query::TruncateStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CommentStmt_default_instance_;
    new (ptr) ::pg_query::CommentStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_IndexStmt_default_instance_;
    new (ptr) ::pg_query::IndexStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateFunctionStmt_default_instance_;
    new (ptr) ::pg_query::CreateFunctionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterFunctionStmt_default_instance_;
    new (ptr) ::pg_query::AlterFunctionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DoStmt_default_instance_;
    new (ptr) ::pg_query::DoStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RenameStmt_default_instance_;
    new (ptr) ::pg_query::RenameStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RuleStmt_default_instance_;
    new (ptr) ::pg_query::RuleStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TransactionStmt_default_instance_;
    new (ptr) ::pg_query::TransactionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ViewStmt_default_instance_;
    new (ptr) ::pg_query::ViewStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateDomainStmt_default_instance_;
    new (ptr) ::pg_query::CreateDomainStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreatedbStmt_default_instance_;
    new (ptr) ::pg_query::CreatedbStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DropdbStmt_default_instance_;
    new (ptr) ::pg_query::DropdbStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_VacuumStmt_default_instance_;
    new (ptr) ::pg_query::VacuumStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ExplainStmt_default_instance_;
    new (ptr) ::pg_query::ExplainStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateTableAsStmt_default_instance_;
    new (ptr) ::pg_query::CreateTableAsStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateSeqStmt_default_instance_;
    new (ptr) ::pg_query::CreateSeqStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterSeqStmt_default_instance_;
    new (ptr) ::pg_query::AlterSeqStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_VariableSetStmt_default_instance_;
    new (ptr) ::pg_query::VariableSetStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateTrigStmt_default_instance_;
    new (ptr) ::pg_query::CreateTrigStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreatePLangStmt_default_instance_;
    new (ptr) ::pg_query::CreatePLangStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateRoleStmt_default_instance_;
    new (ptr) ::pg_query::CreateRoleStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterRoleStmt_default_instance_;
    new (ptr) ::pg_query::AlterRoleStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DropRoleStmt_default_instance_;
    new (ptr) ::pg_query::DropRoleStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_LockStmt_default_instance_;
    new (ptr) ::pg_query::LockStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ConstraintsSetStmt_default_instance_;
    new (ptr) ::pg_query::ConstraintsSetStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ReindexStmt_default_instance_;
    new (ptr) ::pg_query::ReindexStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateSchemaStmt_default_instance_;
    new (ptr) ::pg_query::CreateSchemaStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterDatabaseStmt_default_instance_;
    new (ptr) ::pg_query::AlterDatabaseStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterDatabaseSetStmt_default_instance_;
    new (ptr) ::pg_query::AlterDatabaseSetStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterRoleSetStmt_default_instance_;
    new (ptr) ::pg_query::AlterRoleSetStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateConversionStmt_default_instance_;
    new (ptr) ::pg_query::CreateConversionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateCastStmt_default_instance_;
    new (ptr) ::pg_query::CreateCastStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateOpClassStmt_default_instance_;
    new (ptr) ::pg_query::CreateOpClassStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateOpFamilyStmt_default_instance_;
    new (ptr) ::pg_query::CreateOpFamilyStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterOpFamilyStmt_default_instance_;
    new (ptr) ::pg_query::AlterOpFamilyStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_PrepareStmt_default_instance_;
    new (ptr) ::pg_query::PrepareStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ExecuteStmt_default_instance_;
    new (ptr) ::pg_query::ExecuteStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DeclareCursorStmt_default_instance_;
    new (ptr) ::pg_query::DeclareCursorStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateTableSpaceStmt_default_instance_;
    new (ptr) ::pg_query::CreateTableSpaceStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterObjectDependsStmt_default_instance_;
    new (ptr) ::pg_query::AlterObjectDependsStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterObjectSchemaStmt_default_instance_;
    new (ptr) ::pg_query::AlterObjectSchemaStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterOwnerStmt_default_instance_;
    new (ptr) ::pg_query::AlterOwnerStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterOperatorStmt_default_instance_;
    new (ptr) ::pg_query::AlterOperatorStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterTypeStmt_default_instance_;
    new (ptr) ::pg_query::AlterTypeStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DropOwnedStmt_default_instance_;
    new (ptr) ::pg_query::DropOwnedStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ReassignOwnedStmt_default_instance_;
    new (ptr) ::pg_query::ReassignOwnedStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CompositeTypeStmt_default_instance_;
    new (ptr) ::pg_query::CompositeTypeStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateEnumStmt_default_instance_;
    new (ptr) ::pg_query::CreateEnumStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateRangeStmt_default_instance_;
    new (ptr) ::pg_query::CreateRangeStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterEnumStmt_default_instance_;
    new (ptr) ::pg_query::AlterEnumStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterTSDictionaryStmt_default_instance_;
    new (ptr) ::pg_query::AlterTSDictionaryStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterTSConfigurationStmt_default_instance_;
    new (ptr) ::pg_query::AlterTSConfigurationStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateFdwStmt_default_instance_;
    new (ptr) ::pg_query::CreateFdwStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterFdwStmt_default_instance_;
    new (ptr) ::pg_query::AlterFdwStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateForeignServerStmt_default_instance_;
    new (ptr) ::pg_query::CreateForeignServerStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterForeignServerStmt_default_instance_;
    new (ptr) ::pg_query::AlterForeignServerStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateUserMappingStmt_default_instance_;
    new (ptr) ::pg_query::CreateUserMappingStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterUserMappingStmt_default_instance_;
    new (ptr) ::pg_query::AlterUserMappingStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterTableSpaceOptionsStmt_default_instance_;
    new (ptr) ::pg_query::AlterTableSpaceOptionsStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterTableMoveAllStmt_default_instance_;
    new (ptr) ::pg_query::AlterTableMoveAllStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SecLabelStmt_default_instance_;
    new (ptr) ::pg_query::SecLabelStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateForeignTableStmt_default_instance_;
    new (ptr) ::pg_query::CreateForeignTableStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ImportForeignSchemaStmt_default_instance_;
    new (ptr) ::pg_query::ImportForeignSchemaStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateExtensionStmt_default_instance_;
    new (ptr) ::pg_query::CreateExtensionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterExtensionStmt_default_instance_;
    new (ptr) ::pg_query::AlterExtensionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterExtensionContentsStmt_default_instance_;
    new (ptr) ::pg_query::AlterExtensionContentsStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateEventTrigStmt_default_instance_;
    new (ptr) ::pg_query::CreateEventTrigStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RefreshMatViewStmt_default_instance_;
    new (ptr) ::pg_query::RefreshMatViewStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterSystemStmt_default_instance_;
    new (ptr) ::pg_query::AlterSystemStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreatePolicyStmt_default_instance_;
    new (ptr) ::pg_query::CreatePolicyStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterPolicyStmt_default_instance_;
    new (ptr) ::pg_query::AlterPolicyStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateTransformStmt_default_instance_;
    new (ptr) ::pg_query::CreateTransformStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateAmStmt_default_instance_;
    new (ptr) ::pg_query::CreateAmStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreatePublicationStmt_default_instance_;
    new (ptr) ::pg_query::CreatePublicationStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterPublicationStmt_default_instance_;
    new (ptr) ::pg_query::AlterPublicationStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateSubscriptionStmt_default_instance_;
    new (ptr) ::pg_query::CreateSubscriptionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterSubscriptionStmt_default_instance_;
    new (ptr) ::pg_query::AlterSubscriptionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateStatsStmt_default_instance_;
    new (ptr) ::pg_query::CreateStatsStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterCollationStmt_default_instance_;
    new (ptr) ::pg_query::AlterCollationStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CallStmt_default_instance_;
    new (ptr) ::pg_query::CallStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AlterStatsStmt_default_instance_;
    new (ptr) ::pg_query::AlterStatsStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_A_Expr_default_instance_;
    new (ptr) ::pg_query::A_Expr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ColumnRef_default_instance_;
    new (ptr) ::pg_query::ColumnRef();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_A_Const_default_instance_;
    new (ptr) ::pg_query::A_Const();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_FuncCall_default_instance_;
    new (ptr) ::pg_query::FuncCall();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_A_Indices_default_instance_;
    new (ptr) ::pg_query::A_Indices();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_A_Indirection_default_instance_;
    new (ptr) ::pg_query::A_Indirection();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_A_ArrayExpr_default_instance_;
    new (ptr) ::pg_query::A_ArrayExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ResTarget_default_instance_;
    new (ptr) ::pg_query::ResTarget();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_MultiAssignRef_default_instance_;
    new (ptr) ::pg_query::MultiAssignRef();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TypeCast_default_instance_;
    new (ptr) ::pg_query::TypeCast();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CollateClause_default_instance_;
    new (ptr) ::pg_query::CollateClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_SortBy_default_instance_;
    new (ptr) ::pg_query::SortBy();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_WindowDef_default_instance_;
    new (ptr) ::pg_query::WindowDef();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeSubselect_default_instance_;
    new (ptr) ::pg_query::RangeSubselect();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeFunction_default_instance_;
    new (ptr) ::pg_query::RangeFunction();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeTableSample_default_instance_;
    new (ptr) ::pg_query::RangeTableSample();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeTableFunc_default_instance_;
    new (ptr) ::pg_query::RangeTableFunc();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeTableFuncCol_default_instance_;
    new (ptr) ::pg_query::RangeTableFuncCol();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TypeName_default_instance_;
    new (ptr) ::pg_query::TypeName();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ColumnDef_default_instance_;
    new (ptr) ::pg_query::ColumnDef();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_IndexElem_default_instance_;
    new (ptr) ::pg_query::IndexElem();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_Constraint_default_instance_;
    new (ptr) ::pg_query::Constraint();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_DefElem_default_instance_;
    new (ptr) ::pg_query::DefElem();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeTblEntry_default_instance_;
    new (ptr) ::pg_query::RangeTblEntry();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_RangeTblFunction_default_instance_;
    new (ptr) ::pg_query::RangeTblFunction();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TableSampleClause_default_instance_;
    new (ptr) ::pg_query::TableSampleClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_WithCheckOption_default_instance_;
    new (ptr) ::pg_query::WithCheckOption();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_GroupingSet_default_instance_;
    new (ptr) ::pg_query::GroupingSet();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_WindowClause_default_instance_;
    new (ptr) ::pg_query::WindowClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_ObjectWithArgs_default_instance_;
    new (ptr) ::pg_query::ObjectWithArgs();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_AccessPriv_default_instance_;
    new (ptr) ::pg_query::AccessPriv();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CreateOpClassItem_default_instance_;
    new (ptr) ::pg_query::CreateOpClassItem();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_TableLikeClause_default_instance_;
    new (ptr) ::pg_query::TableLikeClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_FunctionParameter_default_instance_;
    new (ptr) ::pg_query::FunctionParameter();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_LockingClause_default_instance_;
    new (ptr) ::pg_query::LockingClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_XmlSerialize_default_instance_;
    new (ptr) ::pg_query::XmlSerialize();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_WithClause_default_instance_;
    new (ptr) ::pg_query::WithClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_InferClause_default_instance_;
    new (ptr) ::pg_query::InferClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_OnConflictClause_default_instance_;
    new (ptr) ::pg_query::OnConflictClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_CommonTableExpr_default_instance_;
    new (ptr) ::pg_query::CommonTableExpr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_PartitionElem_default_instance_;
    new (ptr) ::pg_query::PartitionElem();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_PartitionSpec_default_instance_;
    new (ptr) ::pg_query::PartitionSpec();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_PartitionBoundSpec_default_instance_;
    new (ptr) ::pg_query::PartitionBoundSpec();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_PartitionRangeDatum_default_instance_;
    new (ptr) ::pg_query::PartitionRangeDatum();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_PartitionCmd_default_instance_;
    new (ptr) ::pg_query::PartitionCmd();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  {
    void* ptr = &::pg_query::_VacuumRelation_default_instance_;
    new (ptr) ::pg_query::VacuumRelation();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<30> scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 30, 0, InitDefaultsscc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto}, {
      &scc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_Expr_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_RangeTblRef_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_DiscardStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_CheckPointStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_ParamRef_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_A_Star_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_SortGroupClause_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_RowMarkClause_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_CallContext_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_Integer_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_Float_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_String_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_BitString_protobuf_2fpg_5fquery_2eproto.base,
      &scc_info_Null_protobuf_2fpg_5fquery_2eproto.base,}};

static void InitDefaultsscc_info_A_Star_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_A_Star_default_instance_;
    new (ptr) ::pg_query::A_Star();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_A_Star_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_A_Star_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_AlterEventTrigStmt_default_instance_;
    new (ptr) ::pg_query::AlterEventTrigStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_BitString_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_BitString_default_instance_;
    new (ptr) ::pg_query::BitString();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_BitString_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_BitString_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_Bitmapset_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_Bitmapset_default_instance_;
    new (ptr) ::pg_query::Bitmapset();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Bitmapset_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Bitmapset_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_CallContext_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_CallContext_default_instance_;
    new (ptr) ::pg_query::CallContext();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CallContext_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_CallContext_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_CheckPointStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_CheckPointStmt_default_instance_;
    new (ptr) ::pg_query::CheckPointStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CheckPointStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_CheckPointStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_ClosePortalStmt_default_instance_;
    new (ptr) ::pg_query::ClosePortalStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_DeallocateStmt_default_instance_;
    new (ptr) ::pg_query::DeallocateStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_DiscardStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_DiscardStmt_default_instance_;
    new (ptr) ::pg_query::DiscardStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DiscardStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_DiscardStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_DropSubscriptionStmt_default_instance_;
    new (ptr) ::pg_query::DropSubscriptionStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_DropTableSpaceStmt_default_instance_;
    new (ptr) ::pg_query::DropTableSpaceStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_DropUserMappingStmt_default_instance_;
    new (ptr) ::pg_query::DropUserMappingStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto}, {
      &scc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto.base,}};

static void InitDefaultsscc_info_Expr_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_Expr_default_instance_;
    new (ptr) ::pg_query::Expr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Expr_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Expr_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_FetchStmt_default_instance_;
    new (ptr) ::pg_query::FetchStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_Float_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_Float_default_instance_;
    new (ptr) ::pg_query::Float();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Float_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Float_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_InlineCodeBlock_default_instance_;
    new (ptr) ::pg_query::InlineCodeBlock();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_Integer_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_Integer_default_instance_;
    new (ptr) ::pg_query::Integer();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Integer_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Integer_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_ListenStmt_default_instance_;
    new (ptr) ::pg_query::ListenStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_LoadStmt_default_instance_;
    new (ptr) ::pg_query::LoadStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_NotifyStmt_default_instance_;
    new (ptr) ::pg_query::NotifyStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_Null_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_Null_default_instance_;
    new (ptr) ::pg_query::Null();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Null_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Null_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_ParamRef_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_ParamRef_default_instance_;
    new (ptr) ::pg_query::ParamRef();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ParamRef_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ParamRef_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_ParseResult_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_ParseResult_default_instance_;
    new (ptr) ::pg_query::ParseResult();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ParseResult_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_ParseResult_protobuf_2fpg_5fquery_2eproto}, {
      &scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base,}};

static void InitDefaultsscc_info_RangeTblRef_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_RangeTblRef_default_instance_;
    new (ptr) ::pg_query::RangeTblRef();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RangeTblRef_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_RangeTblRef_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_ReplicaIdentityStmt_default_instance_;
    new (ptr) ::pg_query::ReplicaIdentityStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_RoleSpec_default_instance_;
    new (ptr) ::pg_query::RoleSpec();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_RowMarkClause_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_RowMarkClause_default_instance_;
    new (ptr) ::pg_query::RowMarkClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RowMarkClause_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_RowMarkClause_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_ScanResult_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_ScanResult_default_instance_;
    new (ptr) ::pg_query::ScanResult();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ScanResult_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_ScanResult_protobuf_2fpg_5fquery_2eproto}, {
      &scc_info_ScanToken_protobuf_2fpg_5fquery_2eproto.base,}};

static void InitDefaultsscc_info_ScanToken_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_ScanToken_default_instance_;
    new (ptr) ::pg_query::ScanToken();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ScanToken_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ScanToken_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_SortGroupClause_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_SortGroupClause_default_instance_;
    new (ptr) ::pg_query::SortGroupClause();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SortGroupClause_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_SortGroupClause_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_String_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_String_default_instance_;
    new (ptr) ::pg_query::String();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_String_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_String_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_TriggerTransition_default_instance_;
    new (ptr) ::pg_query::TriggerTransition();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_UnlistenStmt_default_instance_;
    new (ptr) ::pg_query::UnlistenStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static void InitDefaultsscc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::pg_query::_VariableShowStmt_default_instance_;
    new (ptr) ::pg_query::VariableShowStmt();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto}, {}};

static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_protobuf_2fpg_5fquery_2eproto[233];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[57];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_protobuf_2fpg_5fquery_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_protobuf_2fpg_5fquery_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, stmts_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, tokens_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Node, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::pg_query::Node, _oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
  PROTOBUF_FIELD_OFFSET(::pg_query::Node, node_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Integer, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Integer, ival_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Float, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Float, str_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::String, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::String, str_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::BitString, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::BitString, str_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Null, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::List, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::List, items_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::OidList, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::OidList, items_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::IntList, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::IntList, items_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Bitmapset, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Bitmapset, words_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Alias, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Alias, aliasname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Alias, colnames_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, catalogname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, schemaname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, relname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, inh_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, relpersistence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, ns_uris_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, ns_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, docexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, rowexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, colnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, coltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, coltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, colcollations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, colexprs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, coldefexprs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, ordinalitycol_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Expr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, varno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, varattno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, vartype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, vartypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, varcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, varlevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, varnosyn_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, varattnosyn_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, paramkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, paramid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, paramtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, paramtypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, paramcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggfnoid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggtranstype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggargtypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggdirectargs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggorder_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggdistinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggfilter_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggstar_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggvariadic_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, agglevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, aggsplit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, refs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, agglevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, winfnoid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, wintype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, wincollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, aggfilter_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, winref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, winstar_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, winagg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, refcontainertype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, refelemtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, reftypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, refcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, refupperindexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, reflowerindexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, refexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, refassgnexpr_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, funcid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, funcresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, funcretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, funcvariadic_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, funcformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, funccollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, argnumber_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, opresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, opretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, opcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, opresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, opretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, opcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, opresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, opretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, opcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, use_or_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, boolop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, sub_link_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, sub_link_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, testexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, oper_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, subselect_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, sub_link_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, testexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, param_ids_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, plan_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, plan_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, first_col_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, first_col_typmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, first_col_collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, use_hash_table_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, unknown_eq_false_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, parallel_safe_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, set_param_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, par_param_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, startup_cost_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, per_call_cost_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, subplans_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, fieldnum_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, resultcollid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, newvals_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, fieldnums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, resulttype_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, relabelformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, coerceformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, elemexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, coerceformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, convertformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, coll_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, casetype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, casecollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, defresult_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, result_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, type_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, type_mod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, collation_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, array_typeid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, array_collid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, element_typeid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, elements_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, multidims_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, row_typeid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, row_format_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, colnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, rctype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, opnos_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, opfamilies_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, inputcollids_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, largs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, rargs_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, coalescetype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, coalescecollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, minmaxtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, minmaxcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, typmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, named_args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, arg_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, xmloption_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, typmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, nulltesttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, argisrow_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, booltesttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, coercionformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, type_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, type_mod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, type_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, type_mod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, cvarno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, cursor_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, cursor_param_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, seqid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, type_id_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, infercollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, inferopclass_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, resno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, resname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, ressortgroupref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, resorigtbl_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, resorigcol_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, resjunk_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblRef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblRef, rtindex_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, jointype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, is_natural_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, larg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, rarg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, using_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, quals_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, rtindex_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, fromlist_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, quals_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, arbiter_elems_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, arbiter_where_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, constraint_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, on_conflict_set_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, on_conflict_where_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, excl_rel_index_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, excl_rel_tlist_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, rel_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, col_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, on_commit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, table_space_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, view_query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, skip_data_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, stmt_location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, stmt_len_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, command_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, query_source_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, can_set_tag_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, utility_stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, result_relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_aggs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_window_funcs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_target_srfs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_sub_links_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_distinct_on_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_recursive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_modifying_cte_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_for_update_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, has_row_security_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, cte_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, rtable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, jointree_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, override_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, on_conflict_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, group_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, grouping_sets_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, having_qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, window_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, distinct_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, sort_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, limit_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, limit_count_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, limit_option_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, row_marks_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, set_operations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, constraint_deps_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, with_check_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, stmt_location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, stmt_len_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, select_stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, on_conflict_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, with_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, override_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, using_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, with_clause_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, from_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, with_clause_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, distinct_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, into_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, from_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, group_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, having_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, window_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, values_lists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, sort_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, limit_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, limit_count_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, limit_option_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, locking_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, with_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, all_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, larg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, rarg_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, cmds_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, relkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, subtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, num_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, newowner_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, def_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, subtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, def_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, all_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, larg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, rarg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, col_types_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, col_typmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, col_collations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, group_clauses_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, is_grant_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, targtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, objects_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, privileges_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, grantees_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, grant_option_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, behavior_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, granted_roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, grantee_roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, is_grant_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, admin_opt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, grantor_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, behavior_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, action_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ClosePortalStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ClosePortalStmt, portalname_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, indexname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, attlist_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, is_from_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, is_program_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, filename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, where_clause_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, table_elts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, inh_relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, partbound_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, partspec_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, of_typename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, constraints_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, oncommit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, if_not_exists_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, oldstyle_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, defnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, definition_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, replace_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, objects_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, remove_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, missing_ok_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, concurrent_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, restart_seqs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, behavior_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, comment_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, direction_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, how_many_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, portalname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, ismove_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, idxname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, table_space_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, index_params_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, index_including_params_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, exclude_op_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, idxcomment_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, index_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, old_node_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, old_create_subid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, old_first_relfilenode_subid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, unique_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, primary_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, isconstraint_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, deferrable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, initdeferred_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, transformed_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, concurrent_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, reset_default_tblspc_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, is_procedure_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, funcname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, parameters_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, return_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, actions_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DoStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DoStmt, args_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, rename_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, relation_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, newname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, rulename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, event_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, instead_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, actions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, replace_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, conditionname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, payload_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ListenStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ListenStmt, conditionname_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::UnlistenStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::UnlistenStmt, conditionname_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, savepoint_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, gid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, chain_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, view_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, aliases_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, with_check_option_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::LoadStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::LoadStmt, filename_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, domainname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, coll_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, constraints_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, missing_ok_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, rels_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, is_vacuumcmd_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, into_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, relkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, is_select_into_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, if_not_exists_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, sequence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, owner_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, for_identity_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, if_not_exists_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, sequence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, for_identity_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, is_local_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableShowStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableShowStmt, name_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DiscardStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DiscardStmt, target_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, trigname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, funcname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, row_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, timing_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, events_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, columns_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, when_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, isconstraint_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, transition_rels_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, deferrable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, initdeferred_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, constrrel_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, plname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, plhandler_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, plinline_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, plvalidator_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, pltrusted_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, stmt_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, role_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, role_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, action_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, mode_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, nowait_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, constraints_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, deferred_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, concurrent_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CheckPointStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, schemaname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, authrole_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, schema_elts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, if_not_exists_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, setstmt_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, role_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, database_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, setstmt_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, conversion_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, for_encoding_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, to_encoding_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, func_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, def_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, sourcetype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, targettype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, context_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, inout_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, opclassname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, opfamilyname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, amname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, datatype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, items_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, is_default_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, opfamilyname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, amname_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, opfamilyname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, amname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, is_drop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, items_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, argtypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, query_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, params_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeallocateStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeallocateStmt, name_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, portalname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, query_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, owner_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, object_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, remove_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, object_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, newschema_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, object_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, newowner_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, opername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, behavior_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, newrole_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, typevar_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, coldeflist_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, vals_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, params_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, old_val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, new_val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, new_val_neighbor_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, new_val_is_after_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, skip_if_new_val_exists_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, dictname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, cfgname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, tokentype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, dicts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, override_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, fdwname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, func_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, fdwname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, func_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, servertype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, fdwname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, has_version_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, is_reset_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, orig_tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, new_tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, nowait_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, provider_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, label_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, base_stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, server_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, remote_schema_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, local_schema_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, list_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, table_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, object_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, trigname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, eventname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, whenclause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, funcname_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, trigname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, tgenabled_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, concurrent_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, skip_data_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, relation_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, identity_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, name_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSystemStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSystemStmt, setstmt_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, policy_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, table_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, cmd_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, permissive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, with_check_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, policy_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, table_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, with_check_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, lang_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, fromsql_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, tosql_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, amname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, handler_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, amtype_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, pubname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, tables_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, for_all_tables_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, pubname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, tables_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, for_all_tables_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, table_action_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, conninfo_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, publication_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, conninfo_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, publication_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, missing_ok_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, behavior_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, defnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, stat_types_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, exprs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, stxcomment_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, if_not_exists_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterCollationStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterCollationStmt, collname_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, funccall_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, funcexpr_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, defnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, stxstattarget_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, missing_ok_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, lexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, rexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, fields_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, number_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, funcname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, agg_order_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, agg_filter_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, agg_within_group_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, agg_star_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, agg_distinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, func_variadic_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, over_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Star, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, is_slice_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, lidx_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, uidx_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, indirection_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, elements_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, indirection_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, source_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, colno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, ncolumns_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, collname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, node_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, sortby_dir_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, sortby_nulls_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, use_op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, refname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, partition_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, order_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, frame_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, start_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, end_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, subquery_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, alias_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, ordinality_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, is_rowsfrom_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, functions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, coldeflist_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, repeatable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, docexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, rowexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, namespaces_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, columns_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, colname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, for_ordinality_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, is_not_null_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, colexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, coldefexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, type_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, setof_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, pct_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, typmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, typemod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, array_bounds_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, colname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, inhcount_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, is_local_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, is_not_null_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, is_from_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, storage_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, raw_default_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, cooked_default_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, identity_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, identity_sequence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, generated_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, coll_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, coll_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, constraints_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, fdwoptions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, indexcolname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, opclass_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, opclassopts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, ordering_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, nulls_ordering_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, contype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, conname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, deferrable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, initdeferred_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, is_no_inherit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, raw_expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, cooked_expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, generated_when_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, keys_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, including_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, exclusions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, indexname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, indexspace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, reset_default_tblspc_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, pktable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, fk_attrs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, pk_attrs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, fk_matchtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, fk_upd_action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, fk_del_action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, old_conpfeqop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, old_pktable_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, skip_validation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, initially_valid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, defnamespace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, defname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, defaction_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, rtekind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, relid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, relkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, rellockmode_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, tablesample_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, subquery_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, security_barrier_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, jointype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, joinmergedcols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, joinaliasvars_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, joinleftcols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, joinrightcols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, functions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, funcordinality_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, tablefunc_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, values_lists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, ctename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, ctelevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, self_reference_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, coltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, coltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, colcollations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, enrname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, enrtuples_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, eref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, inh_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, in_from_cl_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, required_perms_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, check_as_user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, security_quals_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, funcexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, funccolcount_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, funccolnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, funccoltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, funccoltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, funccolcollations_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, tsmhandler_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, repeatable_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, relname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, polname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, cascaded_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, tle_sort_group_ref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, eqop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, sortop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, nulls_first_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, hashable_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, content_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, refname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, partition_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, order_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, frame_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, start_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, end_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, start_in_range_func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, end_in_range_func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, in_range_coll_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, in_range_asc_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, in_range_nulls_first_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, winref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, copied_order_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, objname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, objargs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, args_unspecified_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, priv_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, cols_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, itemtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, number_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, order_family_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, class_args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, storedtype_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, arg_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, mode_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, defexpr_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, locked_rels_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, strength_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, wait_policy_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, rti_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, strength_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, wait_policy_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, pushed_down_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, xmloption_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, ctes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, recursive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, index_elems_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, conname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, infer_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, ctename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, aliascolnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, ctematerialized_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, ctequery_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, cterecursive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, cterefcount_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, ctecolnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, ctecoltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, ctecoltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, ctecolcollations_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, roletype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, rolename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, is_new_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, is_table_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, opclass_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, strategy_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, part_params_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, strategy_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, is_default_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, modulus_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, remainder_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, listdatums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, lowerdatums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, upperdatums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, value_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, bound_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, va_cols_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, source_text_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, lang_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, lang_is_trusted_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, atomic_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CallContext, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::CallContext, atomic_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, start_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, end_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, token_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, keyword_kind_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, sizeof(::pg_query::ParseResult)},
  { 7, -1, sizeof(::pg_query::ScanResult)},
  { 14, -1, sizeof(::pg_query::Node)},
  { 248, -1, sizeof(::pg_query::Integer)},
  { 254, -1, sizeof(::pg_query::Float)},
  { 260, -1, sizeof(::pg_query::String)},
  { 266, -1, sizeof(::pg_query::BitString)},
  { 272, -1, sizeof(::pg_query::Null)},
  { 277, -1, sizeof(::pg_query::List)},
  { 283, -1, sizeof(::pg_query::OidList)},
  { 289, -1, sizeof(::pg_query::IntList)},
  { 295, -1, sizeof(::pg_query::Bitmapset)},
  { 301, -1, sizeof(::pg_query::Alias)},
  { 308, -1, sizeof(::pg_query::RangeVar)},
  { 320, -1, sizeof(::pg_query::TableFunc)},
  { 337, -1, sizeof(::pg_query::Expr)},
  { 342, -1, sizeof(::pg_query::Var)},
  { 357, -1, sizeof(::pg_query::Param)},
  { 369, -1, sizeof(::pg_query::Aggref)},
  { 392, -1, sizeof(::pg_query::GroupingFunc)},
  { 403, -1, sizeof(::pg_query::WindowFunc)},
  { 419, -1, sizeof(::pg_query::SubscriptingRef)},
  { 433, -1, sizeof(::pg_query::FuncExpr)},
  { 448, -1, sizeof(::pg_query::NamedArgExpr)},
  { 458, -1, sizeof(::pg_query::OpExpr)},
  { 472, -1, sizeof(::pg_query::DistinctExpr)},
  { 486, -1, sizeof(::pg_query::NullIfExpr)},
  { 500, -1, sizeof(::pg_query::ScalarArrayOpExpr)},
  { 512, -1, sizeof(::pg_query::BoolExpr)},
  { 521, -1, sizeof(::pg_query::SubLink)},
  { 533, -1, sizeof(::pg_query::SubPlan)},
  { 555, -1, sizeof(::pg_query::AlternativeSubPlan)},
  { 562, -1, sizeof(::pg_query::FieldSelect)},
  { 573, -1, sizeof(::pg_query::FieldStore)},
  { 583, -1, sizeof(::pg_query::RelabelType)},
  { 595, -1, sizeof(::pg_query::CoerceViaIO)},
  { 606, -1, sizeof(::pg_query::ArrayCoerceExpr)},
  { 619, -1, sizeof(::pg_query::ConvertRowtypeExpr)},
  { 629, -1, sizeof(::pg_query::CollateExpr)},
  { 638, -1, sizeof(::pg_query::CaseExpr)},
  { 650, -1, sizeof(::pg_query::CaseWhen)},
  { 659, -1, sizeof(::pg_query::CaseTestExpr)},
  { 668, -1, sizeof(::pg_query::ArrayExpr)},
  { 680, -1, sizeof(::pg_query::RowExpr)},
  { 691, -1, sizeof(::pg_query::RowCompareExpr)},
  { 703, -1, sizeof(::pg_query::CoalesceExpr)},
  { 713, -1, sizeof(::pg_query::MinMaxExpr)},
  { 725, -1, sizeof(::pg_query::SQLValueFunction)},
  { 735, -1, sizeof(::pg_query::XmlExpr)},
  { 750, -1, sizeof(::pg_query::NullTest)},
  { 760, -1, sizeof(::pg_query::BooleanTest)},
  { 769, -1, sizeof(::pg_query::CoerceToDomain)},
  { 781, -1, sizeof(::pg_query::CoerceToDomainValue)},
  { 791, -1, sizeof(::pg_query::SetToDefault)},
  { 801, -1, sizeof(::pg_query::CurrentOfExpr)},
  { 810, -1, sizeof(::pg_query::NextValueExpr)},
  { 818, -1, sizeof(::pg_query::InferenceElem)},
  { 827, -1, sizeof(::pg_query::TargetEntry)},
  { 840, -1, sizeof(::pg_query::RangeTblRef)},
  { 846, -1, sizeof(::pg_query::JoinExpr)},
  { 859, -1, sizeof(::pg_query::FromExpr)},
  { 866, -1, sizeof(::pg_query::OnConflictExpr)},
  { 879, -1, sizeof(::pg_query::IntoClause)},
  { 892, -1, sizeof(::pg_query::RawStmt)},
  { 900, -1, sizeof(::pg_query::Query)},
  { 941, -1, sizeof(::pg_query::InsertStmt)},
  { 953, -1, sizeof(::pg_query::DeleteStmt)},
  { 963, -1, sizeof(::pg_query::UpdateStmt)},
  { 974, -1, sizeof(::pg_query::SelectStmt)},
  { 998, -1, sizeof(::pg_query::AlterTableStmt)},
  { 1007, -1, sizeof(::pg_query::AlterTableCmd)},
  { 1019, -1, sizeof(::pg_query::AlterDomainStmt)},
  { 1030, -1, sizeof(::pg_query::SetOperationStmt)},
  { 1043, -1, sizeof(::pg_query::GrantStmt)},
  { 1056, -1, sizeof(::pg_query::GrantRoleStmt)},
  { 1067, -1, sizeof(::pg_query::AlterDefaultPrivilegesStmt)},
  { 1074, -1, sizeof(::pg_query::ClosePortalStmt)},
  { 1080, -1, sizeof(::pg_query::ClusterStmt)},
  { 1088, -1, sizeof(::pg_query::CopyStmt)},
  { 1101, -1, sizeof(::pg_query::CreateStmt)},
  { 1118, -1, sizeof(::pg_query::DefineStmt)},
  { 1130, -1, sizeof(::pg_query::DropStmt)},
  { 1140, -1, sizeof(::pg_query::TruncateStmt)},
  { 1148, -1, sizeof(::pg_query::CommentStmt)},
  { 1156, -1, sizeof(::pg_query::FetchStmt)},
  { 1165, -1, sizeof(::pg_query::IndexStmt)},
  { 1193, -1, sizeof(::pg_query::CreateFunctionStmt)},
  { 1204, -1, sizeof(::pg_query::AlterFunctionStmt)},
  { 1212, -1, sizeof(::pg_query::DoStmt)},
  { 1218, -1, sizeof(::pg_query::RenameStmt)},
  { 1231, -1, sizeof(::pg_query::RuleStmt)},
  { 1243, -1, sizeof(::pg_query::NotifyStmt)},
  { 1250, -1, sizeof(::pg_query::ListenStmt)},
  { 1256, -1, sizeof(::pg_query::UnlistenStmt)},
  { 1262, -1, sizeof(::pg_query::TransactionStmt)},
  { 1272, -1, sizeof(::pg_query::ViewStmt)},
  { 1283, -1, sizeof(::pg_query::LoadStmt)},
  { 1289, -1, sizeof(::pg_query::CreateDomainStmt)},
  { 1298, -1, sizeof(::pg_query::CreatedbStmt)},
  { 1305, -1, sizeof(::pg_query::DropdbStmt)},
  { 1313, -1, sizeof(::pg_query::VacuumStmt)},
  { 1321, -1, sizeof(::pg_query::ExplainStmt)},
  { 1328, -1, sizeof(::pg_query::CreateTableAsStmt)},
  { 1338, -1, sizeof(::pg_query::CreateSeqStmt)},
  { 1348, -1, sizeof(::pg_query::AlterSeqStmt)},
  { 1357, -1, sizeof(::pg_query::VariableSetStmt)},
  { 1366, -1, sizeof(::pg_query::VariableShowStmt)},
  { 1372, -1, sizeof(::pg_query::DiscardStmt)},
  { 1378, -1, sizeof(::pg_query::CreateTrigStmt)},
  { 1397, -1, sizeof(::pg_query::CreatePLangStmt)},
  { 1408, -1, sizeof(::pg_query::CreateRoleStmt)},
  { 1416, -1, sizeof(::pg_query::AlterRoleStmt)},
  { 1424, -1, sizeof(::pg_query::DropRoleStmt)},
  { 1431, -1, sizeof(::pg_query::LockStmt)},
  { 1439, -1, sizeof(::pg_query::ConstraintsSetStmt)},
  { 1446, -1, sizeof(::pg_query::ReindexStmt)},
  { 1456, -1, sizeof(::pg_query::CheckPointStmt)},
  { 1461, -1, sizeof(::pg_query::CreateSchemaStmt)},
  { 1470, -1, sizeof(::pg_query::AlterDatabaseStmt)},
  { 1477, -1, sizeof(::pg_query::AlterDatabaseSetStmt)},
  { 1484, -1, sizeof(::pg_query::AlterRoleSetStmt)},
  { 1492, -1, sizeof(::pg_query::CreateConversionStmt)},
  { 1502, -1, sizeof(::pg_query::CreateCastStmt)},
  { 1512, -1, sizeof(::pg_query::CreateOpClassStmt)},
  { 1523, -1, sizeof(::pg_query::CreateOpFamilyStmt)},
  { 1530, -1, sizeof(::pg_query::AlterOpFamilyStmt)},
  { 1539, -1, sizeof(::pg_query::PrepareStmt)},
  { 1547, -1, sizeof(::pg_query::ExecuteStmt)},
  { 1554, -1, sizeof(::pg_query::DeallocateStmt)},
  { 1560, -1, sizeof(::pg_query::DeclareCursorStmt)},
  { 1568, -1, sizeof(::pg_query::CreateTableSpaceStmt)},
  { 1577, -1, sizeof(::pg_query::DropTableSpaceStmt)},
  { 1584, -1, sizeof(::pg_query::AlterObjectDependsStmt)},
  { 1594, -1, sizeof(::pg_query::AlterObjectSchemaStmt)},
  { 1604, -1, sizeof(::pg_query::AlterOwnerStmt)},
  { 1613, -1, sizeof(::pg_query::AlterOperatorStmt)},
  { 1620, -1, sizeof(::pg_query::AlterTypeStmt)},
  { 1627, -1, sizeof(::pg_query::DropOwnedStmt)},
  { 1634, -1, sizeof(::pg_query::ReassignOwnedStmt)},
  { 1641, -1, sizeof(::pg_query::CompositeTypeStmt)},
  { 1648, -1, sizeof(::pg_query::CreateEnumStmt)},
  { 1655, -1, sizeof(::pg_query::CreateRangeStmt)},
  { 1662, -1, sizeof(::pg_query::AlterEnumStmt)},
  { 1673, -1, sizeof(::pg_query::AlterTSDictionaryStmt)},
  { 1680, -1, sizeof(::pg_query::AlterTSConfigurationStmt)},
  { 1692, -1, sizeof(::pg_query::CreateFdwStmt)},
  { 1700, -1, sizeof(::pg_query::AlterFdwStmt)},
  { 1708, -1, sizeof(::pg_query::CreateForeignServerStmt)},
  { 1719, -1, sizeof(::pg_query::AlterForeignServerStmt)},
  { 1728, -1, sizeof(::pg_query::CreateUserMappingStmt)},
  { 1737, -1, sizeof(::pg_query::AlterUserMappingStmt)},
  { 1745, -1, sizeof(::pg_query::DropUserMappingStmt)},
  { 1753, -1, sizeof(::pg_query::AlterTableSpaceOptionsStmt)},
  { 1761, -1, sizeof(::pg_query::AlterTableMoveAllStmt)},
  { 1771, -1, sizeof(::pg_query::SecLabelStmt)},
  { 1780, -1, sizeof(::pg_query::CreateForeignTableStmt)},
  { 1788, -1, sizeof(::pg_query::ImportForeignSchemaStmt)},
  { 1799, -1, sizeof(::pg_query::CreateExtensionStmt)},
  { 1807, -1, sizeof(::pg_query::AlterExtensionStmt)},
  { 1814, -1, sizeof(::pg_query::AlterExtensionContentsStmt)},
  { 1823, -1, sizeof(::pg_query::CreateEventTrigStmt)},
  { 1832, -1, sizeof(::pg_query::AlterEventTrigStmt)},
  { 1839, -1, sizeof(::pg_query::RefreshMatViewStmt)},
  { 1847, -1, sizeof(::pg_query::ReplicaIdentityStmt)},
  { 1854, -1, sizeof(::pg_query::AlterSystemStmt)},
  { 1860, -1, sizeof(::pg_query::CreatePolicyStmt)},
  { 1872, -1, sizeof(::pg_query::AlterPolicyStmt)},
  { 1882, -1, sizeof(::pg_query::CreateTransformStmt)},
  { 1892, -1, sizeof(::pg_query::CreateAmStmt)},
  { 1900, -1, sizeof(::pg_query::CreatePublicationStmt)},
  { 1909, -1, sizeof(::pg_query::AlterPublicationStmt)},
  { 1919, -1, sizeof(::pg_query::CreateSubscriptionStmt)},
  { 1928, -1, sizeof(::pg_query::AlterSubscriptionStmt)},
  { 1938, -1, sizeof(::pg_query::DropSubscriptionStmt)},
  { 1946, -1, sizeof(::pg_query::CreateStatsStmt)},
  { 1957, -1, sizeof(::pg_query::AlterCollationStmt)},
  { 1963, -1, sizeof(::pg_query::CallStmt)},
  { 1970, -1, sizeof(::pg_query::AlterStatsStmt)},
  { 1978, -1, sizeof(::pg_query::A_Expr)},
  { 1988, -1, sizeof(::pg_query::ColumnRef)},
  { 1995, -1, sizeof(::pg_query::ParamRef)},
  { 2002, -1, sizeof(::pg_query::A_Const)},
  { 2009, -1, sizeof(::pg_query::FuncCall)},
  { 2024, -1, sizeof(::pg_query::A_Star)},
  { 2029, -1, sizeof(::pg_query::A_Indices)},
  { 2037, -1, sizeof(::pg_query::A_Indirection)},
  { 2044, -1, sizeof(::pg_query::A_ArrayExpr)},
  { 2051, -1, sizeof(::pg_query::ResTarget)},
  { 2060, -1, sizeof(::pg_query::MultiAssignRef)},
  { 2068, -1, sizeof(::pg_query::TypeCast)},
  { 2076, -1, sizeof(::pg_query::CollateClause)},
  { 2084, -1, sizeof(::pg_query::SortBy)},
  { 2094, -1, sizeof(::pg_query::WindowDef)},
  { 2107, -1, sizeof(::pg_query::RangeSubselect)},
  { 2115, -1, sizeof(::pg_query::RangeFunction)},
  { 2126, -1, sizeof(::pg_query::RangeTableSample)},
  { 2136, -1, sizeof(::pg_query::RangeTableFunc)},
  { 2148, -1, sizeof(::pg_query::RangeTableFuncCol)},
  { 2160, -1, sizeof(::pg_query::TypeName)},
  { 2173, -1, sizeof(::pg_query::ColumnDef)},
  { 2195, -1, sizeof(::pg_query::IndexElem)},
  { 2208, -1, sizeof(::pg_query::Constraint)},
  { 2241, -1, sizeof(::pg_query::DefElem)},
  { 2251, -1, sizeof(::pg_query::RangeTblEntry)},
  { 2288, -1, sizeof(::pg_query::RangeTblFunction)},
  { 2299, -1, sizeof(::pg_query::TableSampleClause)},
  { 2307, -1, sizeof(::pg_query::WithCheckOption)},
  { 2317, -1, sizeof(::pg_query::SortGroupClause)},
  { 2327, -1, sizeof(::pg_query::GroupingSet)},
  { 2335, -1, sizeof(::pg_query::WindowClause)},
  { 2354, -1, sizeof(::pg_query::ObjectWithArgs)},
  { 2362, -1, sizeof(::pg_query::AccessPriv)},
  { 2369, -1, sizeof(::pg_query::CreateOpClassItem)},
  { 2380, -1, sizeof(::pg_query::TableLikeClause)},
  { 2387, -1, sizeof(::pg_query::FunctionParameter)},
  { 2396, -1, sizeof(::pg_query::LockingClause)},
  { 2404, -1, sizeof(::pg_query::RowMarkClause)},
  { 2413, -1, sizeof(::pg_query::XmlSerialize)},
  { 2422, -1, sizeof(::pg_query::WithClause)},
  { 2430, -1, sizeof(::pg_query::InferClause)},
  { 2439, -1, sizeof(::pg_query::OnConflictClause)},
  { 2449, -1, sizeof(::pg_query::CommonTableExpr)},
  { 2465, -1, sizeof(::pg_query::RoleSpec)},
  { 2473, -1, sizeof(::pg_query::TriggerTransition)},
  { 2481, -1, sizeof(::pg_query::PartitionElem)},
  { 2491, -1, sizeof(::pg_query::PartitionSpec)},
  { 2499, -1, sizeof(::pg_query::PartitionBoundSpec)},
  { 2512, -1, sizeof(::pg_query::PartitionRangeDatum)},
  { 2520, -1, sizeof(::pg_query::PartitionCmd)},
  { 2527, -1, sizeof(::pg_query::VacuumRelation)},
  { 2535, -1, sizeof(::pg_query::InlineCodeBlock)},
  { 2544, -1, sizeof(::pg_query::CallContext)},
  { 2550, -1, sizeof(::pg_query::ScanToken)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ParseResult_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ScanResult_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Node_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Integer_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Float_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_String_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_BitString_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Null_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_List_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_OidList_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_IntList_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Bitmapset_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Alias_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeVar_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TableFunc_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Expr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Var_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Param_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Aggref_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_GroupingFunc_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_WindowFunc_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SubscriptingRef_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_FuncExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_NamedArgExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_OpExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DistinctExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_NullIfExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ScalarArrayOpExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_BoolExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SubLink_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SubPlan_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlternativeSubPlan_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_FieldSelect_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_FieldStore_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RelabelType_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CoerceViaIO_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ArrayCoerceExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ConvertRowtypeExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CollateExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CaseExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CaseWhen_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CaseTestExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ArrayExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RowExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RowCompareExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CoalesceExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_MinMaxExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SQLValueFunction_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_XmlExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_NullTest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_BooleanTest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CoerceToDomain_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CoerceToDomainValue_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SetToDefault_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CurrentOfExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_NextValueExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_InferenceElem_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TargetEntry_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeTblRef_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_JoinExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_FromExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_OnConflictExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_IntoClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RawStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Query_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_InsertStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DeleteStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_UpdateStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SelectStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterTableStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterTableCmd_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterDomainStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SetOperationStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_GrantStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_GrantRoleStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterDefaultPrivilegesStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ClosePortalStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ClusterStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CopyStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DefineStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DropStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TruncateStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CommentStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_FetchStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_IndexStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateFunctionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterFunctionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DoStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RenameStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RuleStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_NotifyStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ListenStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_UnlistenStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TransactionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ViewStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_LoadStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateDomainStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreatedbStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DropdbStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_VacuumStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ExplainStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateTableAsStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateSeqStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterSeqStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_VariableSetStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_VariableShowStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DiscardStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateTrigStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreatePLangStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateRoleStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterRoleStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DropRoleStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_LockStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ConstraintsSetStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ReindexStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CheckPointStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateSchemaStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterDatabaseStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterDatabaseSetStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterRoleSetStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateConversionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateCastStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateOpClassStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateOpFamilyStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterOpFamilyStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_PrepareStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ExecuteStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DeallocateStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DeclareCursorStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateTableSpaceStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DropTableSpaceStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterObjectDependsStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterObjectSchemaStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterOwnerStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterOperatorStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterTypeStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DropOwnedStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ReassignOwnedStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CompositeTypeStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateEnumStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateRangeStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterEnumStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterTSDictionaryStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterTSConfigurationStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateFdwStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterFdwStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateForeignServerStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterForeignServerStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateUserMappingStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterUserMappingStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DropUserMappingStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterTableSpaceOptionsStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterTableMoveAllStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SecLabelStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateForeignTableStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ImportForeignSchemaStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateExtensionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterExtensionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterExtensionContentsStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateEventTrigStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterEventTrigStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RefreshMatViewStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ReplicaIdentityStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterSystemStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreatePolicyStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterPolicyStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateTransformStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateAmStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreatePublicationStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterPublicationStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateSubscriptionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterSubscriptionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DropSubscriptionStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateStatsStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterCollationStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CallStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AlterStatsStmt_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_A_Expr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ColumnRef_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ParamRef_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_A_Const_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_FuncCall_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_A_Star_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_A_Indices_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_A_Indirection_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_A_ArrayExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ResTarget_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_MultiAssignRef_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TypeCast_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CollateClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SortBy_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_WindowDef_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeSubselect_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeFunction_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeTableSample_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeTableFunc_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeTableFuncCol_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TypeName_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ColumnDef_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_IndexElem_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_Constraint_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_DefElem_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeTblEntry_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RangeTblFunction_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TableSampleClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_WithCheckOption_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_SortGroupClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_GroupingSet_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_WindowClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ObjectWithArgs_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_AccessPriv_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CreateOpClassItem_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TableLikeClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_FunctionParameter_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_LockingClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RowMarkClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_XmlSerialize_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_WithClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_InferClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_OnConflictClause_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CommonTableExpr_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_RoleSpec_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_TriggerTransition_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_PartitionElem_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_PartitionSpec_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_PartitionBoundSpec_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_PartitionRangeDatum_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_PartitionCmd_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_VacuumRelation_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_InlineCodeBlock_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_CallContext_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::pg_query::_ScanToken_default_instance_),
};

const char descriptor_table_protodef_protobuf_2fpg_5fquery_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  { '\n', '\027', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'p', 'r', 'o', 't', 'o', 
  '\022', '\010', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '\"', '@', '\n', '\013', 'P', 'a', 'r', 's', 'e', 'R', 'e', 's', 'u', 'l', 't', 
  '\022', '\017', '\n', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\005', '\022', ' ', '\n', '\005', 's', 't', 'm', 't', 
  's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'w', 'S', 't', 'm', 
  't', '\"', 'B', '\n', '\n', 'S', 'c', 'a', 'n', 'R', 'e', 's', 'u', 'l', 't', '\022', '\017', '\n', '\007', 'v', 'e', 'r', 's', 'i', 'o', 
  'n', '\030', '\001', ' ', '\001', '(', '\005', '\022', '#', '\n', '\006', 't', 'o', 'k', 'e', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\023', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'c', 'a', 'n', 'T', 'o', 'k', 'e', 'n', '\"', '\256', 'w', '\n', '\004', 'N', 
  'o', 'd', 'e', '\022', '\'', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\001', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'H', '\000', 'R', '\005', 'A', 'l', 'i', 'a', 's', '\022', '1', '\n', '\t', 'r', 'a', 
  'n', 'g', 'e', '_', 'v', 'a', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'H', '\000', 'R', '\010', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', '\022', '4', '\n', '\n', 't', 
  'a', 'b', 'l', 'e', '_', 'f', 'u', 'n', 'c', '\030', '\003', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'H', '\000', 'R', '\t', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', '\022', 
  '$', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'E', 'x', 'p', 'r', 'H', '\000', 'R', '\004', 'E', 'x', 'p', 'r', '\022', '!', '\n', '\003', 'v', 'a', 'r', '\030', '\005', ' ', '\001', '(', '\013', 
  '2', '\r', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'H', '\000', 'R', '\003', 'V', 'a', 'r', '\022', '\'', '\n', 
  '\005', 'p', 'a', 'r', 'a', 'm', '\030', '\006', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 
  'a', 'r', 'a', 'm', 'H', '\000', 'R', '\005', 'P', 'a', 'r', 'a', 'm', '\022', '*', '\n', '\006', 'a', 'g', 'g', 'r', 'e', 'f', '\030', '\007', 
  ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'g', 'g', 'r', 'e', 'f', 'H', '\000', 'R', 
  '\006', 'A', 'g', 'g', 'r', 'e', 'f', '\022', '=', '\n', '\r', 'g', 'r', 'o', 'u', 'p', 'i', 'n', 'g', '_', 'f', 'u', 'n', 'c', '\030', 
  '\010', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 
  'F', 'u', 'n', 'c', 'H', '\000', 'R', '\014', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'F', 'u', 'n', 'c', '\022', '7', '\n', '\013', 'w', 
  'i', 'n', 'd', 'o', 'w', '_', 'f', 'u', 'n', 'c', '\030', '\t', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'W', 'i', 'n', 'd', 'o', 'w', 'F', 'u', 'n', 'c', 'H', '\000', 'R', '\n', 'W', 'i', 'n', 'd', 'o', 'w', 'F', 'u', 
  'n', 'c', '\022', 'F', '\n', '\020', 's', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'n', 'g', '_', 'r', 'e', 'f', '\030', '\n', ' ', 
  '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 
  'n', 'g', 'R', 'e', 'f', 'H', '\000', 'R', '\017', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'n', 'g', 'R', 'e', 'f', '\022', 
  '1', '\n', '\t', 'f', 'u', 'n', 'c', '_', 'e', 'x', 'p', 'r', '\030', '\013', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', 
  '\022', '>', '\n', '\016', 'n', 'a', 'm', 'e', 'd', '_', 'a', 'r', 'g', '_', 'e', 'x', 'p', 'r', '\030', '\014', ' ', '\001', '(', '\013', '2', 
  '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'a', 'm', 'e', 'd', 'A', 'r', 'g', 'E', 'x', 'p', 'r', 'H', '\000', 
  'R', '\014', 'N', 'a', 'm', 'e', 'd', 'A', 'r', 'g', 'E', 'x', 'p', 'r', '\022', '+', '\n', '\007', 'o', 'p', '_', 'e', 'x', 'p', 'r', 
  '\030', '\r', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'p', 'E', 'x', 'p', 'r', 'H', 
  '\000', 'R', '\006', 'O', 'p', 'E', 'x', 'p', 'r', '\022', '=', '\n', '\r', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '_', 'e', 'x', 'p', 
  'r', '\030', '\016', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'i', 's', 't', 'i', 'n', 
  'c', 't', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\014', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', 'E', 'x', 'p', 'r', '\022', '8', '\n', 
  '\014', 'n', 'u', 'l', 'l', '_', 'i', 'f', '_', 'e', 'x', 'p', 'r', '\030', '\017', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'u', 'l', 'l', 'I', 'f', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\n', 'N', 'u', 'l', 'l', 'I', 
  'f', 'E', 'x', 'p', 'r', '\022', 'N', '\n', '\024', 's', 'c', 'a', 'l', 'a', 'r', '_', 'a', 'r', 'r', 'a', 'y', '_', 'o', 'p', '_', 
  'e', 'x', 'p', 'r', '\030', '\020', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'c', 'a', 
  'l', 'a', 'r', 'A', 'r', 'r', 'a', 'y', 'O', 'p', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\021', 'S', 'c', 'a', 'l', 'a', 'r', 'A', 
  'r', 'r', 'a', 'y', 'O', 'p', 'E', 'x', 'p', 'r', '\022', '1', '\n', '\t', 'b', 'o', 'o', 'l', '_', 'e', 'x', 'p', 'r', '\030', '\021', 
  ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', 'H', 
  '\000', 'R', '\010', 'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', '\022', '.', '\n', '\010', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', '\030', '\022', 
  ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 'H', '\000', 
  'R', '\007', 'S', 'u', 'b', 'L', 'i', 'n', 'k', '\022', '.', '\n', '\010', 's', 'u', 'b', '_', 'p', 'l', 'a', 'n', '\030', '\023', ' ', '\001', 
  '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'P', 'l', 'a', 'n', 'H', '\000', 'R', '\007', 
  'S', 'u', 'b', 'P', 'l', 'a', 'n', '\022', 'P', '\n', '\024', 'a', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'e', '_', 's', 'u', 
  'b', '_', 'p', 'l', 'a', 'n', '\030', '\024', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 
  'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'e', 'S', 'u', 'b', 'P', 'l', 'a', 'n', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 
  'r', 'n', 'a', 't', 'i', 'v', 'e', 'S', 'u', 'b', 'P', 'l', 'a', 'n', '\022', ':', '\n', '\014', 'f', 'i', 'e', 'l', 'd', '_', 's', 
  'e', 'l', 'e', 'c', 't', '\030', '\025', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'i', 
  'e', 'l', 'd', 'S', 'e', 'l', 'e', 'c', 't', 'H', '\000', 'R', '\013', 'F', 'i', 'e', 'l', 'd', 'S', 'e', 'l', 'e', 'c', 't', '\022', 
  '7', '\n', '\013', 'f', 'i', 'e', 'l', 'd', '_', 's', 't', 'o', 'r', 'e', '\030', '\026', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'i', 'e', 'l', 'd', 'S', 't', 'o', 'r', 'e', 'H', '\000', 'R', '\n', 'F', 'i', 'e', 'l', 
  'd', 'S', 't', 'o', 'r', 'e', '\022', ':', '\n', '\014', 'r', 'e', 'l', 'a', 'b', 'e', 'l', '_', 't', 'y', 'p', 'e', '\030', '\027', ' ', 
  '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'l', 'a', 'b', 'e', 'l', 'T', 'y', 'p', 
  'e', 'H', '\000', 'R', '\013', 'R', 'e', 'l', 'a', 'b', 'e', 'l', 'T', 'y', 'p', 'e', '\022', ';', '\n', '\r', 'c', 'o', 'e', 'r', 'c', 
  'e', '_', 'v', 'i', 'a', '_', 'i', 'o', '\030', '\030', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'C', 'o', 'e', 'r', 'c', 'e', 'V', 'i', 'a', 'I', 'O', 'H', '\000', 'R', '\013', 'C', 'o', 'e', 'r', 'c', 'e', 'V', 'i', 'a', 
  'I', 'O', '\022', 'G', '\n', '\021', 'a', 'r', 'r', 'a', 'y', '_', 'c', 'o', 'e', 'r', 'c', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\031', 
  ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'r', 'r', 'a', 'y', 'C', 'o', 'e', 'r', 
  'c', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\017', 'A', 'r', 'r', 'a', 'y', 'C', 'o', 'e', 'r', 'c', 'e', 'E', 'x', 'p', 'r', 
  '\022', 'P', '\n', '\024', 'c', 'o', 'n', 'v', 'e', 'r', 't', '_', 'r', 'o', 'w', 't', 'y', 'p', 'e', '_', 'e', 'x', 'p', 'r', '\030', 
  '\032', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'n', 'v', 'e', 'r', 't', 'R', 
  'o', 'w', 't', 'y', 'p', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\022', 'C', 'o', 'n', 'v', 'e', 'r', 't', 'R', 'o', 'w', 't', 
  'y', 'p', 'e', 'E', 'x', 'p', 'r', '\022', ':', '\n', '\014', 'c', 'o', 'l', 'l', 'a', 't', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\033', 
  ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'E', 'x', 
  'p', 'r', 'H', '\000', 'R', '\013', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'E', 'x', 'p', 'r', '\022', '1', '\n', '\t', 'c', 'a', 's', 'e', 
  '_', 'e', 'x', 'p', 'r', '\030', '\034', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'a', 
  's', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'C', 'a', 's', 'e', 'E', 'x', 'p', 'r', '\022', '1', '\n', '\t', 'c', 'a', 's', 
  'e', '_', 'w', 'h', 'e', 'n', '\030', '\035', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 
  'a', 's', 'e', 'W', 'h', 'e', 'n', 'H', '\000', 'R', '\010', 'C', 'a', 's', 'e', 'W', 'h', 'e', 'n', '\022', '>', '\n', '\016', 'c', 'a', 
  's', 'e', '_', 't', 'e', 's', 't', '_', 'e', 'x', 'p', 'r', '\030', '\036', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'C', 'a', 's', 'e', 'T', 'e', 's', 't', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\014', 'C', 'a', 's', 'e', 
  'T', 'e', 's', 't', 'E', 'x', 'p', 'r', '\022', '4', '\n', '\n', 'a', 'r', 'r', 'a', 'y', '_', 'e', 'x', 'p', 'r', '\030', '\037', ' ', 
  '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', 'H', 
  '\000', 'R', '\t', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', '\022', '.', '\n', '\010', 'r', 'o', 'w', '_', 'e', 'x', 'p', 'r', '\030', 
  ' ', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'w', 'E', 'x', 'p', 'r', 'H', 
  '\000', 'R', '\007', 'R', 'o', 'w', 'E', 'x', 'p', 'r', '\022', 'D', '\n', '\020', 'r', 'o', 'w', '_', 'c', 'o', 'm', 'p', 'a', 'r', 'e', 
  '_', 'e', 'x', 'p', 'r', '\030', '!', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 
  'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\016', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 
  'e', 'E', 'x', 'p', 'r', '\022', '=', '\n', '\r', 'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\"', ' ', 
  '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'E', 'x', 
  'p', 'r', 'H', '\000', 'R', '\014', 'C', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'E', 'x', 'p', 'r', '\022', '8', '\n', '\014', 'm', 'i', 'n', 
  '_', 'm', 'a', 'x', '_', 'e', 'x', 'p', 'r', '\030', '#', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'M', 'i', 'n', 'M', 'a', 'x', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\n', 'M', 'i', 'n', 'M', 'a', 'x', 'E', 'x', 'p', 
  'r', '\022', 'I', '\n', '\021', 's', 'q', 'l', 'v', 'a', 'l', 'u', 'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '$', ' ', 
  '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 'u', 
  'n', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\020', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 
  'n', '\022', '.', '\n', '\010', 'x', 'm', 'l', '_', 'e', 'x', 'p', 'r', '\030', '%', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'X', 'm', 'l', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\007', 'X', 'm', 'l', 'E', 'x', 'p', 'r', '\022', 
  '1', '\n', '\t', 'n', 'u', 'l', 'l', '_', 't', 'e', 's', 't', '\030', '&', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'u', 'l', 'l', 'T', 'e', 's', 't', 'H', '\000', 'R', '\010', 'N', 'u', 'l', 'l', 'T', 'e', 's', 't', 
  '\022', ':', '\n', '\014', 'b', 'o', 'o', 'l', 'e', 'a', 'n', '_', 't', 'e', 's', 't', '\030', '\'', ' ', '\001', '(', '\013', '2', '\025', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'e', 'a', 'n', 'T', 'e', 's', 't', 'H', '\000', 'R', '\013', 'B', 
  'o', 'o', 'l', 'e', 'a', 'n', 'T', 'e', 's', 't', '\022', 'D', '\n', '\020', 'c', 'o', 'e', 'r', 'c', 'e', '_', 't', 'o', '_', 'd', 
  'o', 'm', 'a', 'i', 'n', '\030', '(', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 
  'e', 'r', 'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', 'H', '\000', 'R', '\016', 'C', 'o', 'e', 'r', 'c', 'e', 'T', 'o', 'D', 
  'o', 'm', 'a', 'i', 'n', '\022', 'T', '\n', '\026', 'c', 'o', 'e', 'r', 'c', 'e', '_', 't', 'o', '_', 'd', 'o', 'm', 'a', 'i', 'n', 
  '_', 'v', 'a', 'l', 'u', 'e', '\030', ')', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 
  'o', 'e', 'r', 'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', 'V', 'a', 'l', 'u', 'e', 'H', '\000', 'R', '\023', 'C', 'o', 'e', 
  'r', 'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', 'V', 'a', 'l', 'u', 'e', '\022', '>', '\n', '\016', 's', 'e', 't', '_', 't', 
  'o', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '*', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'S', 'e', 't', 'T', 'o', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'H', '\000', 'R', '\014', 'S', 'e', 't', 'T', 'o', 'D', 'e', 
  'f', 'a', 'u', 'l', 't', '\022', 'A', '\n', '\017', 'c', 'u', 'r', 'r', 'e', 'n', 't', '_', 'o', 'f', '_', 'e', 'x', 'p', 'r', '\030', 
  '+', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'O', 
  'f', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\r', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'O', 'f', 'E', 'x', 'p', 'r', '\022', 'A', '\n', 
  '\017', 'n', 'e', 'x', 't', '_', 'v', 'a', 'l', 'u', 'e', '_', 'e', 'x', 'p', 'r', '\030', ',', ' ', '\001', '(', '\013', '2', '\027', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'e', 'x', 't', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', 
  '\r', 'N', 'e', 'x', 't', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', '\022', '@', '\n', '\016', 'i', 'n', 'f', 'e', 'r', 'e', 'n', 
  'c', 'e', '_', 'e', 'l', 'e', 'm', '\030', '-', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'I', 'n', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\r', 'I', 'n', 'f', 'e', 'r', 'e', 'n', 'c', 
  'e', 'E', 'l', 'e', 'm', '\022', ':', '\n', '\014', 't', 'a', 'r', 'g', 'e', 't', '_', 'e', 'n', 't', 'r', 'y', '\030', '.', ' ', '\001', 
  '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 'r', 'g', 'e', 't', 'E', 'n', 't', 'r', 'y', 
  'H', '\000', 'R', '\013', 'T', 'a', 'r', 'g', 'e', 't', 'E', 'n', 't', 'r', 'y', '\022', ';', '\n', '\r', 'r', 'a', 'n', 'g', 'e', '_', 
  't', 'b', 'l', '_', 'r', 'e', 'f', '\030', '/', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'R', 'e', 'f', 'H', '\000', 'R', '\013', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'R', 'e', 
  'f', '\022', '1', '\n', '\t', 'j', 'o', 'i', 'n', '_', 'e', 'x', 'p', 'r', '\030', '0', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 'o', 'i', 'n', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'J', 'o', 'i', 'n', 'E', 'x', 
  'p', 'r', '\022', '1', '\n', '\t', 'f', 'r', 'o', 'm', '_', 'e', 'x', 'p', 'r', '\030', '1', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'r', 'o', 'm', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'F', 'r', 'o', 'm', 'E', 
  'x', 'p', 'r', '\022', 'D', '\n', '\020', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 'e', 'x', 'p', 'r', '\030', '2', 
  ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 
  't', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\016', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'E', 'x', 'p', 'r', '\022', '7', 
  '\n', '\013', 'i', 'n', 't', 'o', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '3', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'o', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\n', 'I', 'n', 't', 'o', 'C', 
  'l', 'a', 'u', 's', 'e', '\022', '.', '\n', '\010', 'r', 'a', 'w', '_', 's', 't', 'm', 't', '\030', '4', ' ', '\001', '(', '\013', '2', '\021', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\007', 'R', 'a', 'w', 'S', 
  't', 'm', 't', '\022', '\'', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '5', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'Q', 'u', 'e', 'r', 'y', 'H', '\000', 'R', '\005', 'Q', 'u', 'e', 'r', 'y', '\022', '7', '\n', '\013', 'i', 'n', 
  's', 'e', 'r', 't', '_', 's', 't', 'm', 't', '\030', '6', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'I', 'n', 's', 'e', 'r', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'I', 'n', 's', 'e', 'r', 't', 'S', 't', 'm', 
  't', '\022', '7', '\n', '\013', 'd', 'e', 'l', 'e', 't', 'e', '_', 's', 't', 'm', 't', '\030', '7', ' ', '\001', '(', '\013', '2', '\024', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'l', 'e', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'D', 'e', 
  'l', 'e', 't', 'e', 'S', 't', 'm', 't', '\022', '7', '\n', '\013', 'u', 'p', 'd', 'a', 't', 'e', '_', 's', 't', 'm', 't', '\030', '8', 
  ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'U', 'p', 'd', 'a', 't', 'e', 'S', 't', 'm', 
  't', 'H', '\000', 'R', '\n', 'U', 'p', 'd', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', '7', '\n', '\013', 's', 'e', 'l', 'e', 'c', 't', 
  '_', 's', 't', 'm', 't', '\030', '9', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 
  'l', 'e', 'c', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', '\022', 'D', '\n', 
  '\020', 'a', 'l', 't', 'e', 'r', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 't', 'm', 't', '\030', ':', ' ', '\001', '(', '\013', '2', '\030', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', 'H', 
  '\000', 'R', '\016', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', '\022', 'A', '\n', '\017', 'a', 'l', 't', 'e', 
  'r', '_', 't', 'a', 'b', 'l', 'e', '_', 'c', 'm', 'd', '\030', ';', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'C', 'm', 'd', 'H', '\000', 'R', '\r', 'A', 'l', 't', 'e', 
  'r', 'T', 'a', 'b', 'l', 'e', 'C', 'm', 'd', '\022', 'G', '\n', '\021', 'a', 'l', 't', 'e', 'r', '_', 'd', 'o', 'm', 'a', 'i', 'n', 
  '_', 's', 't', 'm', 't', '\030', '<', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 
  't', 'e', 'r', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'A', 'l', 't', 'e', 'r', 'D', 'o', 'm', 
  'a', 'i', 'n', 'S', 't', 'm', 't', '\022', 'J', '\n', '\022', 's', 'e', 't', '_', 'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', '_', 
  's', 't', 'm', 't', '\030', '=', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 't', 
  'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\020', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 
  't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '4', '\n', '\n', 'g', 'r', 'a', 'n', 't', '_', 's', 't', 'm', 't', '\030', '>', ' ', 
  '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'a', 'n', 't', 'S', 't', 'm', 't', 'H', 
  '\000', 'R', '\t', 'G', 'r', 'a', 'n', 't', 'S', 't', 'm', 't', '\022', 'A', '\n', '\017', 'g', 'r', 'a', 'n', 't', '_', 'r', 'o', 'l', 
  'e', '_', 's', 't', 'm', 't', '\030', '?', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 
  'r', 'a', 'n', 't', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'G', 'r', 'a', 'n', 't', 'R', 'o', 'l', 'e', 
  'S', 't', 'm', 't', '\022', 'i', '\n', '\035', 'a', 'l', 't', 'e', 'r', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 'p', 'r', 'i', 
  'v', 'i', 'l', 'e', 'g', 'e', 's', '_', 's', 't', 'm', 't', '\030', '@', ' ', '\001', '(', '\013', '2', '$', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'P', 'r', 'i', 'v', 'i', 'l', 'e', 'g', 
  'e', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\032', 'A', 'l', 't', 'e', 'r', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'P', 'r', 'i', 
  'v', 'i', 'l', 'e', 'g', 'e', 's', 'S', 't', 'm', 't', '\022', 'G', '\n', '\021', 'c', 'l', 'o', 's', 'e', '_', 'p', 'o', 'r', 't', 
  'a', 'l', '_', 's', 't', 'm', 't', '\030', 'A', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'C', 'l', 'o', 's', 'e', 'P', 'o', 'r', 't', 'a', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'C', 'l', 'o', 's', 'e', 'P', 
  'o', 'r', 't', 'a', 'l', 'S', 't', 'm', 't', '\022', ':', '\n', '\014', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 's', 't', 'm', 't', 
  '\030', 'B', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 
  'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'C', 'l', 'u', 's', 't', 'e', 'r', 'S', 't', 'm', 't', '\022', '1', '\n', '\t', 'c', 'o', 
  'p', 'y', '_', 's', 't', 'm', 't', '\030', 'C', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'C', 'o', 'p', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\010', 'C', 'o', 'p', 'y', 'S', 't', 'm', 't', '\022', '7', '\n', '\013', 'c', 
  'r', 'e', 'a', 't', 'e', '_', 's', 't', 'm', 't', '\030', 'D', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 
  'm', 't', '\022', '7', '\n', '\013', 'd', 'e', 'f', 'i', 'n', 'e', '_', 's', 't', 'm', 't', '\030', 'E', ' ', '\001', '(', '\013', '2', '\024', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'f', 'i', 'n', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'D', 
  'e', 'f', 'i', 'n', 'e', 'S', 't', 'm', 't', '\022', '1', '\n', '\t', 'd', 'r', 'o', 'p', '_', 's', 't', 'm', 't', '\030', 'F', ' ', 
  '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'S', 't', 'm', 't', 'H', '\000', 
  'R', '\010', 'D', 'r', 'o', 'p', 'S', 't', 'm', 't', '\022', '=', '\n', '\r', 't', 'r', 'u', 'n', 'c', 'a', 't', 'e', '_', 's', 't', 
  'm', 't', '\030', 'G', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'r', 'u', 'n', 'c', 
  'a', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'T', 'r', 'u', 'n', 'c', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', ':', 
  '\n', '\014', 'c', 'o', 'm', 'm', 'e', 'n', 't', '_', 's', 't', 'm', 't', '\030', 'H', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'm', 'm', 'e', 'n', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'C', 'o', 'm', 
  'm', 'e', 'n', 't', 'S', 't', 'm', 't', '\022', '4', '\n', '\n', 'f', 'e', 't', 'c', 'h', '_', 's', 't', 'm', 't', '\030', 'I', ' ', 
  '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'e', 't', 'c', 'h', 'S', 't', 'm', 't', 'H', 
  '\000', 'R', '\t', 'F', 'e', 't', 'c', 'h', 'S', 't', 'm', 't', '\022', '4', '\n', '\n', 'i', 'n', 'd', 'e', 'x', '_', 's', 't', 'm', 
  't', '\030', 'J', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'd', 'e', 'x', 'S', 
  't', 'm', 't', 'H', '\000', 'R', '\t', 'I', 'n', 'd', 'e', 'x', 'S', 't', 'm', 't', '\022', 'P', '\n', '\024', 'c', 'r', 'e', 'a', 't', 
  'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', 'K', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 
  't', 'H', '\000', 'R', '\022', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'M', 
  '\n', '\023', 'a', 'l', 't', 'e', 'r', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', 'L', ' ', '\001', 
  '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'F', 'u', 'n', 'c', 't', 'i', 
  'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'A', 'l', 't', 'e', 'r', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 
  'm', 't', '\022', '+', '\n', '\007', 'd', 'o', '_', 's', 't', 'm', 't', '\030', 'M', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'D', 'o', 'S', 't', 'm', 't', 'H', '\000', 'R', '\006', 'D', 'o', 'S', 't', 'm', 't', '\022', '7', '\n', 
  '\013', 'r', 'e', 'n', 'a', 'm', 'e', '_', 's', 't', 'm', 't', '\030', 'N', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'R', 'e', 'n', 'a', 'm', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'R', 'e', 'n', 'a', 'm', 'e', 
  'S', 't', 'm', 't', '\022', '1', '\n', '\t', 'r', 'u', 'l', 'e', '_', 's', 't', 'm', 't', '\030', 'O', ' ', '\001', '(', '\013', '2', '\022', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'u', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\010', 'R', 'u', 'l', 
  'e', 'S', 't', 'm', 't', '\022', '7', '\n', '\013', 'n', 'o', 't', 'i', 'f', 'y', '_', 's', 't', 'm', 't', '\030', 'P', ' ', '\001', '(', 
  '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 't', 'i', 'f', 'y', 'S', 't', 'm', 't', 'H', '\000', 
  'R', '\n', 'N', 'o', 't', 'i', 'f', 'y', 'S', 't', 'm', 't', '\022', '7', '\n', '\013', 'l', 'i', 's', 't', 'e', 'n', '_', 's', 't', 
  'm', 't', '\030', 'Q', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'i', 's', 't', 'e', 
  'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'L', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', '\022', '=', '\n', '\r', 'u', 'n', 
  'l', 'i', 's', 't', 'e', 'n', '_', 's', 't', 'm', 't', '\030', 'R', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'U', 'n', 'l', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'U', 'n', 'l', 'i', 's', 
  't', 'e', 'n', 'S', 't', 'm', 't', '\022', 'F', '\n', '\020', 't', 'r', 'a', 'n', 's', 'a', 'c', 't', 'i', 'o', 'n', '_', 's', 't', 
  'm', 't', '\030', 'S', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'r', 'a', 'n', 's', 
  'a', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'T', 'r', 'a', 'n', 's', 'a', 'c', 't', 'i', 'o', 'n', 
  'S', 't', 'm', 't', '\022', '1', '\n', '\t', 'v', 'i', 'e', 'w', '_', 's', 't', 'm', 't', '\030', 'T', ' ', '\001', '(', '\013', '2', '\022', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'i', 'e', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\010', 'V', 'i', 'e', 
  'w', 'S', 't', 'm', 't', '\022', '1', '\n', '\t', 'l', 'o', 'a', 'd', '_', 's', 't', 'm', 't', '\030', 'U', ' ', '\001', '(', '\013', '2', 
  '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'a', 'd', 'S', 't', 'm', 't', 'H', '\000', 'R', '\010', 'L', 'o', 
  'a', 'd', 'S', 't', 'm', 't', '\022', 'J', '\n', '\022', 'c', 'r', 'e', 'a', 't', 'e', '_', 'd', 'o', 'm', 'a', 'i', 'n', '_', 's', 
  't', 'm', 't', '\030', 'V', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 
  't', 'e', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'D', 'o', 'm', 
  'a', 'i', 'n', 'S', 't', 'm', 't', '\022', '=', '\n', '\r', 'c', 'r', 'e', 'a', 't', 'e', 'd', 'b', '_', 's', 't', 'm', 't', '\030', 
  'W', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'd', 'b', 
  'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'C', 'r', 'e', 'a', 't', 'e', 'd', 'b', 'S', 't', 'm', 't', '\022', '7', '\n', '\013', 'd', 
  'r', 'o', 'p', 'd', 'b', '_', 's', 't', 'm', 't', '\030', 'X', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'D', 'r', 'o', 'p', 'd', 'b', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'D', 'r', 'o', 'p', 'd', 'b', 'S', 't', 
  'm', 't', '\022', '7', '\n', '\013', 'v', 'a', 'c', 'u', 'u', 'm', '_', 's', 't', 'm', 't', '\030', 'Y', ' ', '\001', '(', '\013', '2', '\024', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'c', 'u', 'u', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'V', 
  'a', 'c', 'u', 'u', 'm', 'S', 't', 'm', 't', '\022', ':', '\n', '\014', 'e', 'x', 'p', 'l', 'a', 'i', 'n', '_', 's', 't', 'm', 't', 
  '\030', 'Z', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'E', 'x', 'p', 'l', 'a', 'i', 'n', 
  'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'E', 'x', 'p', 'l', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', 'N', '\n', '\024', 'c', 'r', 
  'e', 'a', 't', 'e', '_', 't', 'a', 'b', 'l', 'e', '_', 'a', 's', '_', 's', 't', 'm', 't', '\030', '[', ' ', '\001', '(', '\013', '2', 
  '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'A', 's', 'S', 
  't', 'm', 't', 'H', '\000', 'R', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'A', 's', 'S', 't', 'm', 't', '\022', 
  'A', '\n', '\017', 'c', 'r', 'e', 'a', 't', 'e', '_', 's', 'e', 'q', '_', 's', 't', 'm', 't', '\030', '\\', ' ', '\001', '(', '\013', '2', 
  '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'e', 'q', 'S', 't', 'm', 't', 'H', 
  '\000', 'R', '\r', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'e', 'q', 'S', 't', 'm', 't', '\022', '>', '\n', '\016', 'a', 'l', 't', 'e', 'r', 
  '_', 's', 'e', 'q', '_', 's', 't', 'm', 't', '\030', ']', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'A', 'l', 't', 'e', 'r', 'S', 'e', 'q', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'A', 'l', 't', 'e', 'r', 'S', 'e', 
  'q', 'S', 't', 'm', 't', '\022', 'G', '\n', '\021', 'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e', '_', 's', 'e', 't', '_', 's', 't', 'm', 
  't', '\030', '^', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 
  'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 
  't', 'm', 't', '\022', 'J', '\n', '\022', 'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e', '_', 's', 'h', 'o', 'w', '_', 's', 't', 'm', 't', 
  '\030', '_', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 
  'e', 'S', 'h', 'o', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\020', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'h', 'o', 'w', 
  'S', 't', 'm', 't', '\022', ':', '\n', '\014', 'd', 'i', 's', 'c', 'a', 'r', 'd', '_', 's', 't', 'm', 't', '\030', '`', ' ', '\001', '(', 
  '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'S', 't', 'm', 't', 'H', 
  '\000', 'R', '\013', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'S', 't', 'm', 't', '\022', 'D', '\n', '\020', 'c', 'r', 'e', 'a', 't', 'e', '_', 
  't', 'r', 'i', 'g', '_', 's', 't', 'm', 't', '\030', 'a', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 'r', 'e', 'a', 't', 
  'e', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', '\022', 'G', '\n', '\021', 'c', 'r', 'e', 'a', 't', 'e', '_', 'p', 'l', 'a', 'n', 'g', 
  '_', 's', 't', 'm', 't', '\030', 'b', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 
  'e', 'a', 't', 'e', 'P', 'L', 'a', 'n', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'L', 
  'a', 'n', 'g', 'S', 't', 'm', 't', '\022', 'D', '\n', '\020', 'c', 'r', 'e', 'a', 't', 'e', '_', 'r', 'o', 'l', 'e', '_', 's', 't', 
  'm', 't', '\030', 'c', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 
  'e', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'R', 'o', 'l', 'e', 'S', 't', 
  'm', 't', '\022', 'A', '\n', '\017', 'a', 'l', 't', 'e', 'r', '_', 'r', 'o', 'l', 'e', '_', 's', 't', 'm', 't', '\030', 'd', ' ', '\001', 
  '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 't', 
  'm', 't', 'H', '\000', 'R', '\r', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '>', '\n', '\016', 'd', 'r', 
  'o', 'p', '_', 'r', 'o', 'l', 'e', '_', 's', 't', 'm', 't', '\030', 'e', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'D', 'r', 'o', 'p', 
  'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '1', '\n', '\t', 'l', 'o', 'c', 'k', '_', 's', 't', 'm', 't', '\030', 'f', ' ', '\001', 
  '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'S', 't', 'm', 't', 'H', '\000', 'R', 
  '\010', 'L', 'o', 'c', 'k', 'S', 't', 'm', 't', '\022', 'P', '\n', '\024', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '_', 
  's', 'e', 't', '_', 's', 't', 'm', 't', '\030', 'g', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', 'S', 'e', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'C', 'o', 
  'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', ':', '\n', '\014', 'r', 'e', 'i', 'n', 'd', 
  'e', 'x', '_', 's', 't', 'm', 't', '\030', 'h', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'R', 'e', 'i', 'n', 'd', 'e', 'x', 'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'R', 'e', 'i', 'n', 'd', 'e', 'x', 'S', 't', 'm', 
  't', '\022', 'D', '\n', '\020', 'c', 'h', 'e', 'c', 'k', '_', 'p', 'o', 'i', 'n', 't', '_', 's', 't', 'm', 't', '\030', 'i', ' ', '\001', 
  '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'h', 'e', 'c', 'k', 'P', 'o', 'i', 'n', 't', 'S', 
  't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 'h', 'e', 'c', 'k', 'P', 'o', 'i', 'n', 't', 'S', 't', 'm', 't', '\022', 'J', '\n', '\022', 
  'c', 'r', 'e', 'a', 't', 'e', '_', 's', 'c', 'h', 'e', 'm', 'a', '_', 's', 't', 'm', 't', '\030', 'j', ' ', '\001', '(', '\013', '2', 
  '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 
  'm', 't', 'H', '\000', 'R', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', 'M', '\n', 
  '\023', 'a', 'l', 't', 'e', 'r', '_', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '_', 's', 't', 'm', 't', '\030', 'k', ' ', '\001', '(', 
  '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 
  'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'S', 't', 'm', 
  't', '\022', 'W', '\n', '\027', 'a', 'l', 't', 'e', 'r', '_', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '_', 's', 'e', 't', '_', 's', 
  't', 'm', 't', '\030', 'l', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 
  'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'A', 'l', 't', 'e', 'r', 
  'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', 'K', '\n', '\023', 'a', 'l', 't', 'e', 'r', '_', 
  'r', 'o', 'l', 'e', '_', 's', 'e', 't', '_', 's', 't', 'm', 't', '\030', 'm', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', 
  '\020', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', 'V', '\n', '\026', 'c', 'r', 'e', 'a', 
  't', 'e', '_', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', 'n', ' ', '\001', '(', '\013', '2', 
  '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'o', 'n', 'v', 'e', 'r', 's', 'i', 
  'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 
  'n', 'S', 't', 'm', 't', '\022', 'D', '\n', '\020', 'c', 'r', 'e', 'a', 't', 'e', '_', 'c', 'a', 's', 't', '_', 's', 't', 'm', 't', 
  '\030', 'o', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'C', 
  'a', 's', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'a', 's', 't', 'S', 't', 'm', 't', 
  '\022', 'N', '\n', '\024', 'c', 'r', 'e', 'a', 't', 'e', '_', 'o', 'p', '_', 'c', 'l', 'a', 's', 's', '_', 's', 't', 'm', 't', '\030', 
  'p', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 
  'C', 'l', 'a', 's', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 
  's', 'S', 't', 'm', 't', '\022', 'Q', '\n', '\025', 'c', 'r', 'e', 'a', 't', 'e', '_', 'o', 'p', '_', 'f', 'a', 'm', 'i', 'l', 'y', 
  '_', 's', 't', 'm', 't', '\030', 'q', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 
  'e', 'a', 't', 'e', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'C', 'r', 'e', 'a', 't', 
  'e', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 't', '\022', 'N', '\n', '\024', 'a', 'l', 't', 'e', 'r', '_', 'o', 'p', 
  '_', 'f', 'a', 'm', 'i', 'l', 'y', '_', 's', 't', 'm', 't', '\030', 'r', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', 
  '\021', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 't', '\022', ':', '\n', '\014', 'p', 'r', 'e', 
  'p', 'a', 'r', 'e', '_', 's', 't', 'm', 't', '\030', 's', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'P', 'r', 'e', 'p', 'a', 'r', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'P', 'r', 'e', 'p', 'a', 'r', 'e', 'S', 
  't', 'm', 't', '\022', ':', '\n', '\014', 'e', 'x', 'e', 'c', 'u', 't', 'e', '_', 's', 't', 'm', 't', '\030', 't', ' ', '\001', '(', '\013', 
  '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'E', 'x', 'e', 'c', 'u', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 
  'R', '\013', 'E', 'x', 'e', 'c', 'u', 't', 'e', 'S', 't', 'm', 't', '\022', 'C', '\n', '\017', 'd', 'e', 'a', 'l', 'l', 'o', 'c', 'a', 
  't', 'e', '_', 's', 't', 'm', 't', '\030', 'u', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'D', 'e', 'a', 'l', 'l', 'o', 'c', 'a', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'D', 'e', 'a', 'l', 'l', 'o', 'c', 
  'a', 't', 'e', 'S', 't', 'm', 't', '\022', 'M', '\n', '\023', 'd', 'e', 'c', 'l', 'a', 'r', 'e', '_', 'c', 'u', 'r', 's', 'o', 'r', 
  '_', 's', 't', 'm', 't', '\030', 'v', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 
  'c', 'l', 'a', 'r', 'e', 'C', 'u', 'r', 's', 'o', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'D', 'e', 'c', 'l', 'a', 'r', 
  'e', 'C', 'u', 'r', 's', 'o', 'r', 'S', 't', 'm', 't', '\022', 'W', '\n', '\027', 'c', 'r', 'e', 'a', 't', 'e', '_', 't', 'a', 'b', 
  'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '_', 's', 't', 'm', 't', '\030', 'w', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 
  't', 'H', '\000', 'R', '\024', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', 
  '\022', 'Q', '\n', '\025', 'd', 'r', 'o', 'p', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '_', 's', 't', 'm', 't', 
  '\030', 'x', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'T', 'a', 'b', 
  'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'D', 'r', 'o', 'p', 'T', 'a', 'b', 'l', 'e', 'S', 
  'p', 'a', 'c', 'e', 'S', 't', 'm', 't', '\022', ']', '\n', '\031', 'a', 'l', 't', 'e', 'r', '_', 'o', 'b', 'j', 'e', 'c', 't', '_', 
  'd', 'e', 'p', 'e', 'n', 'd', 's', '_', 's', 't', 'm', 't', '\030', 'y', ' ', '\001', '(', '\013', '2', ' ', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'D', 'e', 'p', 'e', 'n', 'd', 's', 'S', 't', 
  'm', 't', 'H', '\000', 'R', '\026', 'A', 'l', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'D', 'e', 'p', 'e', 'n', 'd', 's', 'S', 
  't', 'm', 't', '\022', 'Z', '\n', '\030', 'a', 'l', 't', 'e', 'r', '_', 'o', 'b', 'j', 'e', 'c', 't', '_', 's', 'c', 'h', 'e', 'm', 
  'a', '_', 's', 't', 'm', 't', '\030', 'z', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 
  'l', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 
  'l', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', 'D', '\n', '\020', 'a', 
  'l', 't', 'e', 'r', '_', 'o', 'w', 'n', 'e', 'r', '_', 's', 't', 'm', 't', '\030', '{', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'O', 'w', 'n', 'e', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', 
  '\016', 'A', 'l', 't', 'e', 'r', 'O', 'w', 'n', 'e', 'r', 'S', 't', 'm', 't', '\022', 'M', '\n', '\023', 'a', 'l', 't', 'e', 'r', '_', 
  'o', 'p', 'e', 'r', 'a', 't', 'o', 'r', '_', 's', 't', 'm', 't', '\030', '|', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'e', 'r', 'a', 't', 'o', 'r', 'S', 't', 'm', 't', 'H', '\000', 
  'R', '\021', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'e', 'r', 'a', 't', 'o', 'r', 'S', 't', 'm', 't', '\022', 'A', '\n', '\017', 'a', 'l', 
  't', 'e', 'r', '_', 't', 'y', 'p', 'e', '_', 's', 't', 'm', 't', '\030', '}', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'A', 'l', 
  't', 'e', 'r', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', '\022', 'A', '\n', '\017', 'd', 'r', 'o', 'p', '_', 'o', 'w', 'n', 'e', 'd', 
  '_', 's', 't', 'm', 't', '\030', '~', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 
  'o', 'p', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'D', 'r', 'o', 'p', 'O', 'w', 'n', 'e', 'd', 'S', 
  't', 'm', 't', '\022', 'M', '\n', '\023', 'r', 'e', 'a', 's', 's', 'i', 'g', 'n', '_', 'o', 'w', 'n', 'e', 'd', '_', 's', 't', 'm', 
  't', '\030', '\177', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'a', 's', 's', 'i', 
  'g', 'n', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'R', 'e', 'a', 's', 's', 'i', 'g', 'n', 'O', 'w', 
  'n', 'e', 'd', 'S', 't', 'm', 't', '\022', 'N', '\n', '\023', 'c', 'o', 'm', 'p', 'o', 's', 'i', 't', 'e', '_', 't', 'y', 'p', 'e', 
  '_', 's', 't', 'm', 't', '\030', '\200', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 
  'o', 'm', 'p', 'o', 's', 'i', 't', 'e', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'C', 'o', 'm', 'p', 'o', 
  's', 'i', 't', 'e', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'c', 'r', 'e', 'a', 't', 'e', '_', 'e', 'n', 
  'u', 'm', '_', 's', 't', 'm', 't', '\030', '\201', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 'r', 'e', 'a', 't', 'e', 
  'E', 'n', 'u', 'm', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'c', 'r', 'e', 'a', 't', 'e', '_', 'r', 'a', 'n', 'g', 'e', '_', 
  's', 't', 'm', 't', '\030', '\202', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 
  'e', 'a', 't', 'e', 'R', 'a', 'n', 'g', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'C', 'r', 'e', 'a', 't', 'e', 'R', 'a', 
  'n', 'g', 'e', 'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 'a', 'l', 't', 'e', 'r', '_', 'e', 'n', 'u', 'm', '_', 's', 't', 'm', 
  't', '\030', '\203', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 
  'E', 'n', 'u', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'A', 'l', 't', 'e', 'r', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', 
  '\022', 'Z', '\n', '\027', 'a', 'l', 't', 'e', 'r', '_', 't', 's', 'd', 'i', 'c', 't', 'i', 'o', 'n', 'a', 'r', 'y', '_', 's', 't', 
  'm', 't', '\030', '\204', '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 
  'r', 'T', 'S', 'D', 'i', 'c', 't', 'i', 'o', 'n', 'a', 'r', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 'l', 't', 'e', 
  'r', 'T', 'S', 'D', 'i', 'c', 't', 'i', 'o', 'n', 'a', 'r', 'y', 'S', 't', 'm', 't', '\022', 'c', '\n', '\032', 'a', 'l', 't', 'e', 
  'r', '_', 't', 's', 'c', 'o', 'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\205', '\001', 
  ' ', '\001', '(', '\013', '2', '\"', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'C', 'o', 
  'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\030', 'A', 'l', 't', 'e', 'r', 'T', 
  'S', 'C', 'o', 'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 'c', 'r', 'e', 
  'a', 't', 'e', '_', 'f', 'd', 'w', '_', 's', 't', 'm', 't', '\030', '\206', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'd', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'C', 'r', 
  'e', 'a', 't', 'e', 'F', 'd', 'w', 'S', 't', 'm', 't', '\022', '?', '\n', '\016', 'a', 'l', 't', 'e', 'r', '_', 'f', 'd', 'w', '_', 
  's', 't', 'm', 't', '\030', '\207', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 
  't', 'e', 'r', 'F', 'd', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'A', 'l', 't', 'e', 'r', 'F', 'd', 'w', 'S', 't', 'm', 
  't', '\022', 'a', '\n', '\032', 'c', 'r', 'e', 'a', 't', 'e', '_', 'f', 'o', 'r', 'e', 'i', 'g', 'n', '_', 's', 'e', 'r', 'v', 'e', 
  'r', '_', 's', 't', 'm', 't', '\030', '\210', '\001', ' ', '\001', '(', '\013', '2', '!', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', 'H', '\000', 
  'R', '\027', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', 
  '\022', '^', '\n', '\031', 'a', 'l', 't', 'e', 'r', '_', 'f', 'o', 'r', 'e', 'i', 'g', 'n', '_', 's', 'e', 'r', 'v', 'e', 'r', '_', 
  's', 't', 'm', 't', '\030', '\211', '\001', ' ', '\001', '(', '\013', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 
  't', 'e', 'r', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\026', 'A', 
  'l', 't', 'e', 'r', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', '\022', '[', '\n', '\030', 
  'c', 'r', 'e', 'a', 't', 'e', '_', 'u', 's', 'e', 'r', '_', 'm', 'a', 'p', 'p', 'i', 'n', 'g', '_', 's', 't', 'm', 't', '\030', 
  '\212', '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'U', 
  's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'C', 'r', 'e', 'a', 't', 'e', 'U', 
  's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', 'X', '\n', '\027', 'a', 'l', 't', 'e', 'r', '_', 'u', 
  's', 'e', 'r', '_', 'm', 'a', 'p', 'p', 'i', 'n', 'g', '_', 's', 't', 'm', 't', '\030', '\213', '\001', ' ', '\001', '(', '\013', '2', '\036', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 
  'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'A', 'l', 't', 'e', 'r', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 
  'S', 't', 'm', 't', '\022', 'U', '\n', '\026', 'd', 'r', 'o', 'p', '_', 'u', 's', 'e', 'r', '_', 'm', 'a', 'p', 'p', 'i', 'n', 'g', 
  '_', 's', 't', 'm', 't', '\030', '\214', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 
  'r', 'o', 'p', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\023', 'D', 'r', 'o', 
  'p', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', 'k', '\n', '\036', 'a', 'l', 't', 'e', 'r', 
  '_', 't', 'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '_', 's', 't', 'm', 't', 
  '\030', '\215', '\001', ' ', '\001', '(', '\013', '2', '$', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 
  'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\032', 'A', 
  'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', 'S', 't', 'm', 't', 
  '\022', '\\', '\n', '\031', 'a', 'l', 't', 'e', 'r', '_', 't', 'a', 'b', 'l', 'e', '_', 'm', 'o', 'v', 'e', '_', 'a', 'l', 'l', '_', 
  's', 't', 'm', 't', '\030', '\216', '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 
  't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'M', 'o', 'v', 'e', 'A', 'l', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 'l', 
  't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'M', 'o', 'v', 'e', 'A', 'l', 'l', 'S', 't', 'm', 't', '\022', '?', '\n', '\016', 's', 'e', 
  'c', '_', 'l', 'a', 'b', 'e', 'l', '_', 's', 't', 'm', 't', '\030', '\217', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 'c', 'L', 'a', 'b', 'e', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'S', 'e', 'c', 
  'L', 'a', 'b', 'e', 'l', 'S', 't', 'm', 't', '\022', '^', '\n', '\031', 'c', 'r', 'e', 'a', 't', 'e', '_', 'f', 'o', 'r', 'e', 'i', 
  'g', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 't', 'm', 't', '\030', '\220', '\001', ' ', '\001', '(', '\013', '2', ' ', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'T', 'a', 'b', 'l', 'e', 
  'S', 't', 'm', 't', 'H', '\000', 'R', '\026', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'T', 'a', 'b', 'l', 
  'e', 'S', 't', 'm', 't', '\022', 'a', '\n', '\032', 'i', 'm', 'p', 'o', 'r', 't', '_', 'f', 'o', 'r', 'e', 'i', 'g', 'n', '_', 's', 
  'c', 'h', 'e', 'm', 'a', '_', 's', 't', 'm', 't', '\030', '\221', '\001', ' ', '\001', '(', '\013', '2', '!', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 
  'm', 't', 'H', '\000', 'R', '\027', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 'h', 'e', 'm', 'a', 
  'S', 't', 'm', 't', '\022', 'T', '\n', '\025', 'c', 'r', 'e', 'a', 't', 'e', '_', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '_', 
  's', 't', 'm', 't', '\030', '\222', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 
  'e', 'a', 't', 'e', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\023', 'C', 'r', 'e', 'a', 
  't', 'e', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'Q', '\n', '\024', 'a', 'l', 't', 'e', 'r', '_', 
  'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\223', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 
  't', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'j', 
  '\n', '\035', 'a', 'l', 't', 'e', 'r', '_', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '_', 'c', 'o', 'n', 't', 'e', 'n', 't', 
  's', '_', 's', 't', 'm', 't', '\030', '\224', '\001', ' ', '\001', '(', '\013', '2', '$', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 't', 'e', 'n', 't', 's', 'S', 't', 'm', 
  't', 'H', '\000', 'R', '\032', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 't', 'e', 'n', 
  't', 's', 'S', 't', 'm', 't', '\022', 'U', '\n', '\026', 'c', 'r', 'e', 'a', 't', 'e', '_', 'e', 'v', 'e', 'n', 't', '_', 't', 'r', 
  'i', 'g', '_', 's', 't', 'm', 't', '\030', '\225', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\023', 'C', 
  'r', 'e', 'a', 't', 'e', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', '\022', 'R', '\n', '\025', 'a', 'l', 't', 
  'e', 'r', '_', 'e', 'v', 'e', 'n', 't', '_', 't', 'r', 'i', 'g', '_', 's', 't', 'm', 't', '\030', '\226', '\001', ' ', '\001', '(', '\013', 
  '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 
  'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 'r', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 
  'm', 't', '\022', 'R', '\n', '\025', 'r', 'e', 'f', 'r', 'e', 's', 'h', '_', 'm', 'a', 't', '_', 'v', 'i', 'e', 'w', '_', 's', 't', 
  'm', 't', '\030', '\227', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'f', 'r', 
  'e', 's', 'h', 'M', 'a', 't', 'V', 'i', 'e', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'R', 'e', 'f', 'r', 'e', 's', 'h', 
  'M', 'a', 't', 'V', 'i', 'e', 'w', 'S', 't', 'm', 't', '\022', 'T', '\n', '\025', 'r', 'e', 'p', 'l', 'i', 'c', 'a', '_', 'i', 'd', 
  'e', 'n', 't', 'i', 't', 'y', '_', 's', 't', 'm', 't', '\030', '\230', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', 'S', 't', 'm', 't', 'H', 
  '\000', 'R', '\023', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', 'S', 't', 'm', 't', '\022', 'H', '\n', 
  '\021', 'a', 'l', 't', 'e', 'r', '_', 's', 'y', 's', 't', 'e', 'm', '_', 's', 't', 'm', 't', '\030', '\231', '\001', ' ', '\001', '(', '\013', 
  '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'S', 'y', 's', 't', 'e', 'm', 'S', 't', 
  'm', 't', 'H', '\000', 'R', '\017', 'A', 'l', 't', 'e', 'r', 'S', 'y', 's', 't', 'e', 'm', 'S', 't', 'm', 't', '\022', 'K', '\n', '\022', 
  'c', 'r', 'e', 'a', 't', 'e', '_', 'p', 'o', 'l', 'i', 'c', 'y', '_', 's', 't', 'm', 't', '\030', '\232', '\001', ' ', '\001', '(', '\013', 
  '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 
  't', 'm', 't', 'H', '\000', 'R', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 't', 'm', 't', '\022', 'H', 
  '\n', '\021', 'a', 'l', 't', 'e', 'r', '_', 'p', 'o', 'l', 'i', 'c', 'y', '_', 's', 't', 'm', 't', '\030', '\233', '\001', ' ', '\001', '(', 
  '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 
  't', 'm', 't', 'H', '\000', 'R', '\017', 'A', 'l', 't', 'e', 'r', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 't', 'm', 't', '\022', 'T', '\n', 
  '\025', 'c', 'r', 'e', 'a', 't', 'e', '_', 't', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', '_', 's', 't', 'm', 't', '\030', '\234', '\001', 
  ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'a', 
  'n', 's', 'f', 'o', 'r', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\023', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'a', 'n', 's', 
  'f', 'o', 'r', 'm', 'S', 't', 'm', 't', '\022', '?', '\n', '\016', 'c', 'r', 'e', 'a', 't', 'e', '_', 'a', 'm', '_', 's', 't', 'm', 
  't', '\030', '\235', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 
  'e', 'A', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'C', 'r', 'e', 'a', 't', 'e', 'A', 'm', 'S', 't', 'm', 't', '\022', 'Z', 
  '\n', '\027', 'c', 'r', 'e', 'a', 't', 'e', '_', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', 
  '\030', '\236', '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 
  'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'C', 'r', 'e', 'a', 't', 'e', 
  'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'W', '\n', '\026', 'a', 'l', 't', 'e', 'r', '_', 
  'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\237', '\001', ' ', '\001', '(', '\013', '2', '\036', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 
  'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 
  'S', 't', 'm', 't', '\022', ']', '\n', '\030', 'c', 'r', 'e', 'a', 't', 'e', '_', 's', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 
  'o', 'n', '_', 's', 't', 'm', 't', '\030', '\240', '\001', ' ', '\001', '(', '\013', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 
  'R', '\026', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 
  'Z', '\n', '\027', 'a', 'l', 't', 'e', 'r', '_', 's', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 
  't', '\030', '\241', '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 
  'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 'l', 't', 'e', 'r', 
  'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'W', '\n', '\026', 'd', 'r', 'o', 'p', '_', 
  's', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\242', '\001', ' ', '\001', '(', '\013', '2', 
  '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 
  'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'D', 'r', 'o', 'p', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 
  'n', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'c', 'r', 'e', 'a', 't', 'e', '_', 's', 't', 'a', 't', 's', '_', 's', 't', 'm', 
  't', '\030', '\243', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 
  'e', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'a', 't', 's', 
  'S', 't', 'm', 't', '\022', 'Q', '\n', '\024', 'a', 'l', 't', 'e', 'r', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '_', 's', 
  't', 'm', 't', '\030', '\244', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 
  'e', 'r', 'C', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 'r', 'C', 
  'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '2', '\n', '\t', 'c', 'a', 'l', 'l', '_', 's', 't', 'm', 't', 
  '\030', '\245', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'a', 'l', 'l', 'S', 't', 
  'm', 't', 'H', '\000', 'R', '\010', 'C', 'a', 'l', 'l', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'a', 'l', 't', 'e', 'r', '_', 's', 
  't', 'a', 't', 's', '_', 's', 't', 'm', 't', '\030', '\246', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'A', 'l', 't', 'e', 
  'r', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', '\022', '+', '\n', '\006', 'a', '_', 'e', 'x', 'p', 'r', '\030', '\247', '\001', ' ', '\001', 
  '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\006', 'A', 
  '_', 'E', 'x', 'p', 'r', '\022', '5', '\n', '\n', 'c', 'o', 'l', 'u', 'm', 'n', '_', 'r', 'e', 'f', '\030', '\250', '\001', ' ', '\001', '(', 
  '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'u', 'm', 'n', 'R', 'e', 'f', 'H', '\000', 'R', 
  '\t', 'C', 'o', 'l', 'u', 'm', 'n', 'R', 'e', 'f', '\022', '2', '\n', '\t', 'p', 'a', 'r', 'a', 'm', '_', 'r', 'e', 'f', '\030', '\251', 
  '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 'a', 'm', 'R', 'e', 'f', 
  'H', '\000', 'R', '\010', 'P', 'a', 'r', 'a', 'm', 'R', 'e', 'f', '\022', '.', '\n', '\007', 'a', '_', 'c', 'o', 'n', 's', 't', '\030', '\252', 
  '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'C', 'o', 'n', 's', 't', 'H', 
  '\000', 'R', '\007', 'A', '_', 'C', 'o', 'n', 's', 't', '\022', '2', '\n', '\t', 'f', 'u', 'n', 'c', '_', 'c', 'a', 'l', 'l', '\030', '\253', 
  '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 'C', 'a', 'l', 'l', 
  'H', '\000', 'R', '\010', 'F', 'u', 'n', 'c', 'C', 'a', 'l', 'l', '\022', '+', '\n', '\006', 'a', '_', 's', 't', 'a', 'r', '\030', '\254', '\001', 
  ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'S', 't', 'a', 'r', 'H', '\000', 'R', 
  '\006', 'A', '_', 'S', 't', 'a', 'r', '\022', '4', '\n', '\t', 'a', '_', 'i', 'n', 'd', 'i', 'c', 'e', 's', '\030', '\255', '\001', ' ', '\001', 
  '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'I', 'n', 'd', 'i', 'c', 'e', 's', 'H', '\000', 
  'R', '\t', 'A', '_', 'I', 'n', 'd', 'i', 'c', 'e', 's', '\022', '@', '\n', '\r', 'a', '_', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 
  'i', 'o', 'n', '\030', '\256', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'I', 
  'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\r', 'A', '_', 'I', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 
  'o', 'n', '\022', ';', '\n', '\014', 'a', '_', 'a', 'r', 'r', 'a', 'y', '_', 'e', 'x', 'p', 'r', '\030', '\257', '\001', ' ', '\001', '(', '\013', 
  '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', 'H', '\000', 
  'R', '\013', 'A', '_', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', '\022', '5', '\n', '\n', 'r', 'e', 's', '_', 't', 'a', 'r', 'g', 
  'e', 't', '\030', '\260', '\001', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 's', 'T', 
  'a', 'r', 'g', 'e', 't', 'H', '\000', 'R', '\t', 'R', 'e', 's', 'T', 'a', 'r', 'g', 'e', 't', '\022', 'E', '\n', '\020', 'm', 'u', 'l', 
  't', 'i', '_', 'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'f', '\030', '\261', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'u', 'l', 't', 'i', 'A', 's', 's', 'i', 'g', 'n', 'R', 'e', 'f', 'H', '\000', 'R', '\016', 
  'M', 'u', 'l', 't', 'i', 'A', 's', 's', 'i', 'g', 'n', 'R', 'e', 'f', '\022', '2', '\n', '\t', 't', 'y', 'p', 'e', '_', 'c', 'a', 
  's', 't', '\030', '\262', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 
  'C', 'a', 's', 't', 'H', '\000', 'R', '\010', 'T', 'y', 'p', 'e', 'C', 'a', 's', 't', '\022', 'A', '\n', '\016', 'c', 'o', 'l', 'l', 'a', 
  't', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\263', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\r', 'C', 'o', 'l', 'l', 'a', 
  't', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', ',', '\n', '\007', 's', 'o', 'r', 't', '_', 'b', 'y', '\030', '\264', '\001', ' ', '\001', '(', 
  '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'H', '\000', 'R', '\006', 'S', 'o', 
  'r', 't', 'B', 'y', '\022', '5', '\n', '\n', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'd', 'e', 'f', '\030', '\265', '\001', ' ', '\001', '(', '\013', 
  '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 'n', 'd', 'o', 'w', 'D', 'e', 'f', 'H', '\000', 'R', '\t', 
  'W', 'i', 'n', 'd', 'o', 'w', 'D', 'e', 'f', '\022', 'D', '\n', '\017', 'r', 'a', 'n', 'g', 'e', '_', 's', 'u', 'b', 's', 'e', 'l', 
  'e', 'c', 't', '\030', '\266', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 
  'g', 'e', 'S', 'u', 'b', 's', 'e', 'l', 'e', 'c', 't', 'H', '\000', 'R', '\016', 'R', 'a', 'n', 'g', 'e', 'S', 'u', 'b', 's', 'e', 
  'l', 'e', 'c', 't', '\022', 'A', '\n', '\016', 'r', 'a', 'n', 'g', 'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '\267', '\001', 
  ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'F', 'u', 'n', 'c', 
  't', 'i', 'o', 'n', 'H', '\000', 'R', '\r', 'R', 'a', 'n', 'g', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', 'K', '\n', '\022', 
  'r', 'a', 'n', 'g', 'e', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 'a', 'm', 'p', 'l', 'e', '\030', '\270', '\001', ' ', '\001', '(', '\013', 
  '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 
  'p', 'l', 'e', 'H', '\000', 'R', '\020', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', '\022', 'E', 
  '\n', '\020', 'r', 'a', 'n', 'g', 'e', '_', 't', 'a', 'b', 'l', 'e', '_', 'f', 'u', 'n', 'c', '\030', '\271', '\001', ' ', '\001', '(', '\013', 
  '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 
  'c', 'H', '\000', 'R', '\016', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', '\022', 'O', '\n', '\024', 'r', 'a', 
  'n', 'g', 'e', '_', 't', 'a', 'b', 'l', 'e', '_', 'f', 'u', 'n', 'c', '_', 'c', 'o', 'l', '\030', '\272', '\001', ' ', '\001', '(', '\013', 
  '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 
  'c', 'C', 'o', 'l', 'H', '\000', 'R', '\021', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'C', 'o', 'l', 
  '\022', '2', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\273', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'H', '\000', 'R', '\010', 'T', 'y', 'p', 'e', 'N', 'a', 
  'm', 'e', '\022', '5', '\n', '\n', 'c', 'o', 'l', 'u', 'm', 'n', '_', 'd', 'e', 'f', '\030', '\274', '\001', ' ', '\001', '(', '\013', '2', '\023', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', 'H', '\000', 'R', '\t', 'C', 'o', 
  'l', 'u', 'm', 'n', 'D', 'e', 'f', '\022', '5', '\n', '\n', 'i', 'n', 'd', 'e', 'x', '_', 'e', 'l', 'e', 'm', '\030', '\275', '\001', ' ', 
  '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'd', 'e', 'x', 'E', 'l', 'e', 'm', 'H', 
  '\000', 'R', '\t', 'I', 'n', 'd', 'e', 'x', 'E', 'l', 'e', 'm', '\022', '7', '\n', '\n', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 
  't', '\030', '\276', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'n', 's', 't', 
  'r', 'a', 'i', 'n', 't', 'H', '\000', 'R', '\n', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\022', '/', '\n', '\010', 'd', 'e', 
  'f', '_', 'e', 'l', 'e', 'm', '\030', '\277', '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'D', 'e', 'f', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\007', 'D', 'e', 'f', 'E', 'l', 'e', 'm', '\022', 'B', '\n', '\017', 'r', 'a', 'n', 
  'g', 'e', '_', 't', 'b', 'l', '_', 'e', 'n', 't', 'r', 'y', '\030', '\300', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'E', 'n', 't', 'r', 'y', 'H', '\000', 'R', '\r', 'R', 'a', 
  'n', 'g', 'e', 'T', 'b', 'l', 'E', 'n', 't', 'r', 'y', '\022', 'K', '\n', '\022', 'r', 'a', 'n', 'g', 'e', '_', 't', 'b', 'l', '_', 
  'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '\301', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\020', 'R', 'a', 'n', 
  'g', 'e', 'T', 'b', 'l', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', 'N', '\n', '\023', 't', 'a', 'b', 'l', 'e', '_', 's', 'a', 
  'm', 'p', 'l', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\302', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', 
  '\021', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'H', '\n', '\021', 'w', 'i', 't', 
  'h', '_', 'c', 'h', 'e', 'c', 'k', '_', 'o', 'p', 't', 'i', 'o', 'n', '\030', '\303', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', 'H', '\000', 
  'R', '\017', 'W', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', '\022', 'H', '\n', '\021', 's', 'o', 'r', 't', 
  '_', 'g', 'r', 'o', 'u', 'p', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\304', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', 
  '\017', 'S', 'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', '\022', ';', '\n', '\014', 'g', 'r', 'o', 'u', 'p', 
  'i', 'n', 'g', '_', 's', 'e', 't', '\030', '\305', '\001', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', 'H', '\000', 'R', '\013', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'S', 
  'e', 't', '\022', '>', '\n', '\r', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\306', '\001', ' ', '\001', '(', 
  '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', 
  'H', '\000', 'R', '\014', 'W', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'E', '\n', '\020', 'o', 'b', 'j', 'e', 'c', 
  't', '_', 'w', 'i', 't', 'h', '_', 'a', 'r', 'g', 's', '\030', '\307', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'H', '\000', 'R', '\016', 'O', 'b', 
  'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', '\022', '8', '\n', '\013', 'a', 'c', 'c', 'e', 's', 's', '_', 'p', 'r', 
  'i', 'v', '\030', '\310', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'c', 'c', 'e', 
  's', 's', 'P', 'r', 'i', 'v', 'H', '\000', 'R', '\n', 'A', 'c', 'c', 'e', 's', 's', 'P', 'r', 'i', 'v', '\022', 'O', '\n', '\024', 'c', 
  'r', 'e', 'a', 't', 'e', '_', 'o', 'p', '_', 'c', 'l', 'a', 's', 's', '_', 'i', 't', 'e', 'm', '\030', '\311', '\001', ' ', '\001', '(', 
  '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 
  's', 'I', 't', 'e', 'm', 'H', '\000', 'R', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 's', 'I', 't', 'e', 
  'm', '\022', 'H', '\n', '\021', 't', 'a', 'b', 'l', 'e', '_', 'l', 'i', 'k', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\312', '\001', 
  ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 'e', 
  'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\017', 'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 'e', 'C', 'l', 'a', 'u', 's', 'e', 
  '\022', 'M', '\n', '\022', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', '\030', '\313', '\001', 
  ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 
  'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 'H', '\000', 'R', '\021', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 'r', 'a', 'm', 
  'e', 't', 'e', 'r', '\022', 'A', '\n', '\016', 'l', 'o', 'c', 'k', 'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\314', '\001', 
  ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'i', 'n', 'g', 'C', 'l', 
  'a', 'u', 's', 'e', 'H', '\000', 'R', '\r', 'L', 'o', 'c', 'k', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'B', '\n', '\017', 
  'r', 'o', 'w', '_', 'm', 'a', 'r', 'k', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\315', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'w', 'M', 'a', 'r', 'k', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', 
  '\r', 'R', 'o', 'w', 'M', 'a', 'r', 'k', 'C', 'l', 'a', 'u', 's', 'e', '\022', '>', '\n', '\r', 'x', 'm', 'l', '_', 's', 'e', 'r', 
  'i', 'a', 'l', 'i', 'z', 'e', '\030', '\316', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'X', 'm', 'l', 'S', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'H', '\000', 'R', '\014', 'X', 'm', 'l', 'S', 'e', 'r', 'i', 'a', 'l', 
  'i', 'z', 'e', '\022', '8', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\317', '\001', ' ', '\001', '(', '\013', 
  '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', 
  '\n', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', ';', '\n', '\014', 'i', 'n', 'f', 'e', 'r', '_', 'c', 'l', 'a', 'u', 
  's', 'e', '\030', '\320', '\001', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'f', 'e', 
  'r', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\013', 'I', 'n', 'f', 'e', 'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'K', '\n', 
  '\022', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\321', '\001', ' ', '\001', '(', 
  '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'C', 'l', 
  'a', 'u', 's', 'e', 'H', '\000', 'R', '\020', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', 
  'H', '\n', '\021', 'c', 'o', 'm', 'm', 'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\322', '\001', ' ', '\001', 
  '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'm', 'm', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 
  'E', 'x', 'p', 'r', 'H', '\000', 'R', '\017', 'C', 'o', 'm', 'm', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'E', 'x', 'p', 'r', '\022', '2', 
  '\n', '\t', 'r', 'o', 'l', 'e', '_', 's', 'p', 'e', 'c', '\030', '\323', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\010', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 
  '\022', 'M', '\n', '\022', 't', 'r', 'i', 'g', 'g', 'e', 'r', '_', 't', 'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', '\030', '\324', '\001', 
  ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'r', 'i', 'g', 'g', 'e', 'r', 'T', 'r', 
  'a', 'n', 's', 'i', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\021', 'T', 'r', 'i', 'g', 'g', 'e', 'r', 'T', 'r', 'a', 'n', 's', 'i', 
  't', 'i', 'o', 'n', '\022', 'A', '\n', '\016', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'e', 'l', 'e', 'm', '\030', '\325', '\001', 
  ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 
  'E', 'l', 'e', 'm', 'H', '\000', 'R', '\r', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'E', 'l', 'e', 'm', '\022', 'A', '\n', '\016', 
  'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 's', 'p', 'e', 'c', '\030', '\326', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\r', 
  'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 'p', 'e', 'c', '\022', 'Q', '\n', '\024', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 
  'n', '_', 'b', 'o', 'u', 'n', 'd', '_', 's', 'p', 'e', 'c', '\030', '\327', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 'e', 'c', 'H', 
  '\000', 'R', '\022', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 'e', 'c', '\022', 'T', '\n', '\025', 
  'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'r', 'a', 'n', 'g', 'e', '_', 'd', 'a', 't', 'u', 'm', '\030', '\330', '\001', ' ', 
  '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 
  'a', 'n', 'g', 'e', 'D', 'a', 't', 'u', 'm', 'H', '\000', 'R', '\023', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 'a', 'n', 
  'g', 'e', 'D', 'a', 't', 'u', 'm', '\022', '>', '\n', '\r', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'c', 'm', 'd', '\030', 
  '\331', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 
  'o', 'n', 'C', 'm', 'd', 'H', '\000', 'R', '\014', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'C', 'm', 'd', '\022', 'D', '\n', '\017', 
  'v', 'a', 'c', 'u', 'u', 'm', '_', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\332', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'c', 'u', 'u', 'm', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', 'H', '\000', 
  'R', '\016', 'V', 'a', 'c', 'u', 'u', 'm', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', 'H', '\n', '\021', 'i', 'n', 'l', 'i', 'n', 
  'e', '_', 'c', 'o', 'd', 'e', '_', 'b', 'l', 'o', 'c', 'k', '\030', '\333', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'l', 'i', 'n', 'e', 'C', 'o', 'd', 'e', 'B', 'l', 'o', 'c', 'k', 'H', '\000', 'R', '\017', 
  'I', 'n', 'l', 'i', 'n', 'e', 'C', 'o', 'd', 'e', 'B', 'l', 'o', 'c', 'k', '\022', ';', '\n', '\014', 'c', 'a', 'l', 'l', '_', 'c', 
  'o', 'n', 't', 'e', 'x', 't', '\030', '\334', '\001', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'C', 'a', 'l', 'l', 'C', 'o', 'n', 't', 'e', 'x', 't', 'H', '\000', 'R', '\013', 'C', 'a', 'l', 'l', 'C', 'o', 'n', 't', 'e', 'x', 
  't', '\022', '.', '\n', '\007', 'i', 'n', 't', 'e', 'g', 'e', 'r', '\030', '\335', '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'e', 'g', 'e', 'r', 'H', '\000', 'R', '\007', 'I', 'n', 't', 'e', 'g', 'e', 'r', '\022', 
  '(', '\n', '\005', 'f', 'l', 'o', 'a', 't', '\030', '\336', '\001', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'F', 'l', 'o', 'a', 't', 'H', '\000', 'R', '\005', 'F', 'l', 'o', 'a', 't', '\022', '+', '\n', '\006', 's', 't', 'r', 'i', 'n', 
  'g', '\030', '\337', '\001', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 't', 'r', 'i', 'n', 
  'g', 'H', '\000', 'R', '\006', 'S', 't', 'r', 'i', 'n', 'g', '\022', '5', '\n', '\n', 'b', 'i', 't', '_', 's', 't', 'r', 'i', 'n', 'g', 
  '\030', '\340', '\001', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'i', 't', 'S', 't', 'r', 
  'i', 'n', 'g', 'H', '\000', 'R', '\t', 'B', 'i', 't', 'S', 't', 'r', 'i', 'n', 'g', '\022', '%', '\n', '\004', 'n', 'u', 'l', 'l', '\030', 
  '\341', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'u', 'l', 'l', 'H', '\000', 'R', 
  '\004', 'N', 'u', 'l', 'l', '\022', '%', '\n', '\004', 'l', 'i', 's', 't', '\030', '\342', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'i', 's', 't', 'H', '\000', 'R', '\004', 'L', 'i', 's', 't', '\022', '/', '\n', '\010', 'i', 'n', 
  't', '_', 'l', 'i', 's', 't', '\030', '\343', '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'I', 'n', 't', 'L', 'i', 's', 't', 'H', '\000', 'R', '\007', 'I', 'n', 't', 'L', 'i', 's', 't', '\022', '/', '\n', '\010', 'o', 'i', 'd', 
  '_', 'l', 'i', 's', 't', '\030', '\344', '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 
  'i', 'd', 'L', 'i', 's', 't', 'H', '\000', 'R', '\007', 'O', 'i', 'd', 'L', 'i', 's', 't', 'B', '\006', '\n', '\004', 'n', 'o', 'd', 'e', 
  '\"', '\027', '\n', '\007', 'I', 'n', 't', 'e', 'g', 'e', 'r', '\022', '\014', '\n', '\004', 'i', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\005', 
  '\"', '\024', '\n', '\005', 'F', 'l', 'o', 'a', 't', '\022', '\013', '\n', '\003', 's', 't', 'r', '\030', '\001', ' ', '\001', '(', '\t', '\"', '\025', '\n', 
  '\006', 'S', 't', 'r', 'i', 'n', 'g', '\022', '\013', '\n', '\003', 's', 't', 'r', '\030', '\001', ' ', '\001', '(', '\t', '\"', '\030', '\n', '\t', 'B', 
  'i', 't', 'S', 't', 'r', 'i', 'n', 'g', '\022', '\013', '\n', '\003', 's', 't', 'r', '\030', '\001', ' ', '\001', '(', '\t', '\"', '\006', '\n', '\004', 
  'N', 'u', 'l', 'l', '\"', '%', '\n', '\004', 'L', 'i', 's', 't', '\022', '\035', '\n', '\005', 'i', 't', 'e', 'm', 's', '\030', '\001', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', '\"', '(', '\n', '\007', 'O', 'i', 'd', 
  'L', 'i', 's', 't', '\022', '\035', '\n', '\005', 'i', 't', 'e', 'm', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', '\"', '(', '\n', '\007', 'I', 'n', 't', 'L', 'i', 's', 't', '\022', '\035', '\n', '\005', 
  'i', 't', 'e', 'm', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', '\"', '\032', '\n', '\t', 'B', 'i', 't', 'm', 'a', 'p', 's', 'e', 't', '\022', '\r', '\n', '\005', 'w', 'o', 'r', 'd', 's', '\030', 
  '\001', ' ', '\003', '(', '\004', '\"', 'Q', '\n', '\005', 'A', 'l', 'i', 'a', 's', '\022', '\034', '\n', '\t', 'a', 'l', 'i', 'a', 's', 'n', 'a', 
  'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\t', 'a', 'l', 'i', 'a', 's', 'n', 'a', 'm', 'e', '\022', '*', '\n', '\010', 'c', 'o', 
  'l', 'n', 'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\"', '\343', '\001', '\n', '\010', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 
  'r', '\022', ' ', '\n', '\013', 'c', 'a', 't', 'a', 'l', 'o', 'g', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'c', 
  'a', 't', 'a', 'l', 'o', 'g', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 's', 'c', 'h', 'e', 'm', 'a', 'n', 'a', 'm', 'e', '\030', 
  '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'c', 'h', 'e', 'm', 'a', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 'l', 'n', 
  'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 'l', 'n', 'a', 'm', 'e', '\022', '\020', '\n', '\003', 'i', 'n', 'h', 
  '\030', '\004', ' ', '\001', '(', '\010', 'R', '\003', 'i', 'n', 'h', '\022', '&', '\n', '\016', 'r', 'e', 'l', 'p', 'e', 'r', 's', 'i', 's', 't', 
  'e', 'n', 'c', 'e', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\016', 'r', 'e', 'l', 'p', 'e', 'r', 's', 'i', 's', 't', 'e', 'n', 'c', 
  'e', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\006', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
  'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\223', '\004', '\n', '\t', 'T', 'a', 
  'b', 'l', 'e', 'F', 'u', 'n', 'c', '\022', '(', '\n', '\007', 'n', 's', '_', 'u', 'r', 'i', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'n', 's', '_', 'u', 'r', 'i', 's', '\022', 
  '*', '\n', '\010', 'n', 's', '_', 'n', 'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'n', 's', '_', 'n', 'a', 'm', 'e', 's', '\022', '(', '\n', '\007', 'd', 'o', 'c', 
  'e', 'x', 'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\007', 'd', 'o', 'c', 'e', 'x', 'p', 'r', '\022', '(', '\n', '\007', 'r', 'o', 'w', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'r', 'o', 'w', 'e', 'x', 
  'p', 'r', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\022', '*', '\n', '\010', 
  'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\022', '.', '\n', '\n', 'c', 'o', 'l', 't', 'y', 'p', 
  'm', 'o', 'd', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\n', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\022', '4', '\n', '\r', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 
  't', 'i', 'o', 'n', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\r', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'e', 
  'x', 'p', 'r', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\010', 'c', 'o', 'l', 'e', 'x', 'p', 'r', 's', '\022', '0', '\n', '\013', 'c', 'o', 'l', 'd', 'e', 'f', 'e', 'x', 'p', 'r', 
  's', '\030', '\n', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 
  'c', 'o', 'l', 'd', 'e', 'f', 'e', 'x', 'p', 'r', 's', '\022', '$', '\n', '\r', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', 
  'c', 'o', 'l', '\030', '\013', ' ', '\001', '(', '\005', 'R', '\r', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', 'c', 'o', 'l', '\022', 
  '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\014', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
  'o', 'n', '\"', '\006', '\n', '\004', 'E', 'x', 'p', 'r', '\"', '\253', '\002', '\n', '\003', 'V', 'a', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', 
  '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 
  'p', 'r', '\022', '\024', '\n', '\005', 'v', 'a', 'r', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\005', 'v', 'a', 'r', 'n', 'o', '\022', 
  '\032', '\n', '\010', 'v', 'a', 'r', 'a', 't', 't', 'n', 'o', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'v', 'a', 'r', 'a', 't', 't', 
  'n', 'o', '\022', '\030', '\n', '\007', 'v', 'a', 'r', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\007', 'v', 'a', 'r', 't', 
  'y', 'p', 'e', '\022', '\034', '\n', '\t', 'v', 'a', 'r', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\t', 'v', 
  'a', 'r', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\034', '\n', '\t', 'v', 'a', 'r', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', 
  '(', '\r', 'R', '\t', 'v', 'a', 'r', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'v', 'a', 'r', 'l', 'e', 'v', 'e', 'l', 
  's', 'u', 'p', '\030', '\007', ' ', '\001', '(', '\r', 'R', '\013', 'v', 'a', 'r', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\022', '\032', '\n', 
  '\010', 'v', 'a', 'r', 'n', 'o', 's', 'y', 'n', '\030', '\010', ' ', '\001', '(', '\r', 'R', '\010', 'v', 'a', 'r', 'n', 'o', 's', 'y', 'n', 
  '\022', ' ', '\n', '\013', 'v', 'a', 'r', 'a', 't', 't', 'n', 'o', 's', 'y', 'n', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\013', 'v', 'a', 
  'r', 'a', 't', 't', 'n', 'o', 's', 'y', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\n', ' ', '\001', 
  '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\364', '\001', '\n', '\005', 'P', 'a', 'r', 'a', 'm', '\022', ' ', '\n', 
  '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\003', 'x', 'p', 'r', '\022', '1', '\n', '\t', 'p', 'a', 'r', 'a', 'm', 'k', 'i', 'n', 'd', '\030', '\002', ' ', '\001', '(', '\016', 
  '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 'a', 'm', 'K', 'i', 'n', 'd', 'R', '\t', 'p', 'a', 
  'r', 'a', 'm', 'k', 'i', 'n', 'd', '\022', '\030', '\n', '\007', 'p', 'a', 'r', 'a', 'm', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', 
  '\007', 'p', 'a', 'r', 'a', 'm', 'i', 'd', '\022', '\034', '\n', '\t', 'p', 'a', 'r', 'a', 'm', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', 
  '(', '\r', 'R', '\t', 'p', 'a', 'r', 'a', 'm', 't', 'y', 'p', 'e', '\022', ' ', '\n', '\013', 'p', 'a', 'r', 'a', 'm', 't', 'y', 'p', 
  'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\013', 'p', 'a', 'r', 'a', 'm', 't', 'y', 'p', 'm', 'o', 'd', '\022', ' ', '\n', 
  '\013', 'p', 'a', 'r', 'a', 'm', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\013', 'p', 'a', 'r', 'a', 'm', 
  'c', 'o', 'l', 'l', 'i', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', 
  '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\240', '\005', '\n', '\006', 'A', 'g', 'g', 'r', 'e', 'f', '\022', ' ', '\n', '\003', 'x', 
  'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\003', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'a', 'g', 'g', 'f', 'n', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\010', 'a', 
  'g', 'g', 'f', 'n', 'o', 'i', 'd', '\022', '\030', '\n', '\007', 'a', 'g', 'g', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', 
  '\007', 'a', 'g', 'g', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 'a', 'g', 'g', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\004', ' ', '\001', 
  '(', '\r', 'R', '\t', 'a', 'g', 'g', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 
  'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', 
  '\014', 'a', 'g', 'g', 't', 'r', 'a', 'n', 's', 't', 'y', 'p', 'e', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\014', 'a', 'g', 'g', 't', 
  'r', 'a', 'n', 's', 't', 'y', 'p', 'e', '\022', '0', '\n', '\013', 'a', 'g', 'g', 'a', 'r', 'g', 't', 'y', 'p', 'e', 's', '\030', '\007', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'a', 'g', 'g', 
  'a', 'r', 'g', 't', 'y', 'p', 'e', 's', '\022', '4', '\n', '\r', 'a', 'g', 'g', 'd', 'i', 'r', 'e', 'c', 't', 'a', 'r', 'g', 's', 
  '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'a', 
  'g', 'g', 'd', 'i', 'r', 'e', 'c', 't', 'a', 'r', 'g', 's', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\t', ' ', '\003', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '*', 
  '\n', '\010', 'a', 'g', 'g', 'o', 'r', 'd', 'e', 'r', '\030', '\n', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'a', 'g', 'g', 'o', 'r', 'd', 'e', 'r', '\022', '0', '\n', '\013', 'a', 'g', 'g', 'd', 
  'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\013', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\013', 'a', 'g', 'g', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', ',', '\n', '\t', 'a', 'g', 'g', 'f', 
  'i', 'l', 't', 'e', 'r', '\030', '\014', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\t', 'a', 'g', 'g', 'f', 'i', 'l', 't', 'e', 'r', '\022', '\030', '\n', '\007', 'a', 'g', 'g', 's', 't', 'a', 'r', '\030', 
  '\r', ' ', '\001', '(', '\010', 'R', '\007', 'a', 'g', 'g', 's', 't', 'a', 'r', '\022', ' ', '\n', '\013', 'a', 'g', 'g', 'v', 'a', 'r', 'i', 
  'a', 'd', 'i', 'c', '\030', '\016', ' ', '\001', '(', '\010', 'R', '\013', 'a', 'g', 'g', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\022', '\030', 
  '\n', '\007', 'a', 'g', 'g', 'k', 'i', 'n', 'd', '\030', '\017', ' ', '\001', '(', '\t', 'R', '\007', 'a', 'g', 'g', 'k', 'i', 'n', 'd', '\022', 
  ' ', '\n', '\013', 'a', 'g', 'g', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\030', '\020', ' ', '\001', '(', '\r', 'R', '\013', 'a', 'g', 'g', 
  'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\022', '.', '\n', '\010', 'a', 'g', 'g', 's', 'p', 'l', 'i', 't', '\030', '\021', ' ', '\001', '(', 
  '\016', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'g', 'g', 'S', 'p', 'l', 'i', 't', 'R', '\010', 'a', 'g', 
  'g', 's', 'p', 'l', 'i', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\022', ' ', '\001', '(', '\005', 'R', 
  '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\332', '\001', '\n', '\014', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'F', 'u', 'n', 
  'c', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\"', '\n', '\004', 
  'r', 'e', 'f', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\004', 'r', 'e', 'f', 's', '\022', '\"', '\n', '\004', 'c', 'o', 'l', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'c', 'o', 'l', 's', '\022', ' ', '\n', '\013', 'a', 'g', 'g', 
  'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\013', 'a', 'g', 'g', 'l', 'e', 'v', 'e', 'l', 's', 
  'u', 'p', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 
  'a', 't', 'i', 'o', 'n', '\"', '\334', '\002', '\n', '\n', 'W', 'i', 'n', 'd', 'o', 'w', 'F', 'u', 'n', 'c', '\022', ' ', '\n', '\003', 'x', 
  'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\003', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'w', 'i', 'n', 'f', 'n', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\010', 'w', 
  'i', 'n', 'f', 'n', 'o', 'i', 'd', '\022', '\030', '\n', '\007', 'w', 'i', 'n', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', 
  '\007', 'w', 'i', 'n', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 'w', 'i', 'n', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\004', ' ', '\001', 
  '(', '\r', 'R', '\t', 'w', 'i', 'n', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 
  'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', 
  '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 'a', 'g', 'g', 'f', 'i', 'l', 't', 'e', 'r', '\030', '\007', ' ', '\001', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'a', 'g', 'g', 'f', 'i', 
  'l', 't', 'e', 'r', '\022', '\026', '\n', '\006', 'w', 'i', 'n', 'r', 'e', 'f', '\030', '\010', ' ', '\001', '(', '\r', 'R', '\006', 'w', 'i', 'n', 
  'r', 'e', 'f', '\022', '\030', '\n', '\007', 'w', 'i', 'n', 's', 't', 'a', 'r', '\030', '\t', ' ', '\001', '(', '\010', 'R', '\007', 'w', 'i', 'n', 
  's', 't', 'a', 'r', '\022', '\026', '\n', '\006', 'w', 'i', 'n', 'a', 'g', 'g', '\030', '\n', ' ', '\001', '(', '\010', 'R', '\006', 'w', 'i', 'n', 
  'a', 'g', 'g', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\013', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 
  'c', 'a', 't', 'i', 'o', 'n', '\"', '\217', '\003', '\n', '\017', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'n', 'g', 'R', 'e', 
  'f', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '*', '\n', '\020', 'r', 'e', 'f', 'c', 'o', 'n', 't', 'a', 'i', 'n', 'e', 
  'r', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\020', 'r', 'e', 'f', 'c', 'o', 'n', 't', 'a', 'i', 'n', 'e', 'r', 
  't', 'y', 'p', 'e', '\022', ' ', '\n', '\013', 'r', 'e', 'f', 'e', 'l', 'e', 'm', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 
  'R', '\013', 'r', 'e', 'f', 'e', 'l', 'e', 'm', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 'r', 'e', 'f', 't', 'y', 'p', 'm', 'o', 
  'd', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\t', 'r', 'e', 'f', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\034', '\n', '\t', 'r', 'e', 'f', 
  'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\t', 'r', 'e', 'f', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '8', 
  '\n', '\017', 'r', 'e', 'f', 'u', 'p', 'p', 'e', 'r', 'i', 'n', 'd', 'e', 'x', 'p', 'r', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'r', 'e', 'f', 'u', 'p', 'p', 'e', 'r', 'i', 
  'n', 'd', 'e', 'x', 'p', 'r', '\022', '8', '\n', '\017', 'r', 'e', 'f', 'l', 'o', 'w', 'e', 'r', 'i', 'n', 'd', 'e', 'x', 'p', 'r', 
  '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'r', 
  'e', 'f', 'l', 'o', 'w', 'e', 'r', 'i', 'n', 'd', 'e', 'x', 'p', 'r', '\022', '(', '\n', '\007', 'r', 'e', 'f', 'e', 'x', 'p', 'r', 
  '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'r', 
  'e', 'f', 'e', 'x', 'p', 'r', '\022', '2', '\n', '\014', 'r', 'e', 'f', 'a', 's', 's', 'g', 'n', 'e', 'x', 'p', 'r', '\030', '\t', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'r', 'e', 'f', 'a', 
  's', 's', 'g', 'n', 'e', 'x', 'p', 'r', '\"', '\352', '\002', '\n', '\010', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 
  'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\003', 'x', 'p', 'r', '\022', '\026', '\n', '\006', 'f', 'u', 'n', 'c', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 'f', 'u', 
  'n', 'c', 'i', 'd', '\022', '&', '\n', '\016', 'f', 'u', 'n', 'c', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', 
  '\001', '(', '\r', 'R', '\016', 'f', 'u', 'n', 'c', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\036', '\n', '\n', 'f', 'u', 
  'n', 'c', 'r', 'e', 't', 's', 'e', 't', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'f', 'u', 'n', 'c', 'r', 'e', 't', 's', 'e', 
  't', '\022', '\"', '\n', '\014', 'f', 'u', 'n', 'c', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\014', 
  'f', 'u', 'n', 'c', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\022', '6', '\n', '\n', 'f', 'u', 'n', 'c', 'f', 'o', 'r', 'm', 'a', 
  't', '\030', '\006', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 
  'o', 'n', 'F', 'o', 'r', 'm', 'R', '\n', 'f', 'u', 'n', 'c', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\036', '\n', '\n', 'f', 'u', 'n', 
  'c', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\007', ' ', '\001', '(', '\r', 'R', '\n', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'l', 'i', 'd', 
  '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\010', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 
  'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 
  'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\n', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\240', 
  '\001', '\n', '\014', 'N', 'a', 'm', 'e', 'd', 'A', 'r', 'g', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', 
  ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'n', 
  'a', 'm', 'e', '\022', '\034', '\n', '\t', 'a', 'r', 'g', 'n', 'u', 'm', 'b', 'e', 'r', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\t', 'a', 
  'r', 'g', 'n', 'u', 'm', 'b', 'e', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', 
  '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\230', '\002', '\n', '\006', 'O', 'p', 'E', 'x', 'p', 'r', '\022', ' ', '\n', 
  '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\003', 'x', 'p', 'r', '\022', '\022', '\n', '\004', 'o', 'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\004', 'o', 'p', 'n', 
  'o', '\022', '\032', '\n', '\010', 'o', 'p', 'f', 'u', 'n', 'c', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 'f', 'u', 
  'n', 'c', 'i', 'd', '\022', '\"', '\n', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', 
  '\r', 'R', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'o', 'p', 'r', 'e', 't', 's', 
  'e', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'p', 'r', 'e', 't', 's', 'e', 't', '\022', '\032', '\n', '\010', 'o', 'p', 'c', 
  'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 
  'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\007', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 
  'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 
  'i', 'o', 'n', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\236', '\002', '\n', '\014', 'D', 
  'i', 's', 't', 'i', 'n', 'c', 't', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\022', '\n', '\004', 'o', 
  'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\004', 'o', 'p', 'n', 'o', '\022', '\032', '\n', '\010', 'o', 'p', 'f', 'u', 'n', 'c', 
  'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 'f', 'u', 'n', 'c', 'i', 'd', '\022', '\"', '\n', '\014', 'o', 'p', 'r', 
  'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 
  't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'o', 'p', 'r', 'e', 't', 's', 'e', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'o', 
  'p', 'r', 'e', 't', 's', 'e', 't', '\022', '\032', '\n', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 
  'R', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', 
  '\030', '\007', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 
  'g', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\010', 
  'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\234', '\002', '\n', '\n', 'N', 'u', 'l', 'l', 'I', 'f', 'E', 'x', 'p', 'r', '\022', ' ', 
  '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\022', '\n', '\004', 'o', 'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\004', 'o', 'p', 
  'n', 'o', '\022', '\032', '\n', '\010', 'o', 'p', 'f', 'u', 'n', 'c', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 'f', 
  'u', 'n', 'c', 'i', 'd', '\022', '\"', '\n', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', 
  '(', '\r', 'R', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'o', 'p', 'r', 'e', 't', 
  's', 'e', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'p', 'r', 'e', 't', 's', 'e', 't', '\022', '\032', '\n', '\010', 'o', 'p', 
  'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', 
  '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\007', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 
  'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\336', '\001', '\n', '\021', 
  'S', 'c', 'a', 'l', 'a', 'r', 'A', 'r', 'r', 'a', 'y', 'O', 'p', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', 
  '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 
  'r', '\022', '\022', '\n', '\004', 'o', 'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\004', 'o', 'p', 'n', 'o', '\022', '\032', '\n', '\010', 
  'o', 'p', 'f', 'u', 'n', 'c', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 'f', 'u', 'n', 'c', 'i', 'd', '\022', 
  '\025', '\n', '\006', 'u', 's', 'e', '_', 'o', 'r', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\005', 'u', 's', 'e', 'O', 'r', '\022', ' ', '\n', 
  '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 
  'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\234', '\001', '\n', '\010', 
  'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '.', '\n', '\006', 'b', 'o', 'o', 'l', 
  'o', 'p', '\030', '\002', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'E', 
  'x', 'p', 'r', 'T', 'y', 'p', 'e', 'R', '\006', 'b', 'o', 'o', 'l', 'o', 'p', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\003', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 
  's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\"', '\251', '\002', '\n', '\007', 'S', 'u', 'b', 'L', 'i', 'n', 'k', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', 
  '\022', '9', '\n', '\r', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\025', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', 'R', '\013', 's', 'u', 
  'b', 'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', '\022', '\036', '\n', '\013', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', '_', 'i', 'd', '\030', 
  '\003', ' ', '\001', '(', '\005', 'R', '\t', 's', 'u', 'b', 'L', 'i', 'n', 'k', 'I', 'd', '\022', '*', '\n', '\010', 't', 'e', 's', 't', 'e', 
  'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\010', 't', 'e', 's', 't', 'e', 'x', 'p', 'r', '\022', '+', '\n', '\t', 'o', 'p', 'e', 'r', '_', 'n', 'a', 'm', 'e', '\030', '\005', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'o', 'p', 'e', 
  'r', 'N', 'a', 'm', 'e', '\022', ',', '\n', '\t', 's', 'u', 'b', 's', 'e', 'l', 'e', 'c', 't', '\030', '\006', ' ', '\001', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 's', 'u', 'b', 's', 'e', 'l', 'e', 'c', 
  't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\"', '\265', '\005', '\n', '\007', 'S', 'u', 'b', 'P', 'l', 'a', 'n', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', 
  '\022', '9', '\n', '\r', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\025', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', 'R', '\013', 's', 'u', 
  'b', 'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', '\022', '*', '\n', '\010', 't', 'e', 's', 't', 'e', 'x', 'p', 'r', '\030', '\003', ' ', '\001', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 't', 'e', 's', 't', 'e', 
  'x', 'p', 'r', '\022', '+', '\n', '\t', 'p', 'a', 'r', 'a', 'm', '_', 'i', 'd', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'a', 'r', 'a', 'm', 'I', 'd', 's', '\022', '\030', 
  '\n', '\007', 'p', 'l', 'a', 'n', '_', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\007', 'p', 'l', 'a', 'n', '_', 'i', 'd', '\022', 
  '\034', '\n', '\t', 'p', 'l', 'a', 'n', '_', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\t', 'p', 'l', 'a', 'n', '_', 
  'n', 'a', 'm', 'e', '\022', '$', '\n', '\016', 'f', 'i', 'r', 's', 't', '_', 'c', 'o', 'l', '_', 't', 'y', 'p', 'e', '\030', '\007', ' ', 
  '\001', '(', '\r', 'R', '\014', 'f', 'i', 'r', 's', 't', 'C', 'o', 'l', 'T', 'y', 'p', 'e', '\022', '(', '\n', '\020', 'f', 'i', 'r', 's', 
  't', '_', 'c', 'o', 'l', '_', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\016', 'f', 'i', 'r', 's', 't', 
  'C', 'o', 'l', 'T', 'y', 'p', 'm', 'o', 'd', '\022', '.', '\n', '\023', 'f', 'i', 'r', 's', 't', '_', 'c', 'o', 'l', '_', 'c', 'o', 
  'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\t', ' ', '\001', '(', '\r', 'R', '\021', 'f', 'i', 'r', 's', 't', 'C', 'o', 'l', 'C', 'o', 
  'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '$', '\n', '\016', 'u', 's', 'e', '_', 'h', 'a', 's', 'h', '_', 't', 'a', 'b', 'l', 'e', 
  '\030', '\n', ' ', '\001', '(', '\010', 'R', '\014', 'u', 's', 'e', 'H', 'a', 's', 'h', 'T', 'a', 'b', 'l', 'e', '\022', '(', '\n', '\020', 'u', 
  'n', 'k', 'n', 'o', 'w', 'n', '_', 'e', 'q', '_', 'f', 'a', 'l', 's', 'e', '\030', '\013', ' ', '\001', '(', '\010', 'R', '\016', 'u', 'n', 
  'k', 'n', 'o', 'w', 'n', 'E', 'q', 'F', 'a', 'l', 's', 'e', '\022', '$', '\n', '\r', 'p', 'a', 'r', 'a', 'l', 'l', 'e', 'l', '_', 
  's', 'a', 'f', 'e', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\r', 'p', 'a', 'r', 'a', 'l', 'l', 'e', 'l', '_', 's', 'a', 'f', 'e', 
  '\022', '+', '\n', '\t', 's', 'e', 't', '_', 'p', 'a', 'r', 'a', 'm', '\030', '\r', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 's', 'e', 't', 'P', 'a', 'r', 'a', 'm', '\022', '+', '\n', '\t', 'p', 
  'a', 'r', '_', 'p', 'a', 'r', 'a', 'm', '\030', '\016', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'a', 'r', 'P', 'a', 'r', 'a', 'm', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\017', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 
  's', '\022', '\"', '\n', '\014', 's', 't', 'a', 'r', 't', 'u', 'p', '_', 'c', 'o', 's', 't', '\030', '\020', ' ', '\001', '(', '\001', 'R', '\014', 
  's', 't', 'a', 'r', 't', 'u', 'p', '_', 'c', 'o', 's', 't', '\022', '$', '\n', '\r', 'p', 'e', 'r', '_', 'c', 'a', 'l', 'l', '_', 
  'c', 'o', 's', 't', '\030', '\021', ' ', '\001', '(', '\001', 'R', '\r', 'p', 'e', 'r', '_', 'c', 'a', 'l', 'l', '_', 'c', 'o', 's', 't', 
  '\"', 'b', '\n', '\022', 'A', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'e', 'S', 'u', 'b', 'P', 'l', 'a', 'n', '\022', ' ', '\n', 
  '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\003', 'x', 'p', 'r', '\022', '*', '\n', '\010', 's', 'u', 'b', 'p', 'l', 'a', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 's', 'u', 'b', 'p', 'l', 'a', 'n', 's', 
  '\"', '\325', '\001', '\n', '\013', 'F', 'i', 'e', 'l', 'd', 'S', 'e', 'l', 'e', 'c', 't', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', 
  '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\032', '\n', '\010', 'f', 'i', 'e', 'l', 'd', 'n', 'u', 'm', '\030', '\003', ' ', '\001', 
  '(', '\005', 'R', '\010', 'f', 'i', 'e', 'l', 'd', 'n', 'u', 'm', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 
  'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'r', 'e', 
  's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 
  'y', 'p', 'm', 'o', 'd', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', 
  '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\"', '\310', '\001', '\n', '\n', 'F', 'i', 'e', 'l', 
  'd', 'S', 't', 'o', 'r', 'e', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', 
  '(', '\n', '\007', 'n', 'e', 'w', 'v', 'a', 'l', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'n', 'e', 'w', 'v', 'a', 'l', 's', '\022', ',', '\n', '\t', 'f', 'i', 'e', 'l', 'd', 
  'n', 'u', 'm', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\t', 'f', 'i', 'e', 'l', 'd', 'n', 'u', 'm', 's', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 
  'e', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\"', '\223', '\002', '\n', '\013', 'R', 
  'e', 'l', 'a', 'b', 'e', 'l', 'T', 'y', 'p', 'e', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 
  'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 
  'a', 'r', 'g', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 
  'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 
  'd', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\"', '\n', '\014', 
  'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 
  't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '<', '\n', '\r', 'r', 'e', 'l', 'a', 'b', 'e', 'l', 'f', 'o', 'r', 'm', 'a', 't', '\030', 
  '\006', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 
  'F', 'o', 'r', 'm', 'R', '\r', 'r', 'e', 'l', 'a', 'b', 'e', 'l', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 
  'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\355', '\001', 
  '\n', '\013', 'C', 'o', 'e', 'r', 'c', 'e', 'V', 'i', 'a', 'I', 'O', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', 
  '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\003', 'a', 'r', 'g', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', 
  '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 
  'l', 'l', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', 
  ':', '\n', '\014', 'c', 'o', 'e', 'r', 'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\005', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', '\014', 'c', 'o', 'e', 
  'r', 'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', 
  '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\301', '\002', '\n', '\017', 'A', 'r', 'r', 'a', 'y', 'C', 'o', 'e', 
  'r', 'c', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', 
  '\022', '*', '\n', '\010', 'e', 'l', 'e', 'm', 'e', 'x', 'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'e', 'l', 'e', 'm', 'e', 'x', 'p', 'r', '\022', '\036', '\n', '\n', 'r', 'e', 
  's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 
  'e', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\014', 
  'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 
  'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ':', 
  '\n', '\014', 'c', 'o', 'e', 'r', 'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\007', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', '\014', 'c', 'o', 'e', 'r', 
  'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', 
  '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\322', '\001', '\n', '\022', 'C', 'o', 'n', 'v', 'e', 'r', 't', 'R', 'o', 
  'w', 't', 'y', 'p', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', 
  '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 
  'r', 'g', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'r', 
  'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '<', '\n', '\r', 'c', 'o', 'n', 'v', 'e', 'r', 't', 'f', 'o', 'r', 'm', 'a', 
  't', '\030', '\004', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 
  'o', 'n', 'F', 'o', 'r', 'm', 'R', '\r', 'c', 'o', 'n', 'v', 'e', 'r', 't', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 
  'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
  '\210', '\001', '\n', '\013', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', 
  ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\031', '\n', '\010', 'c', 'o', 'l', 'l', '_', 'o', 'i', 'd', '\030', '\003', ' ', '\001', '(', 
  '\r', 'R', '\007', 'c', 'o', 'l', 'l', 'O', 'i', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', 
  '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\370', '\001', '\n', '\010', 'C', 'a', 's', 'e', 'E', 'x', 'p', 
  'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'c', 'a', 's', 'e', 't', 'y', 'p', 'e', '\030', '\002', ' ', 
  '\001', '(', '\r', 'R', '\010', 'c', 'a', 's', 'e', 't', 'y', 'p', 'e', '\022', '\036', '\n', '\n', 'c', 'a', 's', 'e', 'c', 'o', 'l', 'l', 
  'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'c', 'a', 's', 'e', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\003', 'a', 
  'r', 'g', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\003', 'a', 'r', 'g', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 'd', 'e', 'f', 'r', 'e', 's', 
  'u', 'l', 't', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\t', 'd', 'e', 'f', 'r', 'e', 's', 'u', 'l', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', 
  ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\224', '\001', '\n', '\010', 'C', 'a', 's', 'e', 'W', 'h', 
  'e', 'n', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', '\022', '&', '\n', 
  '\006', 'r', 'e', 's', 'u', 'l', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\006', 'r', 'e', 's', 'u', 'l', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', 
  '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\202', '\001', '\n', '\014', 'C', 'a', 's', 'e', 'T', 
  'e', 's', 't', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\027', '\n', '\007', 't', 'y', 'p', 'e', '_', 
  'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 't', 'y', 'p', 'e', 'I', 'd', '\022', '\031', '\n', '\010', 't', 'y', 'p', 'e', '_', 
  'm', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\007', 't', 'y', 'p', 'e', 'M', 'o', 'd', '\022', '\034', '\n', '\t', 'c', 'o', 'l', 
  'l', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\"', '\203', 
  '\002', '\n', '\t', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\014', 
  'a', 'r', 'r', 'a', 'y', '_', 't', 'y', 'p', 'e', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\014', 'a', 'r', 'r', 'a', 'y', 
  '_', 't', 'y', 'p', 'e', 'i', 'd', '\022', '\"', '\n', '\014', 'a', 'r', 'r', 'a', 'y', '_', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', 
  ' ', '\001', '(', '\r', 'R', '\014', 'a', 'r', 'r', 'a', 'y', '_', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '&', '\n', '\016', 'e', 'l', 'e', 
  'm', 'e', 'n', 't', '_', 't', 'y', 'p', 'e', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\016', 'e', 'l', 'e', 'm', 'e', 'n', 
  't', '_', 't', 'y', 'p', 'e', 'i', 'd', '\022', '*', '\n', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 's', '\030', '\005', ' ', '\003', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 
  't', 's', '\022', '\034', '\n', '\t', 'm', 'u', 'l', 't', 'i', 'd', 'i', 'm', 's', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\t', 'm', 'u', 
  'l', 't', 'i', 'd', 'i', 'm', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 
  'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\357', '\001', '\n', '\007', 'R', 'o', 'w', 'E', 'x', 'p', 'r', '\022', ' ', '\n', 
  '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\036', '\n', '\n', 'r', 'o', 'w', '_', 
  't', 'y', 'p', 'e', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'o', 'w', '_', 't', 'y', 'p', 'e', 'i', 'd', '\022', 
  '6', '\n', '\n', 'r', 'o', 'w', '_', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\004', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', '\n', 'r', 'o', 'w', '_', 'f', 
  'o', 'r', 'm', 'a', 't', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\022', 
  '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
  'o', 'n', '\"', '\272', '\002', '\n', '\016', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 
  'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\003', 'x', 'p', 'r', '\022', '0', '\n', '\006', 'r', 'c', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'T', 'y', 'p', 'e', 'R', '\006', 'r', 
  'c', 't', 'y', 'p', 'e', '\022', '$', '\n', '\005', 'o', 'p', 'n', 'o', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'o', 'p', 'n', 'o', 's', '\022', '.', '\n', '\n', 'o', 'p', 'f', 
  'a', 'm', 'i', 'l', 'i', 'e', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\n', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'i', 'e', 's', '\022', '2', '\n', '\014', 'i', 'n', 'p', 'u', 't', 
  'c', 'o', 'l', 'l', 'i', 'd', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\014', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', 's', '\022', '$', '\n', '\005', 'l', 'a', 'r', 
  'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\005', 'l', 'a', 'r', 'g', 's', '\022', '$', '\n', '\005', 'r', 'a', 'r', 'g', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'a', 'r', 'g', 's', '\"', '\274', '\001', '\n', '\014', 'C', 
  'o', 'a', 'l', 'e', 's', 'c', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\014', 'c', 
  'o', 'a', 'l', 'e', 's', 'c', 'e', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\014', 'c', 'o', 'a', 'l', 'e', 's', 
  'c', 'e', 't', 'y', 'p', 'e', '\022', '&', '\n', '\016', 'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'c', 'o', 'l', 'l', 'i', 'd', '\030', 
  '\003', ' ', '\001', '(', '\r', 'R', '\016', 'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 
  'a', 'r', 'g', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 
  'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\370', '\001', '\n', '\n', 'M', 'i', 'n', 'M', 'a', 'x', 'E', 'x', 'p', 'r', 
  '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\036', '\n', '\n', 'm', 'i', 'n', 'm', 'a', 'x', 't', 'y', 'p', 'e', '\030', '\002', 
  ' ', '\001', '(', '\r', 'R', '\n', 'm', 'i', 'n', 'm', 'a', 'x', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'm', 'i', 'n', 'm', 'a', 
  'x', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\014', 'm', 'i', 'n', 'm', 'a', 'x', 'c', 'o', 'l', 'l', 
  'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\013', 
  'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\002', 'o', 'p', '\030', '\005', ' ', '\001', '(', '\016', '2', '\022', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'i', 'n', 'M', 'a', 'x', 'O', 'p', 'R', '\002', 'o', 'p', '\022', '\"', '\n', 
  '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', 
  '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\252', '\001', '\n', '\020', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 
  'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ',', '\n', '\002', 'o', 'p', '\030', '\002', ' ', 
  '\001', '(', '\016', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 'u', 
  'n', 'c', 't', 'i', 'o', 'n', 'O', 'p', 'R', '\002', 'o', 'p', '\022', '\022', '\n', '\004', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', 
  '\r', 'R', '\004', 't', 'y', 'p', 'e', '\022', '\026', '\n', '\006', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\006', 
  't', 'y', 'p', 'm', 'o', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', 
  '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\345', '\002', '\n', '\007', 'X', 'm', 'l', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 
  'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\003', 'x', 'p', 'r', '\022', '#', '\n', '\002', 'o', 'p', '\030', '\002', ' ', '\001', '(', '\016', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'X', 'm', 'l', 'E', 'x', 'p', 'r', 'O', 'p', 'R', '\002', 'o', 'p', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', 
  '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\n', 'n', 'a', 'm', 'e', 'd', '_', 'a', 'r', 'g', 
  's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 
  'n', 'a', 'm', 'e', 'd', '_', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 'a', 'r', 'g', '_', 'n', 'a', 'm', 'e', 's', '\030', '\005', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'a', 'r', 'g', 
  '_', 'n', 'a', 'm', 'e', 's', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '5', '\n', '\t', 'x', 'm', 'l', 'o', 
  'p', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'X', 'm', 
  'l', 'O', 'p', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 'R', '\t', 'x', 'm', 'l', 'o', 'p', 't', 'i', 'o', 'n', '\022', '\022', '\n', 
  '\004', 't', 'y', 'p', 'e', '\030', '\010', ' ', '\001', '(', '\r', 'R', '\004', 't', 'y', 'p', 'e', '\022', '\026', '\n', '\006', 't', 'y', 'p', 'm', 
  'o', 'd', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\006', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 
  'i', 'o', 'n', '\030', '\n', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\302', '\001', '\n', '\010', 'N', 
  'u', 'l', 'l', 'T', 'e', 's', 't', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', 
  '\022', ':', '\n', '\014', 'n', 'u', 'l', 'l', 't', 'e', 's', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'u', 'l', 'l', 'T', 'e', 's', 't', 'T', 'y', 'p', 'e', 'R', '\014', 'n', 'u', 
  'l', 'l', 't', 'e', 's', 't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'a', 'r', 'g', 'i', 's', 'r', 'o', 'w', '\030', '\004', ' ', 
  '\001', '(', '\010', 'R', '\010', 'a', 'r', 'g', 'i', 's', 'r', 'o', 'w', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
  '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\251', '\001', '\n', '\013', 'B', 'o', 'o', 'l', 
  'e', 'a', 'n', 'T', 'e', 's', 't', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', 
  '\022', ':', '\n', '\014', 'b', 'o', 'o', 'l', 't', 'e', 's', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'T', 'e', 's', 't', 'T', 'y', 'p', 'e', 'R', '\014', 'b', 'o', 
  'o', 'l', 't', 'e', 's', 't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', 
  '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\230', '\002', '\n', '\016', 'C', 'o', 'e', 'r', 'c', 'e', 'T', 
  'o', 'D', 'o', 'm', 'a', 'i', 'n', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', 
  '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 
  'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\004', 
  ' ', '\001', '(', '\005', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\"', '\n', '\014', 'r', 'e', 's', 
  'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 
  'l', 'l', 'i', 'd', '\022', '>', '\n', '\016', 'c', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\006', ' ', 
  '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 
  'r', 'm', 'R', '\016', 'c', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 
  'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\245', '\001', '\n', 
  '\023', 'C', 'o', 'e', 'r', 'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', 'V', 'a', 'l', 'u', 'e', '\022', ' ', '\n', '\003', 'x', 
  'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\003', 'x', 'p', 'r', '\022', '\027', '\n', '\007', 't', 'y', 'p', 'e', '_', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 't', 'y', 
  'p', 'e', 'I', 'd', '\022', '\031', '\n', '\010', 't', 'y', 'p', 'e', '_', 'm', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\007', 't', 
  'y', 'p', 'e', 'M', 'o', 'd', '\022', '\034', '\n', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\r', 
  'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', 
  ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\236', '\001', '\n', '\014', 'S', 'e', 't', 'T', 'o', 'D', 
  'e', 'f', 'a', 'u', 'l', 't', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\027', '\n', '\007', 't', 'y', 'p', 'e', '_', 'i', 
  'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 't', 'y', 'p', 'e', 'I', 'd', '\022', '\031', '\n', '\010', 't', 'y', 'p', 'e', '_', 'm', 
  'o', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\007', 't', 'y', 'p', 'e', 'M', 'o', 'd', '\022', '\034', '\n', '\t', 'c', 'o', 'l', 'l', 
  'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', 
  '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
  '\"', '\217', '\001', '\n', '\r', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'O', 'f', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', 
  '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 
  'p', 'r', '\022', '\026', '\n', '\006', 'c', 'v', 'a', 'r', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 'c', 'v', 'a', 'r', 'n', 
  'o', '\022', ' ', '\n', '\013', 'c', 'u', 'r', 's', 'o', 'r', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\013', 'c', 
  'u', 'r', 's', 'o', 'r', '_', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\014', 'c', 'u', 'r', 's', 'o', 'r', '_', 'p', 'a', 'r', 'a', 
  'm', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\014', 'c', 'u', 'r', 's', 'o', 'r', '_', 'p', 'a', 'r', 'a', 'm', '\"', '`', '\n', '\r', 
  'N', 'e', 'x', 't', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\024', '\n', 
  '\005', 's', 'e', 'q', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\005', 's', 'e', 'q', 'i', 'd', '\022', '\027', '\n', '\007', 't', 'y', 
  'p', 'e', '_', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\006', 't', 'y', 'p', 'e', 'I', 'd', '\"', '\233', '\001', '\n', '\r', 'I', 
  'n', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'E', 'l', 'e', 'm', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 
  'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\004', 'e', 'x', 'p', 'r', '\022', ' ', '\n', '\013', 'i', 'n', 'f', 'e', 'r', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', 
  '\001', '(', '\r', 'R', '\013', 'i', 'n', 'f', 'e', 'r', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\014', 'i', 'n', 'f', 'e', 'r', 
  'o', 'p', 'c', 'l', 'a', 's', 's', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\014', 'i', 'n', 'f', 'e', 'r', 'o', 'p', 'c', 'l', 'a', 
  's', 's', '\"', '\207', '\002', '\n', '\013', 'T', 'a', 'r', 'g', 'e', 't', 'E', 'n', 't', 'r', 'y', '\022', ' ', '\n', '\003', 'x', 'p', 'r', 
  '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 
  'p', 'r', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', '\022', '\024', '\n', '\005', 'r', 'e', 's', 'n', 'o', '\030', '\003', ' ', 
  '\001', '(', '\005', 'R', '\005', 'r', 'e', 's', 'n', 'o', '\022', '\030', '\n', '\007', 'r', 'e', 's', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', 
  '(', '\t', 'R', '\007', 'r', 'e', 's', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\017', 'r', 'e', 's', 's', 'o', 'r', 't', 'g', 'r', 'o', 
  'u', 'p', 'r', 'e', 'f', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\017', 'r', 'e', 's', 's', 'o', 'r', 't', 'g', 'r', 'o', 'u', 'p', 
  'r', 'e', 'f', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'o', 'r', 'i', 'g', 't', 'b', 'l', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\n', 
  'r', 'e', 's', 'o', 'r', 'i', 'g', 't', 'b', 'l', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'o', 'r', 'i', 'g', 'c', 'o', 'l', '\030', 
  '\007', ' ', '\001', '(', '\005', 'R', '\n', 'r', 'e', 's', 'o', 'r', 'i', 'g', 'c', 'o', 'l', '\022', '\030', '\n', '\007', 'r', 'e', 's', 'j', 
  'u', 'n', 'k', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 's', 'j', 'u', 'n', 'k', '\"', '\'', '\n', '\013', 'R', 'a', 'n', 
  'g', 'e', 'T', 'b', 'l', 'R', 'e', 'f', '\022', '\030', '\n', '\007', 'r', 't', 'i', 'n', 'd', 'e', 'x', '\030', '\001', ' ', '\001', '(', '\005', 
  'R', '\007', 'r', 't', 'i', 'n', 'd', 'e', 'x', '\"', '\273', '\002', '\n', '\010', 'J', 'o', 'i', 'n', 'E', 'x', 'p', 'r', '\022', '.', '\n', 
  '\010', 'j', 'o', 'i', 'n', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'J', 'o', 'i', 'n', 'T', 'y', 'p', 'e', 'R', '\010', 'j', 'o', 'i', 'n', 't', 'y', 'p', 'e', '\022', '\035', '\n', '\n', 'i', 
  's', '_', 'n', 'a', 't', 'u', 'r', 'a', 'l', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\t', 'i', 's', 'N', 'a', 't', 'u', 'r', 'a', 
  'l', '\022', '\"', '\n', '\004', 'l', 'a', 'r', 'g', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'l', 'a', 'r', 'g', '\022', '\"', '\n', '\004', 'r', 'a', 'r', 'g', '\030', '\004', ' ', '\001', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'r', 'a', 'r', 'g', '\022', '1', 
  '\n', '\014', 'u', 's', 'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'u', 's', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', 
  '$', '\n', '\005', 'q', 'u', 'a', 'l', 's', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'a', 'l', 's', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\007', ' ', '\001', 
  '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 
  's', '\022', '\030', '\n', '\007', 'r', 't', 'i', 'n', 'd', 'e', 'x', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\007', 'r', 't', 'i', 'n', 'd', 
  'e', 'x', '\"', '\\', '\n', '\010', 'F', 'r', 'o', 'm', 'E', 'x', 'p', 'r', '\022', '*', '\n', '\010', 'f', 'r', 'o', 'm', 'l', 'i', 's', 
  't', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 
  'f', 'r', 'o', 'm', 'l', 'i', 's', 't', '\022', '$', '\n', '\005', 'q', 'u', 'a', 'l', 's', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'a', 'l', 's', '\"', '\236', '\003', '\n', 
  '\016', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'E', 'x', 'p', 'r', '\022', '2', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', 
  '\030', '\001', ' ', '\001', '(', '\016', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 
  'i', 'c', 't', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\022', '3', '\n', '\r', 'a', 'r', 'b', 'i', 
  't', 'e', 'r', '_', 'e', 'l', 'e', 'm', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'a', 'r', 'b', 'i', 't', 'e', 'r', 'E', 'l', 'e', 'm', 's', '\022', '3', '\n', '\r', 'a', 
  'r', 'b', 'i', 't', 'e', 'r', '_', 'w', 'h', 'e', 'r', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'a', 'r', 'b', 'i', 't', 'e', 'r', 'W', 'h', 'e', 'r', 'e', '\022', '\036', 
  '\n', '\n', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'c', 'o', 'n', 's', 't', 
  'r', 'a', 'i', 'n', 't', '\022', '6', '\n', '\017', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 's', 'e', 't', '\030', 
  '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'o', 'n', 
  'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'S', 'e', 't', '\022', ':', '\n', '\021', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 
  't', '_', 'w', 'h', 'e', 'r', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\017', 'o', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'W', 'h', 'e', 'r', 'e', '\022', '$', '\n', '\016', 
  'e', 'x', 'c', 'l', '_', 'r', 'e', 'l', '_', 'i', 'n', 'd', 'e', 'x', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\014', 'e', 'x', 'c', 
  'l', 'R', 'e', 'l', 'I', 'n', 'd', 'e', 'x', '\022', '4', '\n', '\016', 'e', 'x', 'c', 'l', '_', 'r', 'e', 'l', '_', 't', 'l', 'i', 
  's', 't', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\014', 'e', 'x', 'c', 'l', 'R', 'e', 'l', 'T', 'l', 'i', 's', 't', '\"', '\333', '\002', '\n', '\n', 'I', 'n', 't', 'o', 'C', 'l', 'a', 
  'u', 's', 'e', '\022', '$', '\n', '\003', 'r', 'e', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\003', 'r', 'e', 'l', '\022', '+', '\n', '\t', 'c', 'o', 'l', '_', 'n', 
  'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\010', 'c', 'o', 'l', 'N', 'a', 'm', 'e', 's', '\022', '#', '\n', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 
  'h', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\014', 'a', 'c', 'c', 'e', 's', 's', 'M', 'e', 't', 'h', 'o', 'd', '\022', '(', 
  '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '5', '\n', '\t', 'o', 'n', '_', 'c', 'o', 'm', 
  'm', 'i', 't', '\030', '\005', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 
  'm', 'm', 'i', 't', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\010', 'o', 'n', 'C', 'o', 'm', 'm', 'i', 't', '\022', '(', '\n', '\020', 't', 
  'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 
  'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'N', 'a', 'm', 'e', '\022', '-', '\n', '\n', 'v', 'i', 'e', 'w', '_', 'q', 'u', 'e', 'r', 
  'y', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 
  'v', 'i', 'e', 'w', 'Q', 'u', 'e', 'r', 'y', '\022', '\033', '\n', '\t', 's', 'k', 'i', 'p', '_', 'd', 'a', 't', 'a', '\030', '\010', ' ', 
  '\001', '(', '\010', 'R', '\010', 's', 'k', 'i', 'p', 'D', 'a', 't', 'a', '\"', 'o', '\n', '\007', 'R', 'a', 'w', 'S', 't', 'm', 't', '\022', 
  '\"', '\n', '\004', 's', 't', 'm', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\004', 's', 't', 'm', 't', '\022', '$', '\n', '\r', 's', 't', 'm', 't', '_', 'l', 'o', 'c', 'a', 't', 'i', 
  'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\r', 's', 't', 'm', 't', '_', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '\032', 
  '\n', '\010', 's', 't', 'm', 't', '_', 'l', 'e', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 's', 't', 'm', 't', '_', 'l', 'e', 
  'n', '\"', '\234', '\r', '\n', '\005', 'Q', 'u', 'e', 'r', 'y', '\022', '4', '\n', '\014', 'c', 'o', 'm', 'm', 'a', 'n', 'd', '_', 't', 'y', 
  'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'm', 'd', 'T', 'y', 
  'p', 'e', 'R', '\013', 'c', 'o', 'm', 'm', 'a', 'n', 'd', 'T', 'y', 'p', 'e', '\022', '8', '\n', '\014', 'q', 'u', 'e', 'r', 'y', '_', 
  's', 'o', 'u', 'r', 'c', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'Q', 
  'u', 'e', 'r', 'y', 'S', 'o', 'u', 'r', 'c', 'e', 'R', '\013', 'q', 'u', 'e', 'r', 'y', 'S', 'o', 'u', 'r', 'c', 'e', '\022', '\036', 
  '\n', '\013', 'c', 'a', 'n', '_', 's', 'e', 't', '_', 't', 'a', 'g', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\t', 'c', 'a', 'n', 'S', 
  'e', 't', 'T', 'a', 'g', '\022', '1', '\n', '\014', 'u', 't', 'i', 'l', 'i', 't', 'y', '_', 's', 't', 'm', 't', '\030', '\004', ' ', '\001', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'u', 't', 'i', 'l', 'i', 
  't', 'y', 'S', 't', 'm', 't', '\022', '\'', '\n', '\017', 'r', 'e', 's', 'u', 'l', 't', '_', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 
  '\030', '\005', ' ', '\001', '(', '\005', 'R', '\016', 'r', 'e', 's', 'u', 'l', 't', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\031', '\n', 
  '\010', 'h', 'a', 's', '_', 'a', 'g', 'g', 's', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\007', 'h', 'a', 's', 'A', 'g', 'g', 's', '\022', 
  '(', '\n', '\020', 'h', 'a', 's', '_', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'f', 'u', 'n', 'c', 's', '\030', '\007', ' ', '\001', '(', '\010', 
  'R', '\016', 'h', 'a', 's', 'W', 'i', 'n', 'd', 'o', 'w', 'F', 'u', 'n', 'c', 's', '\022', '&', '\n', '\017', 'h', 'a', 's', '_', 't', 
  'a', 'r', 'g', 'e', 't', '_', 's', 'r', 'f', 's', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\r', 'h', 'a', 's', 'T', 'a', 'r', 'g', 
  'e', 't', 'S', 'R', 'F', 's', '\022', '\"', '\n', '\r', 'h', 'a', 's', '_', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', 's', '\030', '\t', 
  ' ', '\001', '(', '\010', 'R', '\013', 'h', 'a', 's', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 's', '\022', '&', '\n', '\017', 'h', 'a', 's', '_', 
  'd', 'i', 's', 't', 'i', 'n', 'c', 't', '_', 'o', 'n', '\030', '\n', ' ', '\001', '(', '\010', 'R', '\r', 'h', 'a', 's', 'D', 'i', 's', 
  't', 'i', 'n', 'c', 't', 'O', 'n', '\022', '#', '\n', '\r', 'h', 'a', 's', '_', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\030', 
  '\013', ' ', '\001', '(', '\010', 'R', '\014', 'h', 'a', 's', 'R', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\022', '*', '\n', '\021', 'h', 'a', 
  's', '_', 'm', 'o', 'd', 'i', 'f', 'y', 'i', 'n', 'g', '_', 'c', 't', 'e', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\017', 'h', 'a', 
  's', 'M', 'o', 'd', 'i', 'f', 'y', 'i', 'n', 'g', 'C', 'T', 'E', '\022', '$', '\n', '\016', 'h', 'a', 's', '_', 'f', 'o', 'r', '_', 
  'u', 'p', 'd', 'a', 't', 'e', '\030', '\r', ' ', '\001', '(', '\010', 'R', '\014', 'h', 'a', 's', 'F', 'o', 'r', 'U', 'p', 'd', 'a', 't', 
  'e', '\022', '(', '\n', '\020', 'h', 'a', 's', '_', 'r', 'o', 'w', '_', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\030', '\016', ' ', '\001', 
  '(', '\010', 'R', '\016', 'h', 'a', 's', 'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\022', ')', '\n', '\010', 'c', 't', 'e', 
  '_', 'l', 'i', 's', 't', '\030', '\017', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\007', 'c', 't', 'e', 'L', 'i', 's', 't', '\022', '&', '\n', '\006', 'r', 't', 'a', 'b', 'l', 'e', '\030', '\020', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'r', 't', 'a', 'b', 'l', 
  'e', '\022', '.', '\n', '\010', 'j', 'o', 'i', 'n', 't', 'r', 'e', 'e', '\030', '\021', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'F', 'r', 'o', 'm', 'E', 'x', 'p', 'r', 'R', '\010', 'j', 'o', 'i', 'n', 't', 'r', 'e', 'e', '\022', 
  '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\022', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 'L', 'i', 's', 't', '\022', '4', 
  '\n', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\023', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'i', 'n', 'g', 'K', 'i', 'n', 'd', 'R', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 
  'd', 'e', '\022', '9', '\n', '\013', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '\030', '\024', ' ', '\001', '(', '\013', '2', '\030', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'E', 'x', 'p', 'r', 'R', 
  '\n', 'o', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', '\022', '5', '\n', '\016', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 
  'l', 'i', 's', 't', '\030', '\025', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'L', 'i', 's', 't', '\022', '1', '\n', '\014', 'g', 'r', 'o', 'u', 'p', 
  '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\026', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\013', 'g', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', '\022', '3', '\n', '\r', 'g', 'r', 'o', 'u', 
  'p', 'i', 'n', 'g', '_', 's', 'e', 't', 's', '\030', '\027', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'g', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', 's', '\022', '/', '\n', '\013', 'h', 
  'a', 'v', 'i', 'n', 'g', '_', 'q', 'u', 'a', 'l', '\030', '\030', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'h', 'a', 'v', 'i', 'n', 'g', 'Q', 'u', 'a', 'l', '\022', '3', '\n', '\r', 'w', 'i', 
  'n', 'd', 'o', 'w', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\031', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'w', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', '\022', '7', '\n', 
  '\017', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\032', ' ', '\003', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', 'C', 'l', 
  'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 's', 'o', 'r', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\033', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 's', 'o', 'r', 't', 'C', 'l', 'a', 
  'u', 's', 'e', '\022', '1', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 'o', 'f', 'f', 's', 'e', 't', '\030', '\034', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'l', 'i', 'm', 'i', 't', 'O', 'f', 
  'f', 's', 'e', 't', '\022', '/', '\n', '\013', 'l', 'i', 'm', 'i', 't', '_', 'c', 'o', 'u', 'n', 't', '\030', '\035', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'l', 'i', 'm', 'i', 't', 'C', 'o', 
  'u', 'n', 't', '\022', '8', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 'o', 'p', 't', 'i', 'o', 'n', '\030', '\036', ' ', '\001', '(', '\016', 
  '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', 'R', '\013', 
  'l', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', '\022', '+', '\n', '\t', 'r', 'o', 'w', '_', 'm', 'a', 'r', 'k', 's', '\030', 
  '\037', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'r', 'o', 
  'w', 'M', 'a', 'r', 'k', 's', '\022', '5', '\n', '\016', 's', 'e', 't', '_', 'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 's', '\030', 
  ' ', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 's', 'e', 
  't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 's', '\022', '7', '\n', '\017', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 
  '_', 'd', 'e', 'p', 's', '\030', '!', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\016', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 'D', 'e', 'p', 's', '\022', '<', '\n', '\022', 'w', 'i', 't', 
  'h', '_', 'c', 'h', 'e', 'c', 'k', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\"', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\020', 'w', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 
  't', 'i', 'o', 'n', 's', '\022', '$', '\n', '\r', 's', 't', 'm', 't', '_', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '#', ' ', 
  '\001', '(', '\005', 'R', '\r', 's', 't', 'm', 't', '_', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 's', 't', 'm', 
  't', '_', 'l', 'e', 'n', '\030', '$', ' ', '\001', '(', '\005', 'R', '\010', 's', 't', 'm', 't', '_', 'l', 'e', 'n', '\"', '\377', '\002', '\n', 
  '\n', 'I', 'n', 's', 'e', 'r', 't', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', 
  ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', 
  '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\"', '\n', '\004', 'c', 'o', 'l', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'c', 'o', 'l', 's', '\022', '/', '\n', '\013', 's', 
  'e', 'l', 'e', 'c', 't', '_', 's', 't', 'm', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 's', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', '\022', 'H', '\n', '\022', 'o', 'n', 
  '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\032', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'C', 'l', 'a', 'u', 's', 'e', 
  'R', '\020', 'o', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', '5', '\n', '\016', 'r', 'e', 't', 
  'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'L', 'i', 's', 't', '\022', '5', 
  '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'w', 'i', 't', 'h', 'C', 'l', 'a', 
  'u', 's', 'e', '\022', '4', '\n', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\007', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'i', 'n', 'g', 'K', 'i', 'n', 'd', 'R', '\010', 'o', 
  'v', 'e', 'r', 'r', 'i', 'd', 'e', '\"', '\220', '\002', '\n', '\n', 'D', 'e', 'l', 'e', 't', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', 
  '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '1', '\n', '\014', 'u', 
  's', 'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'u', 's', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 
  'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '5', '\n', 
  '\016', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 's', 't', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'L', 'i', 
  's', 't', '\022', '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', '\024', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'w', 'i', 't', 
  'h', 'C', 'l', 'a', 'u', 's', 'e', '\"', '\277', '\002', '\n', '\n', 'U', 'p', 'd', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', 
  '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '/', '\n', '\013', 't', 
  'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 'L', 'i', 's', 't', '\022', '1', '\n', '\014', 'w', 'h', 
  'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 'f', 
  'r', 'o', 'm', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'f', 'r', 'o', 'm', 'C', 'l', 'a', 'u', 's', 'e', '\022', '5', '\n', '\016', 'r', 'e', 
  't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'L', 'i', 's', 't', '\022', 
  '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'w', 'i', 't', 'h', 'C', 'l', 
  'a', 'u', 's', 'e', '\"', '\254', '\007', '\n', '\n', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', '\022', '7', '\n', '\017', 'd', 'i', 
  's', 't', 'i', 'n', 'c', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', 'C', 'l', 'a', 'u', 's', 
  'e', '\022', '5', '\n', '\013', 'i', 'n', 't', 'o', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'o', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'i', 'n', 't', 'o', 
  'C', 'l', 'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\003', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 
  't', 'L', 'i', 's', 't', '\022', '/', '\n', '\013', 'f', 'r', 'o', 'm', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\003', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'f', 'r', 'o', 'm', 'C', 'l', 
  'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\005', ' ', '\001', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 
  'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'g', 'r', 'o', 'u', 'p', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'g', 'r', 'o', 'u', 'p', 
  'C', 'l', 'a', 'u', 's', 'e', '\022', '3', '\n', '\r', 'h', 'a', 'v', 'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\007', 
  ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'h', 'a', 'v', 
  'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', '3', '\n', '\r', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'c', 'l', 'a', 'u', 's', 
  'e', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 
  'w', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'v', 'a', 'l', 'u', 'e', 's', '_', 'l', 'i', 
  's', 't', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\013', 'v', 'a', 'l', 'u', 'e', 's', 'L', 'i', 's', 't', 's', '\022', '/', '\n', '\013', 's', 'o', 'r', 't', '_', 'c', 'l', 'a', 
  'u', 's', 'e', '\030', '\n', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\n', 's', 'o', 'r', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 'o', 'f', 'f', 
  's', 'e', 't', '\030', '\013', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\013', 'l', 'i', 'm', 'i', 't', 'O', 'f', 'f', 's', 'e', 't', '\022', '/', '\n', '\013', 'l', 'i', 'm', 'i', 't', '_', 'c', 'o', 
  'u', 'n', 't', '\030', '\014', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\n', 'l', 'i', 'm', 'i', 't', 'C', 'o', 'u', 'n', 't', '\022', '8', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 'o', 'p', 't', 
  'i', 'o', 'n', '\030', '\r', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'i', 'm', 'i', 
  't', 'O', 'p', 't', 'i', 'o', 'n', 'R', '\013', 'l', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', '\022', '5', '\n', '\016', 'l', 
  'o', 'c', 'k', 'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\016', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'l', 'o', 'c', 'k', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', 
  '\022', '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\017', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'w', 'i', 't', 'h', 'C', 
  'l', 'a', 'u', 's', 'e', '\022', '&', '\n', '\002', 'o', 'p', '\030', '\020', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\002', 'o', 'p', '\022', '\020', '\n', '\003', 'a', 
  'l', 'l', '\030', '\021', ' ', '\001', '(', '\010', 'R', '\003', 'a', 'l', 'l', '\022', '(', '\n', '\004', 'l', 'a', 'r', 'g', '\030', '\022', ' ', '\001', 
  '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', 'R', 
  '\004', 'l', 'a', 'r', 'g', '\022', '(', '\n', '\004', 'r', 'a', 'r', 'g', '\030', '\023', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', 'R', '\004', 'r', 'a', 'r', 'g', '\"', '\264', '\001', 
  '\n', '\016', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 
  'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 
  'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\"', '\n', '\004', 'c', 'm', 'd', 's', '\030', '\002', ' ', 
  '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'c', 'm', 'd', 's', 
  '\022', '.', '\n', '\007', 'r', 'e', 'l', 'k', 'i', 'n', 'd', '\030', '\003', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'r', 'e', 'l', 'k', 'i', 'n', 'd', '\022', '\036', 
  '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 
  'n', 'g', '_', 'o', 'k', '\"', '\217', '\002', '\n', '\r', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'C', 'm', 'd', '\022', '2', 
  '\n', '\007', 's', 'u', 'b', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'T', 'y', 'p', 'e', 'R', '\007', 's', 'u', 'b', 't', 'y', 'p', 'e', 
  '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\020', '\n', '\003', 'n', 
  'u', 'm', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\003', 'n', 'u', 'm', '\022', '.', '\n', '\010', 'n', 'e', 'w', 'o', 'w', 'n', 'e', 'r', 
  '\030', '\004', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 
  'c', 'R', '\010', 'n', 'e', 'w', 'o', 'w', 'n', 'e', 'r', '\022', ' ', '\n', '\003', 'd', 'e', 'f', '\030', '\005', ' ', '\001', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'd', 'e', 'f', '\022', '2', '\n', '\010', 'b', 
  'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\006', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '\036', '\n', 
  '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 
  'g', '_', 'o', 'k', '\"', '\342', '\001', '\n', '\017', 'A', 'l', 't', 'e', 'r', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', 
  '\030', '\n', '\007', 's', 'u', 'b', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 't', 'y', 'p', 'e', 
  '\022', '+', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\022', '\n', '\004', 'n', 
  'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', ' ', '\n', '\003', 'd', 'e', 'f', '\030', '\004', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'd', 'e', 'f', '\022', 
  '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\005', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 
  'r', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 
  's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\336', '\002', '\n', '\020', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 
  'S', 't', 'm', 't', '\022', '&', '\n', '\002', 'o', 'p', '\030', '\001', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\002', 'o', 'p', '\022', '\020', '\n', '\003', 'a', 'l', 
  'l', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\003', 'a', 'l', 'l', '\022', '\"', '\n', '\004', 'l', 'a', 'r', 'g', '\030', '\003', ' ', '\001', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'l', 'a', 'r', 'g', '\022', '\"', 
  '\n', '\004', 'r', 'a', 'r', 'g', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\004', 'r', 'a', 'r', 'g', '\022', '+', '\n', '\t', 'c', 'o', 'l', '_', 't', 'y', 'p', 'e', 's', '\030', '\005', ' ', 
  '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'T', 
  'y', 'p', 'e', 's', '\022', '/', '\n', '\013', 'c', 'o', 'l', '_', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\006', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 'T', 'y', 'p', 'm', 
  'o', 'd', 's', '\022', '5', '\n', '\016', 'c', 'o', 'l', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\007', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'c', 'o', 'l', 'C', 'o', 
  'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '3', '\n', '\r', 'g', 'r', 'o', 'u', 'p', '_', 'c', 'l', 'a', 'u', 's', 'e', 's', 
  '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'g', 
  'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', 's', '\"', '\354', '\002', '\n', '\t', 'G', 'r', 'a', 'n', 't', 'S', 't', 'm', 't', 
  '\022', '\032', '\n', '\010', 'i', 's', '_', 'g', 'r', 'a', 'n', 't', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 'g', 'r', 
  'a', 'n', 't', '\022', '5', '\n', '\010', 't', 'a', 'r', 'g', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\031', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'a', 'n', 't', 'T', 'a', 'r', 'g', 'e', 't', 'T', 'y', 'p', 'e', 'R', '\010', 
  't', 'a', 'r', 'g', 't', 'y', 'p', 'e', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', 
  '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 
  'b', 'j', 't', 'y', 'p', 'e', '\022', '(', '\n', '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\022', '.', 
  '\n', '\n', 'p', 'r', 'i', 'v', 'i', 'l', 'e', 'g', 'e', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'p', 'r', 'i', 'v', 'i', 'l', 'e', 'g', 'e', 's', '\022', '*', '\n', '\010', 
  'g', 'r', 'a', 'n', 't', 'e', 'e', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\010', 'g', 'r', 'a', 'n', 't', 'e', 'e', 's', '\022', '\"', '\n', '\014', 'g', 'r', 'a', 'n', 't', '_', 
  'o', 'p', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\014', 'g', 'r', 'a', 'n', 't', '_', 'o', 'p', 't', 'i', 'o', 
  'n', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\010', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 
  'i', 'o', 'r', '\"', '\227', '\002', '\n', '\r', 'G', 'r', 'a', 'n', 't', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '4', '\n', '\r', 
  'g', 'r', 'a', 'n', 't', 'e', 'd', '_', 'r', 'o', 'l', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'g', 'r', 'a', 'n', 't', 'e', 'd', '_', 'r', 'o', 'l', 'e', 's', 
  '\022', '4', '\n', '\r', 'g', 'r', 'a', 'n', 't', 'e', 'e', '_', 'r', 'o', 'l', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'g', 'r', 'a', 'n', 't', 'e', 'e', '_', 'r', 
  'o', 'l', 'e', 's', '\022', '\032', '\n', '\010', 'i', 's', '_', 'g', 'r', 'a', 'n', 't', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\010', 'i', 
  's', '_', 'g', 'r', 'a', 'n', 't', '\022', '\034', '\n', '\t', 'a', 'd', 'm', 'i', 'n', '_', 'o', 'p', 't', '\030', '\004', ' ', '\001', '(', 
  '\010', 'R', '\t', 'a', 'd', 'm', 'i', 'n', '_', 'o', 'p', 't', '\022', ',', '\n', '\007', 'g', 'r', 'a', 'n', 't', 'o', 'r', '\030', '\005', 
  ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', 
  '\007', 'g', 'r', 'a', 'n', 't', 'o', 'r', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\006', ' ', '\001', '(', 
  '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 
  'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\"', 's', '\n', '\032', 'A', 'l', 't', 'e', 'r', 'D', 'e', 'f', 'a', 'u', 'l', 
  't', 'P', 'r', 'i', 'v', 'i', 'l', 'e', 'g', 'e', 's', 'S', 't', 'm', 't', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 
  's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 
  'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '+', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\023', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'a', 'n', 't', 'S', 't', 'm', 't', 'R', '\006', 'a', 'c', 't', 'i', 
  'o', 'n', '\"', '1', '\n', '\017', 'C', 'l', 'o', 's', 'e', 'P', 'o', 'r', 't', 'a', 'l', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 
  'p', 'o', 'r', 't', 'a', 'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 
  'a', 'm', 'e', '\"', 'u', '\n', '\013', 'C', 'l', 'u', 's', 't', 'e', 'r', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 
  'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 
  'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\034', '\n', '\t', 'i', 'n', 'd', 'e', 'x', 
  'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\t', 'i', 'n', 'd', 'e', 'x', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 
  'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\275', '\002', 
  '\n', '\010', 'C', 'o', 'p', 'y', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', 
  '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 
  'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', '(', '\n', '\007', 
  'a', 't', 't', 'l', 'i', 's', 't', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\007', 'a', 't', 't', 'l', 'i', 's', 't', '\022', '\030', '\n', '\007', 'i', 's', '_', 'f', 'r', 'o', 'm', '\030', 
  '\004', ' ', '\001', '(', '\010', 'R', '\007', 'i', 's', '_', 'f', 'r', 'o', 'm', '\022', '\036', '\n', '\n', 'i', 's', '_', 'p', 'r', 'o', 'g', 
  'r', 'a', 'm', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\n', 'i', 's', '_', 'p', 'r', 'o', 'g', 'r', 'a', 'm', '\022', '\032', '\n', '\010', 
  'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\010', 'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e', '\022', 
  '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', 
  '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\"', '\313', '\004', '\n', '\n', 'C', 'r', 'e', 
  'a', 't', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', 
  '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 
  'a', 't', 'i', 'o', 'n', '\022', '-', '\n', '\n', 't', 'a', 'b', 'l', 'e', '_', 'e', 'l', 't', 's', '\030', '\002', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 't', 'a', 'b', 'l', 'e', 'E', 'l', 
  't', 's', '\022', '3', '\n', '\r', 'i', 'n', 'h', '_', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'i', 'n', 'h', 'R', 'e', 'l', 'a', 
  't', 'i', 'o', 'n', 's', '\022', ':', '\n', '\t', 'p', 'a', 'r', 't', 'b', 'o', 'u', 'n', 'd', '\030', '\004', ' ', '\001', '(', '\013', '2', 
  '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 
  'S', 'p', 'e', 'c', 'R', '\t', 'p', 'a', 'r', 't', 'b', 'o', 'u', 'n', 'd', '\022', '3', '\n', '\010', 'p', 'a', 'r', 't', 's', 'p', 
  'e', 'c', '\030', '\005', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 
  't', 'i', 'o', 'n', 'S', 'p', 'e', 'c', 'R', '\010', 'p', 'a', 'r', 't', 's', 'p', 'e', 'c', '\022', '3', '\n', '\013', 'o', 'f', '_', 
  't', 'y', 'p', 'e', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 'o', 'f', 'T', 'y', 'p', 'e', 'n', 'a', 'm', 'e', '\022', '0', '\n', '\013', 
  'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\022', '(', '\n', '\007', 
  'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '4', '\n', '\010', 'o', 'n', 'c', 'o', 'm', 'm', 'i', 't', 
  '\030', '\t', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'm', 'm', 'i', 
  't', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\010', 'o', 'n', 'c', 'o', 'm', 'm', 'i', 't', '\022', '&', '\n', '\016', 't', 'a', 'b', 'l', 
  'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\n', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 
  'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '#', '\n', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 'h', 'o', 'd', '\030', 
  '\013', ' ', '\001', '(', '\t', 'R', '\014', 'a', 'c', 'c', 'e', 's', 's', 'M', 'e', 't', 'h', 'o', 'd', '\022', '$', '\n', '\r', 'i', 'f', 
  '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', 
  '_', 'e', 'x', 'i', 's', 't', 's', '\"', '\222', '\002', '\n', '\n', 'D', 'e', 'f', 'i', 'n', 'e', 'S', 't', 'm', 't', '\022', '(', '\n', 
  '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 
  'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '\032', '\n', '\010', 'o', 'l', 'd', 's', 't', 'y', 'l', 
  'e', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'l', 'd', 's', 't', 'y', 'l', 'e', '\022', '*', '\n', '\010', 'd', 'e', 'f', 'n', 
  'a', 'm', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\004', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '.', '\n', 
  '\n', 'd', 'e', 'f', 'i', 'n', 'i', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'd', 'e', 'f', 'i', 'n', 'i', 't', 'i', 'o', 'n', '\022', '$', '\n', '\r', 'i', 
  'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 
  't', '_', 'e', 'x', 'i', 's', 't', 's', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\007', ' ', '\001', '(', '\010', 
  'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\"', '\337', '\001', '\n', '\010', 'D', 'r', 'o', 'p', 'S', 't', 'm', 't', '\022', '(', '\n', 
  '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\022', '5', '\n', '\013', 'r', 'e', 'm', 'o', 'v', 'e', '_', 
  't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 
  'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'r', 'e', 'm', 'o', 'v', 'e', 'T', 'y', 'p', 'e', '\022', '2', '\n', '\010', 'b', 'e', 
  'h', 'a', 'v', 'i', 'o', 'r', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 
  'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '\036', '\n', '\n', 
  'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', 
  '_', 'o', 'k', '\022', '\036', '\n', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\n', 
  'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\"', '\224', '\001', '\n', '\014', 'T', 'r', 'u', 'n', 'c', 'a', 't', 'e', 'S', 't', 
  'm', 't', '\022', ',', '\n', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '\"', 
  '\n', '\014', 'r', 'e', 's', 't', 'a', 'r', 't', '_', 's', 'e', 'q', 's', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\014', 'r', 'e', 's', 
  't', 'a', 'r', 't', '_', 's', 'e', 'q', 's', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\003', ' ', '\001', 
  '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 
  'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\"', '\177', '\n', '\013', 'C', 'o', 'm', 'm', 'e', 'n', 't', 'S', 't', 'm', 
  't', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', 
  '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '\030', '\n', '\007', 'c', 'o', 'm', 'm', 'e', 'n', 't', 
  '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\"', '\226', '\001', '\n', '\t', 'F', 'e', 't', 'c', 'h', 
  'S', 't', 'm', 't', '\022', '6', '\n', '\t', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\016', '2', '\030', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'e', 't', 'c', 'h', 'D', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', 'R', 
  '\t', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', '\031', '\n', '\010', 'h', 'o', 'w', '_', 'm', 'a', 'n', 'y', '\030', '\002', ' ', 
  '\001', '(', '\003', 'R', '\007', 'h', 'o', 'w', 'M', 'a', 'n', 'y', '\022', '\036', '\n', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 'a', 'm', 
  'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'i', 's', 
  'm', 'o', 'v', 'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\006', 'i', 's', 'm', 'o', 'v', 'e', '\"', '\242', '\007', '\n', '\t', 'I', 'n', 
  'd', 'e', 'x', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'i', 'd', 'x', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', 
  '\007', 'i', 'd', 'x', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', 
  '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 
  'l', 'a', 't', 'i', 'o', 'n', '\022', '#', '\n', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 'h', 'o', 'd', '\030', '\003', 
  ' ', '\001', '(', '\t', 'R', '\014', 'a', 'c', 'c', 'e', 's', 's', 'M', 'e', 't', 'h', 'o', 'd', '\022', '\037', '\n', '\013', 't', 'a', 'b', 
  'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\n', 't', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 
  'e', '\022', '1', '\n', '\014', 'i', 'n', 'd', 'e', 'x', '_', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'i', 'n', 'd', 'e', 'x', 'P', 'a', 'r', 'a', 
  'm', 's', '\022', 'D', '\n', '\026', 'i', 'n', 'd', 'e', 'x', '_', 'i', 'n', 'c', 'l', 'u', 'd', 'i', 'n', 'g', '_', 'p', 'a', 'r', 
  'a', 'm', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\024', 'i', 'n', 'd', 'e', 'x', 'I', 'n', 'c', 'l', 'u', 'd', 'i', 'n', 'g', 'P', 'a', 'r', 'a', 'm', 's', '\022', '(', '\n', 
  '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 
  'l', 'a', 'u', 's', 'e', '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '8', '\n', '\020', 'e', 'x', 'c', 'l', 'u', 'd', 
  'e', '_', 'o', 'p', '_', 'n', 'a', 'm', 'e', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'e', 'x', 'c', 'l', 'u', 'd', 'e', 'O', 'p', 'N', 'a', 'm', 'e', 's', '\022', '\036', 
  '\n', '\n', 'i', 'd', 'x', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\030', '\n', ' ', '\001', '(', '\t', 'R', '\n', 'i', 'd', 'x', 'c', 'o', 
  'm', 'm', 'e', 'n', 't', '\022', '\033', '\n', '\t', 'i', 'n', 'd', 'e', 'x', '_', 'o', 'i', 'd', '\030', '\013', ' ', '\001', '(', '\r', 'R', 
  '\010', 'i', 'n', 'd', 'e', 'x', 'O', 'i', 'd', '\022', '\031', '\n', '\010', 'o', 'l', 'd', '_', 'n', 'o', 'd', 'e', '\030', '\014', ' ', '\001', 
  '(', '\r', 'R', '\007', 'o', 'l', 'd', 'N', 'o', 'd', 'e', '\022', '(', '\n', '\020', 'o', 'l', 'd', '_', 'c', 'r', 'e', 'a', 't', 'e', 
  '_', 's', 'u', 'b', 'i', 'd', '\030', '\r', ' ', '\001', '(', '\r', 'R', '\016', 'o', 'l', 'd', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'u', 
  'b', 'i', 'd', '\022', '=', '\n', '\033', 'o', 'l', 'd', '_', 'f', 'i', 'r', 's', 't', '_', 'r', 'e', 'l', 'f', 'i', 'l', 'e', 'n', 
  'o', 'd', 'e', '_', 's', 'u', 'b', 'i', 'd', '\030', '\016', ' ', '\001', '(', '\r', 'R', '\030', 'o', 'l', 'd', 'F', 'i', 'r', 's', 't', 
  'R', 'e', 'l', 'f', 'i', 'l', 'e', 'n', 'o', 'd', 'e', 'S', 'u', 'b', 'i', 'd', '\022', '\026', '\n', '\006', 'u', 'n', 'i', 'q', 'u', 
  'e', '\030', '\017', ' ', '\001', '(', '\010', 'R', '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\022', '\030', '\n', '\007', 'p', 'r', 'i', 'm', 'a', 'r', 
  'y', '\030', '\020', ' ', '\001', '(', '\010', 'R', '\007', 'p', 'r', 'i', 'm', 'a', 'r', 'y', '\022', '\"', '\n', '\014', 'i', 's', 'c', 'o', 'n', 
  's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\021', ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 
  'n', 't', '\022', '\036', '\n', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\030', '\022', ' ', '\001', '(', '\010', 'R', '\n', 'd', 
  'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\022', '\"', '\n', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', 
  '\030', '\023', ' ', '\001', '(', '\010', 'R', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\022', ' ', '\n', '\013', 't', 
  'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'e', 'd', '\030', '\024', ' ', '\001', '(', '\010', 'R', '\013', 't', 'r', 'a', 'n', 's', 'f', 'o', 
  'r', 'm', 'e', 'd', '\022', '\036', '\n', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\030', '\025', ' ', '\001', '(', '\010', 'R', 
  '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 
  's', 't', 's', '\030', '\026', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\022', 
  '2', '\n', '\024', 'r', 'e', 's', 'e', 't', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 'b', 'l', 's', 'p', 'c', '\030', '\027', 
  ' ', '\001', '(', '\010', 'R', '\024', 'r', 'e', 's', 'e', 't', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 'b', 'l', 's', 'p', 
  'c', '\"', '\215', '\002', '\n', '\022', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 
  '\"', '\n', '\014', 'i', 's', '_', 'p', 'r', 'o', 'c', 'e', 'd', 'u', 'r', 'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', 
  '_', 'p', 'r', 'o', 'c', 'e', 'd', 'u', 'r', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\002', ' ', '\001', 
  '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\022', '*', '\n', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\030', '\003', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 
  'c', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\n', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 's', '\030', '\004', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'p', 'a', 'r', 'a', 'm', 'e', 't', 
  'e', 'r', 's', '\022', '3', '\n', '\013', 'r', 'e', 't', 'u', 'r', 'n', '_', 't', 'y', 'p', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', 
  '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 'r', 'e', 't', 'u', 
  'r', 'n', 'T', 'y', 'p', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\233', 
  '\001', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '.', '\n', '\007', 'o', 
  'b', 'j', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 
  'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', ',', '\n', '\004', 'f', 'u', 'n', 
  'c', '\030', '\002', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 
  'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\004', 'f', 'u', 'n', 'c', '\022', '(', '\n', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', 
  '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'a', 
  'c', 't', 'i', 'o', 'n', 's', '\"', ',', '\n', '\006', 'D', 'o', 'S', 't', 'm', 't', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', 
  '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 
  'g', 's', '\"', '\336', '\002', '\n', '\n', 'R', 'e', 'n', 'a', 'm', 'e', 'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'r', 'e', 'n', 'a', 
  'm', 'e', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'r', 'e', 'n', 'a', 'm', 'e', 'T', 'y', 'p', 'e', '\022', '9', '\n', 
  '\r', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\014', 'r', 'e', 'l', 'a', 't', 'i', 
  'o', 'n', 'T', 'y', 'p', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', 
  '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 
  't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '\030', '\n', '\007', 's', 'u', 
  'b', 'n', 'a', 'm', 'e', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'n', 
  'e', 'w', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\007', 'n', 'e', 'w', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\010', 
  'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\007', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '\036', 
  '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 
  'n', 'g', '_', 'o', 'k', '\"', '\220', '\002', '\n', '\010', 'R', 'u', 'l', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 
  'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 
  'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'r', 'u', 'l', 'e', 'n', 
  'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'r', 'u', 'l', 'e', 'n', 'a', 'm', 'e', '\022', '1', '\n', '\014', 'w', 'h', 
  'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\'', '\n', '\005', 'e', 
  'v', 'e', 'n', 't', '\030', '\004', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'm', 'd', 
  'T', 'y', 'p', 'e', 'R', '\005', 'e', 'v', 'e', 'n', 't', '\022', '\030', '\n', '\007', 'i', 'n', 's', 't', 'e', 'a', 'd', '\030', '\005', ' ', 
  '\001', '(', '\010', 'R', '\007', 'i', 'n', 's', 't', 'e', 'a', 'd', '\022', '(', '\n', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', '\030', '\006', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'a', 'c', 't', 
  'i', 'o', 'n', 's', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 
  'p', 'l', 'a', 'c', 'e', '\"', 'L', '\n', '\n', 'N', 'o', 't', 'i', 'f', 'y', 'S', 't', 'm', 't', '\022', '$', '\n', '\r', 'c', 'o', 
  'n', 'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 'c', 'o', 'n', 'd', 'i', 't', 
  'i', 'o', 'n', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'p', 'a', 'y', 'l', 'o', 'a', 'd', '\030', '\002', ' ', '\001', '(', '\t', 'R', 
  '\007', 'p', 'a', 'y', 'l', 'o', 'a', 'd', '\"', '2', '\n', '\n', 'L', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', '\022', '$', '\n', 
  '\r', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 'c', 'o', 'n', 
  'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\"', '4', '\n', '\014', 'U', 'n', 'l', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 
  't', '\022', '$', '\n', '\r', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', 
  '\r', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\"', '\276', '\001', '\n', '\017', 'T', 'r', 'a', 'n', 's', 'a', 
  'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '1', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\035', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'r', 'a', 'n', 's', 'a', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 
  'K', 'i', 'n', 'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 
  'n', 's', '\022', '&', '\n', '\016', 's', 'a', 'v', 'e', 'p', 'o', 'i', 'n', 't', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', 
  '\t', 'R', '\016', 's', 'a', 'v', 'e', 'p', 'o', 'i', 'n', 't', '_', 'n', 'a', 'm', 'e', '\022', '\020', '\n', '\003', 'g', 'i', 'd', '\030', 
  '\004', ' ', '\001', '(', '\t', 'R', '\003', 'g', 'i', 'd', '\022', '\024', '\n', '\005', 'c', 'h', 'a', 'i', 'n', '\030', '\005', ' ', '\001', '(', '\010', 
  'R', '\005', 'c', 'h', 'a', 'i', 'n', '\"', '\215', '\002', '\n', '\010', 'V', 'i', 'e', 'w', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'v', 
  'i', 'e', 'w', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 
  'e', 'V', 'a', 'r', 'R', '\004', 'v', 'i', 'e', 'w', '\022', '(', '\n', '\007', 'a', 'l', 'i', 'a', 's', 'e', 's', '\030', '\002', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'a', 'l', 'i', 'a', 's', 
  'e', 's', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 
  'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 
  'n', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', 'E', '\n', '\021', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '_', 'o', 'p', 
  't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\016', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'i', 'e', 
  'w', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', 'R', '\017', 'w', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 
  't', 'i', 'o', 'n', '\"', '&', '\n', '\010', 'L', 'o', 'a', 'd', 'S', 't', 'm', 't', '\022', '\032', '\n', '\010', 'f', 'i', 'l', 'e', 'n', 
  'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e', '\"', '\337', '\001', '\n', '\020', 'C', 
  'r', 'e', 'a', 't', 'e', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', '.', '\n', '\n', 'd', 'o', 'm', 'a', 'i', 'n', 
  'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\n', 'd', 'o', 'm', 'a', 'i', 'n', 'n', 'a', 'm', 'e', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 
  'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 
  'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '8', '\n', '\013', 'c', 'o', 'l', 'l', '_', 'c', 'l', 'a', 'u', 
  's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'l', 'a', 
  't', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'c', 'o', 'l', 'l', 'C', 'l', 'a', 'u', 's', 'e', '\022', '0', '\n', '\013', 'c', 
  'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\"', 'P', '\n', '\014', 'C', 
  'r', 'e', 'a', 't', 'e', 'd', 'b', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', 
  '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 
  'n', 's', '\"', 'n', '\n', '\n', 'D', 'r', 'o', 'p', 'd', 'b', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 
  'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 
  'g', '_', 'o', 'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\022', '(', '\n', 
  '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '~', '\n', '\n', 'V', 'a', 'c', 'u', 'u', 'm', 'S', 
  't', 'm', 't', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\"', '\n', '\004', 'r', 
  'e', 'l', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\004', 'r', 'e', 'l', 's', '\022', '\"', '\n', '\014', 'i', 's', '_', 'v', 'a', 'c', 'u', 'u', 'm', 'c', 'm', 'd', '\030', '\003', ' ', 
  '\001', '(', '\010', 'R', '\014', 'i', 's', '_', 'v', 'a', 'c', 'u', 'u', 'm', 'c', 'm', 'd', '\"', ']', '\n', '\013', 'E', 'x', 'p', 'l', 
  'a', 'i', 'n', 'S', 't', 'm', 't', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', '(', '\n', '\007', 'o', 
  'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\341', '\001', '\n', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 
  'b', 'l', 'e', 'A', 's', 'S', 't', 'm', 't', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\001', ' ', '\001', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', '(', '\n', 
  '\004', 'i', 'n', 't', 'o', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 
  't', 'o', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\004', 'i', 'n', 't', 'o', '\022', '.', '\n', '\007', 'r', 'e', 'l', 'k', 'i', 'n', 'd', 
  '\030', '\003', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 
  'y', 'p', 'e', 'R', '\007', 'r', 'e', 'l', 'k', 'i', 'n', 'd', '\022', '&', '\n', '\016', 'i', 's', '_', 's', 'e', 'l', 'e', 'c', 't', 
  '_', 'i', 'n', 't', 'o', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\016', 'i', 's', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'i', 'n', 
  't', 'o', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\005', ' ', '\001', '(', '\010', 
  'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\"', '\316', '\001', '\n', '\r', 'C', 'r', 'e', 'a', 't', 
  'e', 'S', 'e', 'q', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\030', '\001', ' ', '\001', '(', 
  '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 's', 'e', 
  'q', 'u', 'e', 'n', 'c', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\031', 
  '\n', '\010', 'o', 'w', 'n', 'e', 'r', '_', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\007', 'o', 'w', 'n', 'e', 'r', 'I', 'd', 
  '\022', '\"', '\n', '\014', 'f', 'o', 'r', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\014', 'f', 
  'o', 'r', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 
  's', 't', 's', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\"', 
  '\254', '\001', '\n', '\014', 'A', 'l', 't', 'e', 'r', 'S', 'e', 'q', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 's', 'e', 'q', 'u', 'e', 
  'n', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 
  'e', 'V', 'a', 'r', 'R', '\010', 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
  '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 
  'p', 't', 'i', 'o', 'n', 's', '\022', '\"', '\n', '\014', 'f', 'o', 'r', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\030', '\003', ' ', 
  '\001', '(', '\010', 'R', '\014', 'f', 'o', 'r', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 
  'i', 'n', 'g', '_', 'o', 'k', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', 
  '\224', '\001', '\n', '\017', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', '-', '\n', '\004', 'k', 'i', 
  'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 
  'b', 'l', 'e', 'S', 'e', 't', 'K', 'i', 'n', 'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', 
  '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', 
  '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', 
  '\"', '&', '\n', '\020', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'h', 'o', 'w', 'S', 't', 'm', 't', '\022', '\022', '\n', '\004', 'n', 
  'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\"', '<', '\n', '\013', 'D', 'i', 's', 'c', 'a', 'r', 
  'd', 'S', 't', 'm', 't', '\022', '-', '\n', '\006', 't', 'a', 'r', 'g', 'e', 't', '\030', '\001', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'M', 'o', 'd', 'e', 'R', '\006', 't', 'a', 'r', 'g', 
  'e', 't', '\"', '\234', '\004', '\n', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', '\022', '\032', '\n', '\010', 
  't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\022', 
  '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '*', '\n', 
  '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', 
  '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 
  'g', 's', '\022', '\020', '\n', '\003', 'r', 'o', 'w', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\003', 'r', 'o', 'w', '\022', '\026', '\n', '\006', 't', 
  'i', 'm', 'i', 'n', 'g', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\006', 't', 'i', 'm', 'i', 'n', 'g', '\022', '\026', '\n', '\006', 'e', 'v', 
  'e', 'n', 't', 's', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\006', 'e', 'v', 'e', 'n', 't', 's', '\022', '(', '\n', '\007', 'c', 'o', 'l', 
  'u', 'm', 'n', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\022', '/', '\n', '\013', 'w', 'h', 'e', 'n', '_', 'c', 'l', 'a', 'u', 's', 'e', 
  '\030', '\t', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'w', 
  'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\"', '\n', '\014', 'i', 's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 
  '\030', '\n', ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\022', '7', '\n', '\017', 't', 
  'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', '_', 'r', 'e', 'l', 's', '\030', '\013', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 't', 'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', 'R', 'e', 
  'l', 's', '\022', '\036', '\n', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\n', 'd', 
  'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\022', '\"', '\n', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', 
  '\030', '\r', ' ', '\001', '(', '\010', 'R', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\022', '0', '\n', '\t', 'c', 
  'o', 'n', 's', 't', 'r', 'r', 'e', 'l', '\030', '\016', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\t', 'c', 'o', 'n', 's', 't', 'r', 'r', 'e', 'l', '\"', '\355', '\001', '\n', '\017', 
  'C', 'r', 'e', 'a', 't', 'e', 'P', 'L', 'a', 'n', 'g', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 
  'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\022', '\026', '\n', '\006', 'p', 'l', 'n', 'a', 'm', 
  'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\006', 'p', 'l', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 'p', 'l', 'h', 'a', 'n', 'd', 
  'l', 'e', 'r', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\t', 'p', 'l', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '\022', '*', '\n', '\010', 'p', 'l', 'i', 'n', 'l', 'i', 'n', 'e', '\030', '\004', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'l', 'i', 
  'n', 'l', 'i', 'n', 'e', '\022', '0', '\n', '\013', 'p', 'l', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', '\030', '\005', ' ', '\003', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'p', 'l', 'v', 'a', 'l', 'i', 
  'd', 'a', 't', 'o', 'r', '\022', '\034', '\n', '\t', 'p', 'l', 't', 'r', 'u', 's', 't', 'e', 'd', '\030', '\006', ' ', '\001', '(', '\010', 'R', 
  '\t', 'p', 'l', 't', 'r', 'u', 's', 't', 'e', 'd', '\"', '\204', '\001', '\n', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'R', 'o', 'l', 'e', 
  'S', 't', 'm', 't', '\022', '4', '\n', '\t', 's', 't', 'm', 't', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\026', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'T', 'y', 'p', 'e', 'R', '\t', 's', 
  't', 'm', 't', '_', 't', 'y', 'p', 'e', '\022', '\022', '\n', '\004', 'r', 'o', 'l', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'r', 
  'o', 'l', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'y', '\n', '\r', 'A', 
  'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'r', 'o', 'l', 'e', '\030', '\001', ' ', '\001', '(', 
  '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\004', 'r', 'o', 
  'l', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\026', '\n', '\006', 'a', 'c', 
  't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\"', 'T', '\n', '\014', 'D', 'r', 'o', 
  'p', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', '\036', '\n', 
  '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 
  'g', '_', 'o', 'k', '\"', 'd', '\n', '\010', 'L', 'o', 'c', 'k', 'S', 't', 'm', 't', '\022', ',', '\n', '\t', 'r', 'e', 'l', 'a', 't', 
  'i', 'o', 'n', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '\022', '\n', '\004', 'm', 'o', 'd', 'e', '\030', '\002', ' ', '\001', '(', 
  '\005', 'R', '\004', 'm', 'o', 'd', 'e', '\022', '\026', '\n', '\006', 'n', 'o', 'w', 'a', 'i', 't', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\006', 
  'n', 'o', 'w', 'a', 'i', 't', '\"', 'b', '\n', '\022', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', 'S', 'e', 't', 'S', 
  't', 'm', 't', '\022', '0', '\n', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 
  'n', 't', 's', '\022', '\032', '\n', '\010', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\010', 'd', 'e', 
  'f', 'e', 'r', 'r', 'e', 'd', '\"', '\274', '\001', '\n', '\013', 'R', 'e', 'i', 'n', 'd', 'e', 'x', 'S', 't', 'm', 't', '\022', '/', '\n', 
  '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 
  'i', 'n', 'd', 'e', 'x', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '.', '\n', '\010', 
  'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\022', '\n', '\004', 'n', 'a', 
  'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
  '\030', '\004', ' ', '\001', '(', '\005', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\036', '\n', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 
  'r', 'e', 'n', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\"', '\020', '\n', 
  '\016', 'C', 'h', 'e', 'c', 'k', 'P', 'o', 'i', 'n', 't', 'S', 't', 'm', 't', '\"', '\271', '\001', '\n', '\020', 'C', 'r', 'e', 'a', 't', 
  'e', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 's', 'c', 'h', 'e', 'm', 'a', 'n', 'a', 'm', 'e', 
  '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 's', 'c', 'h', 'e', 'm', 'a', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 'a', 'u', 't', 
  'h', 'r', 'o', 'l', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 
  'l', 'e', 'S', 'p', 'e', 'c', 'R', '\010', 'a', 'u', 't', 'h', 'r', 'o', 'l', 'e', '\022', '/', '\n', '\013', 's', 'c', 'h', 'e', 'm', 
  'a', '_', 'e', 'l', 't', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\n', 's', 'c', 'h', 'e', 'm', 'a', 'E', 'l', 't', 's', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', 
  '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 
  's', 't', 's', '\"', 'U', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'S', 't', 'm', 't', '\022', 
  '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\022', '(', 
  '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'c', '\n', '\024', 'A', 'l', 't', 'e', 'r', 'D', 
  'a', 't', 'a', 'b', 'a', 's', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', 
  '\001', ' ', '\001', '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\022', '3', '\n', '\007', 's', 'e', 't', 's', 't', 'm', 't', '\030', 
  '\002', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 
  'S', 'e', 't', 'S', 't', 'm', 't', 'R', '\007', 's', 'e', 't', 's', 't', 'm', 't', '\"', '\213', '\001', '\n', '\020', 'A', 'l', 't', 'e', 
  'r', 'R', 'o', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'r', 'o', 'l', 'e', '\030', '\001', ' ', '\001', '(', 
  '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\004', 'r', 'o', 
  'l', 'e', '\022', '\032', '\n', '\010', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'd', 'a', 't', 
  'a', 'b', 'a', 's', 'e', '\022', '3', '\n', '\007', 's', 'e', 't', 's', 't', 'm', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\031', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'R', 
  '\007', 's', 'e', 't', 's', 't', 'm', 't', '\"', '\352', '\001', '\n', '\024', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'o', 'n', 'v', 'e', 'r', 
  's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '8', '\n', '\017', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'n', 'a', 
  'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\017', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\021', 'f', 'o', 'r', '_', 'e', 
  'n', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\021', 'f', 'o', 'r', '_', 'e', 
  'n', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', '\022', '*', '\n', '\020', 't', 'o', '_', 'e', 'n', 'c', 'o', 'd', 'i', 
  'n', 'g', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\020', 't', 'o', '_', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 
  'g', '_', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 'f', 'u', 'n', 'c', '_', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'f', 'u', 'n', 'c', '_', 'n', 'a', 
  'm', 'e', '\022', '\020', '\n', '\003', 'd', 'e', 'f', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\003', 'd', 'e', 'f', '\"', '\361', '\001', '\n', '\016', 
  'C', 'r', 'e', 'a', 't', 'e', 'C', 'a', 's', 't', 'S', 't', 'm', 't', '\022', '2', '\n', '\n', 's', 'o', 'u', 'r', 'c', 'e', 't', 
  'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 
  'N', 'a', 'm', 'e', 'R', '\n', 's', 'o', 'u', 'r', 'c', 'e', 't', 'y', 'p', 'e', '\022', '2', '\n', '\n', 't', 'a', 'r', 'g', 'e', 
  't', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 
  'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 't', 'y', 'p', 'e', '\022', ',', '\n', '\004', 'f', 'u', 'n', 
  'c', '\030', '\003', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 
  'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\004', 'f', 'u', 'n', 'c', '\022', '3', '\n', '\007', 'c', 'o', 'n', 't', 'e', 'x', 't', 
  '\030', '\004', ' ', '\001', '(', '\016', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 
  'n', 'C', 'o', 'n', 't', 'e', 'x', 't', 'R', '\007', 'c', 'o', 'n', 't', 'e', 'x', 't', '\022', '\024', '\n', '\005', 'i', 'n', 'o', 'u', 
  't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\005', 'i', 'n', 'o', 'u', 't', '\"', '\206', '\002', '\n', '\021', 'C', 'r', 'e', 'a', 't', 'e', 
  'O', 'p', 'C', 'l', 'a', 's', 's', 'S', 't', 'm', 't', '\022', '0', '\n', '\013', 'o', 'p', 'c', 'l', 'a', 's', 's', 'n', 'a', 'm', 
  'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 
  'o', 'p', 'c', 'l', 'a', 's', 's', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 
  'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\030', '\003', 
  ' ', '\001', '(', '\t', 'R', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 'd', 'a', 't', 'a', 't', 'y', 'p', 'e', '\030', 
  '\004', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 
  'R', '\010', 'd', 'a', 't', 'a', 't', 'y', 'p', 'e', '\022', '$', '\n', '\005', 'i', 't', 'e', 'm', 's', '\030', '\005', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'i', 't', 'e', 'm', 's', '\022', '\035', 
  '\n', '\n', 'i', 's', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\t', 'i', 's', 'D', 'e', 'f', 
  'a', 'u', 'l', 't', '\"', '`', '\n', '\022', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 
  't', '\022', '2', '\n', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 
  'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\006', 'a', 'm', 'n', 'a', 
  'm', 'e', '\"', '\236', '\001', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 't', '\022', 
  '2', '\n', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 
  'e', '\022', '\026', '\n', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\006', 'a', 'm', 'n', 'a', 'm', 'e', 
  '\022', '\027', '\n', '\007', 'i', 's', '_', 'd', 'r', 'o', 'p', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\006', 'i', 's', 'D', 'r', 'o', 'p', 
  '\022', '$', '\n', '\005', 'i', 't', 'e', 'm', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'i', 't', 'e', 'm', 's', '\"', 's', '\n', '\013', 'P', 'r', 'e', 'p', 'a', 'r', 'e', 'S', 
  't', 'm', 't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '*', 
  '\n', '\010', 'a', 'r', 'g', 't', 'y', 'p', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'a', 'r', 'g', 't', 'y', 'p', 'e', 's', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 
  'y', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 
  'q', 'u', 'e', 'r', 'y', '\"', 'I', '\n', '\013', 'E', 'x', 'e', 'c', 'u', 't', 'e', 'S', 't', 'm', 't', '\022', '\022', '\n', '\004', 'n', 
  'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '&', '\n', '\006', 'p', 'a', 'r', 'a', 'm', 's', 
  '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'p', 
  'a', 'r', 'a', 'm', 's', '\"', '$', '\n', '\016', 'D', 'e', 'a', 'l', 'l', 'o', 'c', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', '\022', 
  '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\"', 's', '\n', '\021', 'D', 'e', 'c', 
  'l', 'a', 'r', 'e', 'C', 'u', 'r', 's', 'o', 'r', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 
  'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 
  'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '$', '\n', 
  '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\"', '\256', '\001', '\n', '\024', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 
  'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', '\022', '&', '\n', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 
  'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', 
  '\022', '(', '\n', '\005', 'o', 'w', 'n', 'e', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\005', 'o', 'w', 'n', 'e', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 
  'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\\', '\n', '\022', 'D', 'r', 'o', 'p', 'T', 'a', 'b', 'l', 'e', 
  'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', '\022', '&', '\n', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 
  'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', 
  '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 
  'i', 'n', 'g', '_', 'o', 'k', '\"', '\351', '\001', '\n', '\026', 'A', 'l', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'D', 'e', 'p', 
  'e', 'n', 'd', 's', 'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'o', 'b', 'j', 'e', 'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\001', 
  ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 
  'e', 'R', '\n', 'o', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 
  '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 
  'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\003', ' ', '\001', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 
  't', '\022', '(', '\n', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'r', 'e', 'm', 
  'o', 'v', 'e', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\006', 'r', 'e', 'm', 'o', 'v', 'e', '\"', '\344', '\001', '\n', '\025', 'A', 'l', 't', 
  'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'o', 'b', 'j', 
  'e', 'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'o', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '.', 
  '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 
  'o', 'b', 'j', 'e', 'c', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '\034', '\n', '\t', 'n', 'e', 'w', 's', 'c', 'h', 'e', 'm', 'a', '\030', 
  '\004', ' ', '\001', '(', '\t', 'R', '\t', 'n', 'e', 'w', 's', 'c', 'h', 'e', 'm', 'a', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 
  'n', 'g', '_', 'o', 'k', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\317', 
  '\001', '\n', '\016', 'A', 'l', 't', 'e', 'r', 'O', 'w', 'n', 'e', 'r', 'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'o', 'b', 'j', 'e', 
  'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'o', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '.', '\n', 
  '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 'o', 
  'b', 'j', 'e', 'c', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '.', '\n', '\010', 'n', 'e', 'w', 'o', 'w', 'n', 'e', 'r', '\030', '\004', ' ', 
  '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\010', 
  'n', 'e', 'w', 'o', 'w', 'n', 'e', 'r', '\"', 's', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'e', 'r', 'a', 't', 'o', 'r', 
  'S', 't', 'm', 't', '\022', '4', '\n', '\010', 'o', 'p', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\010', 
  'o', 'p', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
  '\"', 'f', '\n', '\r', 'A', 'l', 't', 'e', 'r', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', '\022', '+', '\n', '\t', 't', 'y', 'p', 'e', 
  '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 
  'i', 'o', 'n', 's', '\"', 'i', '\n', '\r', 'D', 'r', 'o', 'p', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', '\022', '$', '\n', '\005', 
  'r', 'o', 'l', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\002', ' ', '\001', 
  '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 
  'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\"', 'g', '\n', '\021', 'R', 'e', 'a', 's', 's', 'i', 'g', 'n', 'O', 'w', 
  'n', 'e', 'd', 'S', 't', 'm', 't', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', ',', '\n', '\007', 'n', 
  'e', 'w', 'r', 'o', 'l', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 
  'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\007', 'n', 'e', 'w', 'r', 'o', 'l', 'e', '\"', 'q', '\n', '\021', 'C', 'o', 'm', 'p', 'o', 
  's', 'i', 't', 'e', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', '\022', ',', '\n', '\007', 't', 'y', 'p', 'e', 'v', 'a', 'r', '\030', '\001', 
  ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', 
  '\007', 't', 'y', 'p', 'e', 'v', 'a', 'r', '\022', '.', '\n', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'l', 'i', 's', 't', '\030', '\002', ' ', 
  '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 'd', 
  'e', 'f', 'l', 'i', 's', 't', '\"', 'a', '\n', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', '\022', 
  '+', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'v', 'a', 
  'l', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\004', 'v', 'a', 'l', 's', '\"', 'f', '\n', '\017', 'C', 'r', 'e', 'a', 't', 'e', 'R', 'a', 'n', 'g', 'e', 'S', 't', 'm', 't', '\022', 
  '+', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '&', '\n', '\006', 'p', 'a', 
  'r', 'a', 'm', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\"', '\365', '\001', '\n', '\r', 'A', 'l', 't', 'e', 'r', 'E', 'n', 'u', 'm', 'S', 't', 
  'm', 't', '\022', '+', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\027', '\n', 
  '\007', 'o', 'l', 'd', '_', 'v', 'a', 'l', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\006', 'o', 'l', 'd', 'V', 'a', 'l', '\022', '\027', '\n', 
  '\007', 'n', 'e', 'w', '_', 'v', 'a', 'l', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\006', 'n', 'e', 'w', 'V', 'a', 'l', '\022', '(', '\n', 
  '\020', 'n', 'e', 'w', '_', 'v', 'a', 'l', '_', 'n', 'e', 'i', 'g', 'h', 'b', 'o', 'r', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\016', 
  'n', 'e', 'w', 'V', 'a', 'l', 'N', 'e', 'i', 'g', 'h', 'b', 'o', 'r', '\022', '\'', '\n', '\020', 'n', 'e', 'w', '_', 'v', 'a', 'l', 
  '_', 'i', 's', '_', 'a', 'f', 't', 'e', 'r', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\r', 'n', 'e', 'w', 'V', 'a', 'l', 'I', 's', 
  'A', 'f', 't', 'e', 'r', '\022', '2', '\n', '\026', 's', 'k', 'i', 'p', '_', 'i', 'f', '_', 'n', 'e', 'w', '_', 'v', 'a', 'l', '_', 
  'e', 'x', 'i', 's', 't', 's', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\022', 's', 'k', 'i', 'p', 'I', 'f', 'N', 'e', 'w', 'V', 'a', 
  'l', 'E', 'x', 'i', 's', 't', 's', '\"', 'm', '\n', '\025', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'D', 'i', 'c', 't', 'i', 'o', 'n', 
  'a', 'r', 'y', 'S', 't', 'm', 't', '\022', '*', '\n', '\010', 'd', 'i', 'c', 't', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'd', 'i', 'c', 't', 'n', 'a', 'm', 
  'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\237', '\002', '\n', '\030', 'A', 'l', 
  't', 'e', 'r', 'T', 'S', 'C', 'o', 'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '/', '\n', 
  '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 
  't', 'e', 'r', 'T', 'S', 'C', 'o', 'n', 'f', 'i', 'g', 'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '(', '\n', '\007', 
  'c', 'f', 'g', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\007', 'c', 'f', 'g', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 't', 'o', 'k', 'e', 'n', 't', 'y', 'p', 
  'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 
  't', 'o', 'k', 'e', 'n', 't', 'y', 'p', 'e', '\022', '$', '\n', '\005', 'd', 'i', 'c', 't', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'd', 'i', 'c', 't', 's', '\022', '\032', '\n', 
  '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', 
  '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 
  'e', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 
  's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\207', '\001', '\n', '\r', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'd', 'w', 'S', 't', 'm', 
  't', '\022', '\030', '\n', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'f', 'd', 'w', 'n', 'a', 
  'm', 'e', '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 't', 
  'i', 'o', 'n', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\206', '\001', '\n', 
  '\014', 'A', 'l', 't', 'e', 'r', 'F', 'd', 'w', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\030', 
  '\001', ' ', '\001', '(', '\t', 'R', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 
  't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 
  'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\335', '\001', '\n', '\027', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 
  'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', 
  '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 's', 'e', 'r', 
  'v', 'e', 'r', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 't', 'y', 'p', 'e', 
  '\022', '\030', '\n', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'v', 'e', 'r', 's', 'i', 'o', 
  'n', '\022', '\030', '\n', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\007', 'f', 'd', 'w', 'n', 'a', 
  'm', 'e', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\005', ' ', '\001', '(', '\010', 
  'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 
  's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 
  'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\236', '\001', '\n', '\026', 'A', 'l', 't', 'e', 'r', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 
  'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\001', 
  ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'v', 'e', 'r', 's', 'i', 
  'o', 'n', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 
  'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', ' ', '\n', '\013', 'h', 'a', 's', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', 
  '\004', ' ', '\001', '(', '\010', 'R', '\013', 'h', 'a', 's', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\"', '\257', '\001', '\n', '\025', 'C', 'r', 
  'e', 'a', 't', 'e', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'u', 's', 
  'e', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 
  'p', 'e', 'c', 'R', '\004', 'u', 's', 'e', 'r', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\002', 
  ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 
  't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 
  'i', 's', 't', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\210', '\001', '\n', 
  '\024', 'A', 'l', 't', 'e', 'r', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 
  'u', 's', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 
  'e', 'S', 'p', 'e', 'c', 'R', '\004', 'u', 's', 'e', 'r', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', 
  '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 
  'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '}', '\n', '\023', 'D', 'r', 'o', 'p', 'U', 's', 'e', 'r', 'M', 'a', 'p', 
  'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'u', 's', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\004', 'u', 's', 'e', 'r', '\022', '\036', 
  '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 
  'r', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\003', ' ', '\001', '(', '\010', 
  'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\211', '\001', '\n', '\032', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 
  'l', 'e', 'S', 'p', 'a', 'c', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', 'S', 't', 'm', 't', '\022', '&', '\n', '\016', 't', 'a', 'b', 
  'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 'b', 'l', 'e', 's', 
  'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
  '\022', '\031', '\n', '\010', 'i', 's', '_', 'r', 'e', 's', 'e', 't', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\007', 'i', 's', 'R', 'e', 's', 
  'e', 't', '\"', '\347', '\001', '\n', '\025', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'M', 'o', 'v', 'e', 'A', 'l', 'l', 'S', 
  't', 'm', 't', '\022', '0', '\n', '\023', 'o', 'r', 'i', 'g', '_', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 
  'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\023', 'o', 'r', 'i', 'g', '_', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 
  'a', 'm', 'e', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 
  'e', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', '.', '\n', '\022', 'n', 'e', 'w', '_', 't', 'a', 'b', 
  'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\022', 'n', 'e', 'w', '_', 't', 'a', 
  'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'n', 'o', 'w', 'a', 'i', 't', '\030', '\005', ' ', 
  '\001', '(', '\010', 'R', '\006', 'n', 'o', 'w', 'a', 'i', 't', '\"', '\230', '\001', '\n', '\014', 'S', 'e', 'c', 'L', 'a', 'b', 'e', 'l', 'S', 
  't', 'm', 't', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 
  'e', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '\032', '\n', '\010', 'p', 'r', 'o', 'v', 'i', 
  'd', 'e', 'r', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 'p', 'r', 'o', 'v', 'i', 'd', 'e', 'r', '\022', '\024', '\n', '\005', 'l', 'a', 
  'b', 'e', 'l', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\005', 'l', 'a', 'b', 'e', 'l', '\"', '\221', '\001', '\n', '\026', 'C', 'r', 'e', 'a', 
  't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', '\022', '-', '\n', '\t', 'b', 'a', 's', 
  'e', '_', 's', 't', 'm', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 
  'r', 'e', 'a', 't', 'e', 'S', 't', 'm', 't', 'R', '\004', 'b', 'a', 's', 'e', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 
  'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '(', '\n', 
  '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\240', '\002', '\n', '\027', 'I', 'm', 'p', 'o', 'r', 't', 
  'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', ' ', '\n', '\013', 's', 'e', 'r', 'v', 
  'e', 'r', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 's', 'e', 'r', 'v', 'e', 'r', '_', 'n', 'a', 'm', 
  'e', '\022', '$', '\n', '\r', 'r', 'e', 'm', 'o', 't', 'e', '_', 's', 'c', 'h', 'e', 'm', 'a', '\030', '\002', ' ', '\001', '(', '\t', 'R', 
  '\r', 'r', 'e', 'm', 'o', 't', 'e', '_', 's', 'c', 'h', 'e', 'm', 'a', '\022', '\"', '\n', '\014', 'l', 'o', 'c', 'a', 'l', '_', 's', 
  'c', 'h', 'e', 'm', 'a', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\014', 'l', 'o', 'c', 'a', 'l', '_', 's', 'c', 'h', 'e', 'm', 'a', 
  '\022', '?', '\n', '\t', 'l', 'i', 's', 't', '_', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\016', '2', '!', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 'h', 'e', 'm', 'a', 
  'T', 'y', 'p', 'e', 'R', '\t', 'l', 'i', 's', 't', '_', 't', 'y', 'p', 'e', '\022', '.', '\n', '\n', 't', 'a', 'b', 'l', 'e', '_', 
  'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\n', 't', 'a', 'b', 'l', 'e', '_', 'l', 'i', 's', 't', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', 
  '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 
  't', 'i', 'o', 'n', 's', '\"', '\177', '\n', '\023', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 
  't', 'm', 't', '\022', '\030', '\n', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'e', 'x', 't', 
  'n', 'a', 'm', 'e', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\002', ' ', '\001', 
  '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 
  'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'X', '\n', '\022', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 
  'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 
  'e', 'x', 't', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 
  '\246', '\001', '\n', '\032', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 't', 'e', 'n', 't', 
  's', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'e', 
  'x', 't', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\006', 'a', 
  'c', 't', 'i', 'o', 'n', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\024', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 
  'y', 'p', 'e', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\"', '\253', '\001', '\n', '\023', 'C', 'r', 
  'e', 'a', 't', 'e', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', '\022', '\032', '\n', '\010', 't', 'r', 'i', 'g', 
  'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\022', '\034', '\n', '\t', 'e', 
  'v', 'e', 'n', 't', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\t', 'e', 'v', 'e', 'n', 't', 'n', 'a', 'm', 'e', 
  '\022', '.', '\n', '\n', 'w', 'h', 'e', 'n', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'w', 'h', 'e', 'n', 'c', 'l', 'a', 'u', 's', 'e', '\022', '*', 
  '\n', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\"', 'N', '\n', '\022', 'A', 'l', 't', 'e', 
  'r', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', '\022', '\032', '\n', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 
  'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\022', '\034', '\n', '\t', 't', 'g', 'e', 'n', 
  'a', 'b', 'l', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\t', 't', 'g', 'e', 'n', 'a', 'b', 'l', 'e', 'd', '\"', '\201', '\001', 
  '\n', '\022', 'R', 'e', 'f', 'r', 'e', 's', 'h', 'M', 'a', 't', 'V', 'i', 'e', 'w', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 'c', 
  'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 
  'n', 't', '\022', '\033', '\n', '\t', 's', 'k', 'i', 'p', '_', 'd', 'a', 't', 'a', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\010', 's', 'k', 
  'i', 'p', 'D', 'a', 't', 'a', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', 
  '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 
  't', 'i', 'o', 'n', '\"', 'O', '\n', '\023', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', 'S', 't', 
  'm', 't', '\022', '$', '\n', '\r', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\t', 
  'R', '\r', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '_', 't', 'y', 'p', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', 
  ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\"', 'F', '\n', '\017', 'A', 'l', 't', 'e', 'r', 'S', 'y', 's', 't', 'e', 'm', 
  'S', 't', 'm', 't', '\022', '3', '\n', '\007', 's', 'e', 't', 's', 't', 'm', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'R', '\007', 
  's', 'e', 't', 's', 't', 'm', 't', '\"', '\224', '\002', '\n', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 
  't', 'm', 't', '\022', ' ', '\n', '\013', 'p', 'o', 'l', 'i', 'c', 'y', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', 
  '\013', 'p', 'o', 'l', 'i', 'c', 'y', '_', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\005', 't', 'a', 'b', 'l', 'e', '\030', '\002', ' ', '\001', 
  '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\005', 't', 
  'a', 'b', 'l', 'e', '\022', '\032', '\n', '\010', 'c', 'm', 'd', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 'c', 
  'm', 'd', '_', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 'p', 'e', 'r', 'm', 'i', 's', 's', 'i', 'v', 'e', '\030', '\004', ' ', '\001', 
  '(', '\010', 'R', '\n', 'p', 'e', 'r', 'm', 'i', 's', 's', 'i', 'v', 'e', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\005', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 
  'e', 's', '\022', '\"', '\n', '\004', 'q', 'u', 'a', 'l', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'q', 'u', 'a', 'l', '\022', '.', '\n', '\n', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 
  'c', 'k', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\n', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '\"', '\327', '\001', '\n', '\017', 'A', 'l', 't', 'e', 'r', 'P', 'o', 'l', 'i', 
  'c', 'y', 'S', 't', 'm', 't', '\022', ' ', '\n', '\013', 'p', 'o', 'l', 'i', 'c', 'y', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', 
  '(', '\t', 'R', '\013', 'p', 'o', 'l', 'i', 'c', 'y', '_', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\005', 't', 'a', 'b', 'l', 'e', '\030', 
  '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 
  'R', '\005', 't', 'a', 'b', 'l', 'e', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', '\"', '\n', '\004', 'q', 
  'u', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\004', 'q', 'u', 'a', 'l', '\022', '.', '\n', '\n', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '\030', '\005', ' ', '\001', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'w', 'i', 't', 'h', '_', 'c', 
  'h', 'e', 'c', 'k', '\"', '\331', '\001', '\n', '\023', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'S', 
  't', 'm', 't', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 
  'l', 'a', 'c', 'e', '\022', '0', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\t', 't', 'y', 'p', 'e', '_', 
  'n', 'a', 'm', 'e', '\022', '\022', '\n', '\004', 'l', 'a', 'n', 'g', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'l', 'a', 'n', 'g', '\022', 
  '2', '\n', '\007', 'f', 'r', 'o', 'm', 's', 'q', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\007', 'f', 'r', 'o', 'm', 's', 'q', 
  'l', '\022', '.', '\n', '\005', 't', 'o', 's', 'q', 'l', '\030', '\005', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\005', 't', 'o', 's', 'q', 'l', '\"', 
  'r', '\n', '\014', 'C', 'r', 'e', 'a', 't', 'e', 'A', 'm', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'a', 'm', 'n', 'a', 'm', 'e', 
  '\030', '\001', ' ', '\001', '(', '\t', 'R', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\014', 'h', 'a', 'n', 'd', 'l', 'e', 'r', 
  '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\014', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '_', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'm', 't', 'y', 'p', 
  'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\006', 'a', 'm', 't', 'y', 'p', 'e', '\"', '\253', '\001', '\n', '\025', 'C', 'r', 'e', 'a', 't', 
  'e', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'p', 'u', 'b', 'n', 'a', 
  'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'p', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 
  'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '&', '\n', '\006', 't', 'a', 'b', 'l', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 't', 'a', 'b', 'l', 'e', 's', '\022', 
  '&', '\n', '\016', 'f', 'o', 'r', '_', 'a', 'l', 'l', '_', 't', 'a', 'b', 'l', 'e', 's', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\016', 
  'f', 'o', 'r', '_', 'a', 'l', 'l', '_', 't', 'a', 'b', 'l', 'e', 's', '\"', '\346', '\001', '\n', '\024', 'A', 'l', 't', 'e', 'r', 'P', 
  'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'p', 'u', 'b', 'n', 'a', 'm', 'e', 
  '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'p', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 
  's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 
  'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '&', '\n', '\006', 't', 'a', 'b', 'l', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 't', 'a', 'b', 'l', 'e', 's', '\022', '&', '\n', 
  '\016', 'f', 'o', 'r', '_', 'a', 'l', 'l', '_', 't', 'a', 'b', 'l', 'e', 's', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\016', 'f', 'o', 
  'r', '_', 'a', 'l', 'l', '_', 't', 'a', 'b', 'l', 'e', 's', '\022', ':', '\n', '\014', 't', 'a', 'b', 'l', 'e', '_', 'a', 'c', 't', 
  'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'f', 'E', 
  'l', 'e', 'm', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\013', 't', 'a', 'b', 'l', 'e', 'A', 'c', 't', 'i', 'o', 'n', '\"', '\252', '\001', 
  '\n', '\026', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 
  '\030', '\n', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', 
  '\022', '\032', '\n', '\010', 'c', 'o', 'n', 'n', 'i', 'n', 'f', 'o', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'c', 'o', 'n', 'n', 'i', 
  'n', 'f', 'o', '\022', '0', '\n', '\013', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 
  'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\336', '\001', '\n', '\025', 
  'A', 'l', 't', 'e', 'r', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '3', '\n', '\004', 
  'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 
  'e', 'r', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 'n', 'd', '\022', 
  '\030', '\n', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', 
  '\022', '\032', '\n', '\010', 'c', 'o', 'n', 'n', 'i', 'n', 'f', 'o', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 'c', 'o', 'n', 'n', 'i', 
  'n', 'f', 'o', '\022', '0', '\n', '\013', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 
  'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\204', '\001', '\n', '\024', 
  'D', 'r', 'o', 'p', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 's', 
  'u', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 
  'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', 
  '_', 'o', 'k', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 
  'a', 'v', 'i', 'o', 'r', '\"', '\207', '\002', '\n', '\017', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', 
  '\022', '*', '\n', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\022', '.', '\n', '\n', 's', 't', 
  'a', 't', '_', 't', 'y', 'p', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\n', 's', 't', 'a', 't', '_', 't', 'y', 'p', 'e', 's', '\022', '$', '\n', '\005', 'e', 'x', 'p', 'r', 
  's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 
  'e', 'x', 'p', 'r', 's', '\022', ',', '\n', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 
  's', '\022', '\036', '\n', '\n', 's', 't', 'x', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\n', 's', 't', 
  'x', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', 
  '\030', '\006', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\"', '@', '\n', '\022', 
  'A', 'l', 't', 'e', 'r', 'C', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '*', '\n', '\010', 'c', 'o', 'l', 
  'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\010', 'c', 'o', 'l', 'l', 'n', 'a', 'm', 'e', '\"', 'j', '\n', '\010', 'C', 'a', 'l', 'l', 'S', 't', 'm', 't', '\022', 
  '.', '\n', '\010', 'f', 'u', 'n', 'c', 'c', 'a', 'l', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 'C', 'a', 'l', 'l', 'R', '\010', 'f', 'u', 'n', 'c', 'c', 'a', 'l', 'l', '\022', '.', '\n', 
  '\010', 'f', 'u', 'n', 'c', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', 'R', '\010', 'f', 'u', 'n', 'c', 'e', 'x', 'p', 'r', '\"', '\202', '\001', '\n', '\016', 
  'A', 'l', 't', 'e', 'r', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', '\022', '*', '\n', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 
  's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 
  'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\022', '$', '\n', '\r', 's', 't', 'x', 's', 't', 'a', 't', 't', 'a', 'r', 'g', 'e', 't', 
  '\030', '\002', ' ', '\001', '(', '\005', 'R', '\r', 's', 't', 'x', 's', 't', 'a', 't', 't', 'a', 'r', 'g', 'e', 't', '\022', '\036', '\n', '\n', 
  'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', 
  '_', 'o', 'k', '\"', '\277', '\001', '\n', '\006', 'A', '_', 'E', 'x', 'p', 'r', '\022', ')', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', 
  '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'E', 'x', 'p', 'r', '_', 'K', 'i', 'n', 
  'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '\"', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\005', 'l', 'e', 'x', 
  'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\005', 'l', 'e', 'x', 'p', 'r', '\022', '$', '\n', '\005', 'r', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'e', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 
  'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'O', '\n', 
  '\t', 'C', 'o', 'l', 'u', 'm', 'n', 'R', 'e', 'f', '\022', '&', '\n', '\006', 'f', 'i', 'e', 'l', 'd', 's', '\030', '\001', ' ', '\003', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'f', 'i', 'e', 'l', 'd', 's', 
  '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 
  'i', 'o', 'n', '\"', '>', '\n', '\010', 'P', 'a', 'r', 'a', 'm', 'R', 'e', 'f', '\022', '\026', '\n', '\006', 'n', 'u', 'm', 'b', 'e', 'r', 
  '\030', '\001', ' ', '\001', '(', '\005', 'R', '\006', 'n', 'u', 'm', 'b', 'e', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
  'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'G', '\n', '\007', 'A', '_', 'C', 'o', 
  'n', 's', 't', '\022', ' ', '\n', '\003', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'v', 'a', 'l', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', 
  '\002', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\217', '\003', '\n', '\010', 'F', 'u', 'n', 'c', 'C', 
  'a', 'l', 'l', '\022', '*', '\n', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\022', '\"', '\n', 
  '\004', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 'a', 'g', 'g', '_', 'o', 'r', 'd', 'e', 'r', '\030', '\003', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'a', 'g', 'g', '_', 'o', 
  'r', 'd', 'e', 'r', '\022', '.', '\n', '\n', 'a', 'g', 'g', '_', 'f', 'i', 'l', 't', 'e', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'a', 'g', 'g', '_', 'f', 'i', 'l', 't', 
  'e', 'r', '\022', '*', '\n', '\020', 'a', 'g', 'g', '_', 'w', 'i', 't', 'h', 'i', 'n', '_', 'g', 'r', 'o', 'u', 'p', '\030', '\005', ' ', 
  '\001', '(', '\010', 'R', '\020', 'a', 'g', 'g', '_', 'w', 'i', 't', 'h', 'i', 'n', '_', 'g', 'r', 'o', 'u', 'p', '\022', '\032', '\n', '\010', 
  'a', 'g', 'g', '_', 's', 't', 'a', 'r', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\010', 'a', 'g', 'g', '_', 's', 't', 'a', 'r', '\022', 
  '\"', '\n', '\014', 'a', 'g', 'g', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\014', 'a', 'g', 
  'g', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', '$', '\n', '\r', 'f', 'u', 'n', 'c', '_', 'v', 'a', 'r', 'i', 'a', 'd', 
  'i', 'c', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\r', 'f', 'u', 'n', 'c', '_', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\022', '\'', 
  '\n', '\004', 'o', 'v', 'e', 'r', '\030', '\t', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 
  'i', 'n', 'd', 'o', 'w', 'D', 'e', 'f', 'R', '\004', 'o', 'v', 'e', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
  'n', '\030', '\n', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\010', '\n', '\006', 'A', '_', 'S', 't', 
  'a', 'r', '\"', 'o', '\n', '\t', 'A', '_', 'I', 'n', 'd', 'i', 'c', 'e', 's', '\022', '\032', '\n', '\010', 'i', 's', '_', 's', 'l', 'i', 
  'c', 'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 's', 'l', 'i', 'c', 'e', '\022', '\"', '\n', '\004', 'l', 'i', 'd', 
  'x', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 
  'l', 'i', 'd', 'x', '\022', '\"', '\n', '\004', 'u', 'i', 'd', 'x', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'u', 'i', 'd', 'x', '\"', 'c', '\n', '\r', 'A', '_', 'I', 'n', 'd', 'i', 
  'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '0', '\n', '\013', 'i', 'n', 'd', 'i', 'r', 
  'e', 'c', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\013', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\"', 'U', '\n', '\013', 'A', '_', 'A', 'r', 'r', 
  'a', 'y', 'E', 'x', 'p', 'r', '\022', '*', '\n', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 's', 
  '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 
  'i', 'o', 'n', '\"', '\217', '\001', '\n', '\t', 'R', 'e', 's', 'T', 'a', 'r', 'g', 'e', 't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', 
  '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '0', '\n', '\013', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 
  'o', 'n', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\013', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', ' ', '\n', '\003', 'v', 'a', 'l', '\030', '\003', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'v', 'a', 'l', '\022', '\032', '\n', '\010', 
  'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
  'j', '\n', '\016', 'M', 'u', 'l', 't', 'i', 'A', 's', 's', 'i', 'g', 'n', 'R', 'e', 'f', '\022', '&', '\n', '\006', 's', 'o', 'u', 'r', 
  'c', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\006', 's', 'o', 'u', 'r', 'c', 'e', '\022', '\024', '\n', '\005', 'c', 'o', 'l', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\005', 'c', 
  'o', 'l', 'n', 'o', '\022', '\032', '\n', '\010', 'n', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'n', 
  'c', 'o', 'l', 'u', 'm', 'n', 's', '\"', 'y', '\n', '\010', 'T', 'y', 'p', 'e', 'C', 'a', 's', 't', '\022', ' ', '\n', '\003', 'a', 'r', 
  'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 
  'a', 'r', 'g', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 
  'm', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 
  'a', 't', 'i', 'o', 'n', '\"', 'y', '\n', '\r', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', ' ', '\n', 
  '\003', 'a', 'r', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\003', 'a', 'r', 'g', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'l', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'l', 'n', 'a', 'm', 'e', 
  '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 
  'i', 'o', 'n', '\"', '\337', '\001', '\n', '\006', 'S', 'o', 'r', 't', 'B', 'y', '\022', '\"', '\n', '\004', 'n', 'o', 'd', 'e', '\030', '\001', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'n', 'o', 'd', 'e', 
  '\022', '3', '\n', '\n', 's', 'o', 'r', 't', 'b', 'y', '_', 'd', 'i', 'r', '\030', '\002', ' ', '\001', '(', '\016', '2', '\023', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'D', 'i', 'r', 'R', '\n', 's', 'o', 'r', 't', 'b', 'y', '_', 
  'd', 'i', 'r', '\022', '9', '\n', '\014', 's', 'o', 'r', 't', 'b', 'y', '_', 'n', 'u', 'l', 'l', 's', '\030', '\003', ' ', '\001', '(', '\016', 
  '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'N', 'u', 'l', 'l', 's', 'R', '\014', 
  's', 'o', 'r', 't', 'b', 'y', '_', 'n', 'u', 'l', 'l', 's', '\022', '%', '\n', '\006', 'u', 's', 'e', '_', 'o', 'p', '\030', '\004', ' ', 
  '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'u', 's', 'e', 'O', 
  'p', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\"', '\312', '\002', '\n', '\t', 'W', 'i', 'n', 'd', 'o', 'w', 'D', 'e', 'f', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 
  'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 'f', 'n', 'a', 'm', 'e', '\030', 
  '\002', ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 'f', 'n', 'a', 'm', 'e', '\022', '9', '\n', '\020', 'p', 'a', 'r', 't', 'i', 't', 'i', 
  'o', 'n', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', 
  '\n', '\014', 'o', 'r', 'd', 'e', 'r', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'r', 'd', 'e', 'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', 
  '#', '\n', '\r', 'f', 'r', 'a', 'm', 'e', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\014', 'f', 
  'r', 'a', 'm', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', '\014', 's', 't', 'a', 'r', 't', '_', 'o', 'f', 'f', 's', 
  'e', 't', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\013', 's', 't', 'a', 'r', 't', 'O', 'f', 'f', 's', 'e', 't', '\022', '-', '\n', '\n', 'e', 'n', 'd', '_', 'o', 'f', 'f', 's', 'e', 
  't', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 
  'e', 'n', 'd', 'O', 'f', 'f', 's', 'e', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', 
  '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '}', '\n', '\016', 'R', 'a', 'n', 'g', 'e', 'S', 'u', 'b', 's', 
  'e', 'l', 'e', 'c', 't', '\022', '\030', '\n', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'l', 
  'a', 't', 'e', 'r', 'a', 'l', '\022', '*', '\n', '\010', 's', 'u', 'b', 'q', 'u', 'e', 'r', 'y', '\030', '\002', ' ', '\001', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 's', 'u', 'b', 'q', 'u', 'e', 'r', 'y', 
  '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\003', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\"', '\360', '\001', '\n', '\r', 'R', 'a', 'n', 'g', 'e', 'F', 
  'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', '\030', '\n', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\010', 'R', 
  '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '\036', '\n', '\n', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\030', '\002', ' ', 
  '\001', '(', '\010', 'R', '\n', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\022', ' ', '\n', '\013', 'i', 's', '_', 'r', 'o', 'w', 
  's', 'f', 'r', 'o', 'm', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\013', 'i', 's', '_', 'r', 'o', 'w', 's', 'f', 'r', 'o', 'm', '\022', 
  ',', '\n', '\t', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 's', '\022', '%', '\n', '\005', 'a', 
  'l', 'i', 'a', 's', '\030', '\005', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 
  'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', '.', '\n', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'l', 'i', 's', 't', '\030', '\006', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 
  'd', 'e', 'f', 'l', 'i', 's', 't', '\"', '\326', '\001', '\n', '\020', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 
  'p', 'l', 'e', '\022', '*', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '&', '\n', 
  '\006', 'm', 'e', 't', 'h', 'o', 'd', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\006', 'm', 'e', 't', 'h', 'o', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '.', 
  '\n', '\n', 'r', 'e', 'p', 'e', 'a', 't', 'a', 'b', 'l', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'r', 'e', 'p', 'e', 'a', 't', 'a', 'b', 'l', 'e', '\022', '\032', '\n', '\010', 
  'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
  '\233', '\002', '\n', '\016', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', '\022', '\030', '\n', '\007', 'l', 'a', 't', 
  'e', 'r', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '(', '\n', '\007', 'd', 'o', 
  'c', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\007', 'd', 'o', 'c', 'e', 'x', 'p', 'r', '\022', '(', '\n', '\007', 'r', 'o', 'w', 'e', 'x', 'p', 'r', '\030', '\003', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'r', 'o', 'w', 'e', 
  'x', 'p', 'r', '\022', '.', '\n', '\n', 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 
  's', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\022', '%', '\n', '\005', 'a', 'l', 'i', 
  'a', 's', '\030', '\006', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 
  'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 
  'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\236', '\002', '\n', '\021', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 
  'F', 'u', 'n', 'c', 'C', 'o', 'l', '\022', '\030', '\n', '\007', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', 
  '\007', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', 
  '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 
  'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '&', '\n', '\016', 'f', 'o', 'r', '_', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', 
  '\030', '\003', ' ', '\001', '(', '\010', 'R', '\016', 'f', 'o', 'r', '_', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\022', ' ', '\n', 
  '\013', 'i', 's', '_', 'n', 'o', 't', '_', 'n', 'u', 'l', 'l', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\013', 'i', 's', '_', 'n', 'o', 
  't', '_', 'n', 'u', 'l', 'l', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'e', 'x', 'p', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'l', 'e', 'x', 'p', 'r', '\022', '.', 
  '\n', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'e', 'x', 'p', 'r', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'e', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 
  'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
  '\220', '\002', '\n', '\010', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '$', '\n', '\005', 'n', 'a', 'm', 'e', 's', '\030', '\001', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'n', 'a', 'm', 'e', 's', 
  '\022', '\031', '\n', '\010', 't', 'y', 'p', 'e', '_', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\007', 't', 'y', 'p', 'e', 'O', 
  'i', 'd', '\022', '\024', '\n', '\005', 's', 'e', 't', 'o', 'f', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\005', 's', 'e', 't', 'o', 'f', '\022', 
  '\032', '\n', '\010', 'p', 'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\010', 'p', 'c', 't', '_', 't', 'y', 
  'p', 'e', '\022', '(', '\n', '\007', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 't', 'y', 'p', 'm', 'o', 'd', 's', '\022', '\030', '\n', '\007', 't', 'y', 
  'p', 'e', 'm', 'o', 'd', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\007', 't', 'y', 'p', 'e', 'm', 'o', 'd', '\022', '1', '\n', '\014', 'a', 
  'r', 'r', 'a', 'y', '_', 'b', 'o', 'u', 'n', 'd', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'a', 'r', 'r', 'a', 'y', 'B', 'o', 'u', 'n', 'd', 's', '\022', '\032', '\n', '\010', 
  'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
  '\246', '\005', '\n', '\t', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', '\022', '\030', '\n', '\007', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\030', 
  '\001', ' ', '\001', '(', '\t', 'R', '\007', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 
  'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 
  'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'i', 'n', 'h', 'c', 'o', 'u', 'n', 't', 
  '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'i', 'n', 'h', 'c', 'o', 'u', 'n', 't', '\022', '\032', '\n', '\010', 'i', 's', '_', 'l', 'o', 
  'c', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', '\022', ' ', '\n', '\013', 'i', 's', 
  '_', 'n', 'o', 't', '_', 'n', 'u', 'l', 'l', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\013', 'i', 's', '_', 'n', 'o', 't', '_', 'n', 
  'u', 'l', 'l', '\022', '\"', '\n', '\014', 'i', 's', '_', 'f', 'r', 'o', 'm', '_', 't', 'y', 'p', 'e', '\030', '\006', ' ', '\001', '(', '\010', 
  'R', '\014', 'i', 's', '_', 'f', 'r', 'o', 'm', '_', 't', 'y', 'p', 'e', '\022', '\030', '\n', '\007', 's', 't', 'o', 'r', 'a', 'g', 'e', 
  '\030', '\007', ' ', '\001', '(', '\t', 'R', '\007', 's', 't', 'o', 'r', 'a', 'g', 'e', '\022', '0', '\n', '\013', 'r', 'a', 'w', '_', 'd', 'e', 
  'f', 'a', 'u', 'l', 't', '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\013', 'r', 'a', 'w', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\022', '6', '\n', '\016', 'c', 'o', 'o', 'k', 'e', 'd', 
  '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\t', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'N', 'o', 'd', 'e', 'R', '\016', 'c', 'o', 'o', 'k', 'e', 'd', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\022', '\032', '\n', '\010', 
  'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\030', '\n', ' ', '\001', '(', '\t', 'R', '\010', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\022', 
  '?', '\n', '\021', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '_', 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\030', '\013', ' ', '\001', '(', 
  '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\020', 'i', 'd', 
  'e', 'n', 't', 'i', 't', 'y', 'S', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\022', '\034', '\n', '\t', 'g', 'e', 'n', 'e', 'r', 'a', 't', 
  'e', 'd', '\030', '\014', ' ', '\001', '(', '\t', 'R', '\t', 'g', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', '\022', '8', '\n', '\013', 'c', 'o', 
  'l', 'l', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\r', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'c', 'o', 'l', 'l', 'C', 'l', 'a', 'u', 
  's', 'e', '\022', '\031', '\n', '\010', 'c', 'o', 'l', 'l', '_', 'o', 'i', 'd', '\030', '\016', ' ', '\001', '(', '\r', 'R', '\007', 'c', 'o', 'l', 
  'l', 'O', 'i', 'd', '\022', '0', '\n', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\030', '\017', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 
  'i', 'n', 't', 's', '\022', '.', '\n', '\n', 'f', 'd', 'w', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\020', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'f', 'd', 'w', 'o', 'p', 't', 'i', 'o', 
  'n', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\021', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 
  'a', 't', 'i', 'o', 'n', '\"', '\341', '\002', '\n', '\t', 'I', 'n', 'd', 'e', 'x', 'E', 'l', 'e', 'm', '\022', '\022', '\n', '\004', 'n', 'a', 
  'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', 
  '\022', '\"', '\n', '\014', 'i', 'n', 'd', 'e', 'x', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\014', 'i', 
  'n', 'd', 'e', 'x', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', 
  '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'c', 'o', 
  'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 'c', 'l', 'a', 's', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 'c', 'l', 'a', 's', 's', '\022', 
  '0', '\n', '\013', 'o', 'p', 'c', 'l', 'a', 's', 's', 'o', 'p', 't', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'p', 'c', 'l', 'a', 's', 's', 'o', 'p', 't', 's', '\022', 
  '/', '\n', '\010', 'o', 'r', 'd', 'e', 'r', 'i', 'n', 'g', '\030', '\007', ' ', '\001', '(', '\016', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'D', 'i', 'r', 'R', '\010', 'o', 'r', 'd', 'e', 'r', 'i', 'n', 'g', '\022', '=', 
  '\n', '\016', 'n', 'u', 'l', 'l', 's', '_', 'o', 'r', 'd', 'e', 'r', 'i', 'n', 'g', '\030', '\010', ' ', '\001', '(', '\016', '2', '\025', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'N', 'u', 'l', 'l', 's', 'R', '\016', 'n', 'u', 'l', 
  'l', 's', '_', 'o', 'r', 'd', 'e', 'r', 'i', 'n', 'g', '\"', '\364', '\010', '\n', '\n', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 
  't', '\022', '.', '\n', '\007', 'c', 'o', 'n', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'C', 'o', 'n', 's', 't', 'r', 'T', 'y', 'p', 'e', 'R', '\007', 'c', 'o', 'n', 't', 'y', 'p', 'e', '\022', 
  '\030', '\n', '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', 
  '\022', '\036', '\n', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\n', 'd', 'e', 'f', 
  'e', 'r', 'r', 'a', 'b', 'l', 'e', '\022', '\"', '\n', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\030', '\004', 
  ' ', '\001', '(', '\010', 'R', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 
  'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '$', '\n', '\r', 
  'i', 's', '_', 'n', 'o', '_', 'i', 'n', 'h', 'e', 'r', 'i', 't', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\r', 'i', 's', '_', 'n', 
  'o', '_', 'i', 'n', 'h', 'e', 'r', 'i', 't', '\022', '*', '\n', '\010', 'r', 'a', 'w', '_', 'e', 'x', 'p', 'r', '\030', '\007', ' ', '\001', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'r', 'a', 'w', '_', 'e', 
  'x', 'p', 'r', '\022', ' ', '\n', '\013', 'c', 'o', 'o', 'k', 'e', 'd', '_', 'e', 'x', 'p', 'r', '\030', '\010', ' ', '\001', '(', '\t', 'R', 
  '\013', 'c', 'o', 'o', 'k', 'e', 'd', '_', 'e', 'x', 'p', 'r', '\022', '&', '\n', '\016', 'g', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', 
  '_', 'w', 'h', 'e', 'n', '\030', '\t', ' ', '\001', '(', '\t', 'R', '\016', 'g', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', '_', 'w', 'h', 
  'e', 'n', '\022', '\"', '\n', '\004', 'k', 'e', 'y', 's', '\030', '\n', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'k', 'e', 'y', 's', '\022', ',', '\n', '\t', 'i', 'n', 'c', 'l', 'u', 'd', 'i', 'n', 
  'g', '\030', '\013', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 
  'i', 'n', 'c', 'l', 'u', 'd', 'i', 'n', 'g', '\022', '.', '\n', '\n', 'e', 'x', 'c', 'l', 'u', 's', 'i', 'o', 'n', 's', '\030', '\014', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'e', 'x', 'c', 
  'l', 'u', 's', 'i', 'o', 'n', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\r', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', 
  '\034', '\n', '\t', 'i', 'n', 'd', 'e', 'x', 'n', 'a', 'm', 'e', '\030', '\016', ' ', '\001', '(', '\t', 'R', '\t', 'i', 'n', 'd', 'e', 'x', 
  'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 'i', 'n', 'd', 'e', 'x', 's', 'p', 'a', 'c', 'e', '\030', '\017', ' ', '\001', '(', '\t', 'R', 
  '\n', 'i', 'n', 'd', 'e', 'x', 's', 'p', 'a', 'c', 'e', '\022', '2', '\n', '\024', 'r', 'e', 's', 'e', 't', '_', 'd', 'e', 'f', 'a', 
  'u', 'l', 't', '_', 't', 'b', 'l', 's', 'p', 'c', '\030', '\020', ' ', '\001', '(', '\010', 'R', '\024', 'r', 'e', 's', 'e', 't', '_', 'd', 
  'e', 'f', 'a', 'u', 'l', 't', '_', 't', 'b', 'l', 's', 'p', 'c', '\022', '$', '\n', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 
  'e', 't', 'h', 'o', 'd', '\030', '\021', ' ', '\001', '(', '\t', 'R', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 'h', 'o', 
  'd', '\022', '2', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\022', ' ', '\001', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 
  'u', 's', 'e', '\022', ',', '\n', '\007', 'p', 'k', 't', 'a', 'b', 'l', 'e', '\030', '\023', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\007', 'p', 'k', 't', 'a', 'b', 'l', 'e', '\022', 
  '*', '\n', '\010', 'f', 'k', '_', 'a', 't', 't', 'r', 's', '\030', '\024', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'k', '_', 'a', 't', 't', 'r', 's', '\022', '*', '\n', '\010', 'p', 'k', '_', 
  'a', 't', 't', 'r', 's', '\030', '\025', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\010', 'p', 'k', '_', 'a', 't', 't', 'r', 's', '\022', '\"', '\n', '\014', 'f', 'k', '_', 'm', 'a', 't', 'c', 'h', 't', 
  'y', 'p', 'e', '\030', '\026', ' ', '\001', '(', '\t', 'R', '\014', 'f', 'k', '_', 'm', 'a', 't', 'c', 'h', 't', 'y', 'p', 'e', '\022', '$', 
  '\n', '\r', 'f', 'k', '_', 'u', 'p', 'd', '_', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\027', ' ', '\001', '(', '\t', 'R', '\r', 'f', 'k', 
  '_', 'u', 'p', 'd', '_', 'a', 'c', 't', 'i', 'o', 'n', '\022', '$', '\n', '\r', 'f', 'k', '_', 'd', 'e', 'l', '_', 'a', 'c', 't', 
  'i', 'o', 'n', '\030', '\030', ' ', '\001', '(', '\t', 'R', '\r', 'f', 'k', '_', 'd', 'e', 'l', '_', 'a', 'c', 't', 'i', 'o', 'n', '\022', 
  '4', '\n', '\r', 'o', 'l', 'd', '_', 'c', 'o', 'n', 'p', 'f', 'e', 'q', 'o', 'p', '\030', '\031', ' ', '\003', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'o', 'l', 'd', '_', 'c', 'o', 'n', 'p', 'f', 'e', 
  'q', 'o', 'p', '\022', '(', '\n', '\017', 'o', 'l', 'd', '_', 'p', 'k', 't', 'a', 'b', 'l', 'e', '_', 'o', 'i', 'd', '\030', '\032', ' ', 
  '\001', '(', '\r', 'R', '\017', 'o', 'l', 'd', '_', 'p', 'k', 't', 'a', 'b', 'l', 'e', '_', 'o', 'i', 'd', '\022', '(', '\n', '\017', 's', 
  'k', 'i', 'p', '_', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'i', 'o', 'n', '\030', '\033', ' ', '\001', '(', '\010', 'R', '\017', 's', 'k', 'i', 
  'p', '_', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\017', 'i', 'n', 'i', 't', 'i', 'a', 'l', 'l', 'y', 
  '_', 'v', 'a', 'l', 'i', 'd', '\030', '\034', ' ', '\001', '(', '\010', 'R', '\017', 'i', 'n', 'i', 't', 'i', 'a', 'l', 'l', 'y', '_', 'v', 
  'a', 'l', 'i', 'd', '\"', '\274', '\001', '\n', '\007', 'D', 'e', 'f', 'E', 'l', 'e', 'm', '\022', '\"', '\n', '\014', 'd', 'e', 'f', 'n', 'a', 
  'm', 'e', 's', 'p', 'a', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\014', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', 'p', 'a', 
  'c', 'e', '\022', '\030', '\n', '\007', 'd', 'e', 'f', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'd', 'e', 'f', 'n', 
  'a', 'm', 'e', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '5', '\n', '\t', 'd', 'e', 'f', 'a', 'c', 't', 'i', 'o', 'n', 
  '\030', '\004', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'f', 'E', 'l', 'e', 'm', 
  'A', 'c', 't', 'i', 'o', 'n', 'R', '\t', 'd', 'e', 'f', 'a', 'c', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\241', '\n', '\n', '\r', 
  'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'E', 'n', 't', 'r', 'y', '\022', '+', '\n', '\007', 'r', 't', 'e', 'k', 'i', 'n', 'd', '\030', 
  '\001', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'T', 'E', 'K', 'i', 'n', 'd', 'R', 
  '\007', 'r', 't', 'e', 'k', 'i', 'n', 'd', '\022', '\024', '\n', '\005', 'r', 'e', 'l', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\005', 
  'r', 'e', 'l', 'i', 'd', '\022', '\030', '\n', '\007', 'r', 'e', 'l', 'k', 'i', 'n', 'd', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'r', 
  'e', 'l', 'k', 'i', 'n', 'd', '\022', ' ', '\n', '\013', 'r', 'e', 'l', 'l', 'o', 'c', 'k', 'm', 'o', 'd', 'e', '\030', '\004', ' ', '\001', 
  '(', '\005', 'R', '\013', 'r', 'e', 'l', 'l', 'o', 'c', 'k', 'm', 'o', 'd', 'e', '\022', '=', '\n', '\013', 't', 'a', 'b', 'l', 'e', 's', 
  'a', 'm', 'p', 'l', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 
  'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\013', 't', 'a', 'b', 'l', 'e', 's', 'a', 'm', 
  'p', 'l', 'e', '\022', '+', '\n', '\010', 's', 'u', 'b', 'q', 'u', 'e', 'r', 'y', '\030', '\006', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'Q', 'u', 'e', 'r', 'y', 'R', '\010', 's', 'u', 'b', 'q', 'u', 'e', 'r', 'y', '\022', '*', 
  '\n', '\020', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '_', 'b', 'a', 'r', 'r', 'i', 'e', 'r', '\030', '\007', ' ', '\001', '(', '\010', 'R', 
  '\020', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '_', 'b', 'a', 'r', 'r', 'i', 'e', 'r', '\022', '.', '\n', '\010', 'j', 'o', 'i', 'n', 
  't', 'y', 'p', 'e', '\030', '\010', ' ', '\001', '(', '\016', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 'o', 'i', 
  'n', 'T', 'y', 'p', 'e', 'R', '\010', 'j', 'o', 'i', 'n', 't', 'y', 'p', 'e', '\022', '&', '\n', '\016', 'j', 'o', 'i', 'n', 'm', 'e', 
  'r', 'g', 'e', 'd', 'c', 'o', 'l', 's', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\016', 'j', 'o', 'i', 'n', 'm', 'e', 'r', 'g', 'e', 
  'd', 'c', 'o', 'l', 's', '\022', '4', '\n', '\r', 'j', 'o', 'i', 'n', 'a', 'l', 'i', 'a', 's', 'v', 'a', 'r', 's', '\030', '\n', ' ', 
  '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'j', 'o', 'i', 'n', 
  'a', 'l', 'i', 'a', 's', 'v', 'a', 'r', 's', '\022', '2', '\n', '\014', 'j', 'o', 'i', 'n', 'l', 'e', 'f', 't', 'c', 'o', 'l', 's', 
  '\030', '\013', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'j', 
  'o', 'i', 'n', 'l', 'e', 'f', 't', 'c', 'o', 'l', 's', '\022', '4', '\n', '\r', 'j', 'o', 'i', 'n', 'r', 'i', 'g', 'h', 't', 'c', 
  'o', 'l', 's', '\030', '\014', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\r', 'j', 'o', 'i', 'n', 'r', 'i', 'g', 'h', 't', 'c', 'o', 'l', 's', '\022', ',', '\n', '\t', 'f', 'u', 'n', 'c', 't', 'i', 
  'o', 'n', 's', '\030', '\r', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\t', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 's', '\022', '&', '\n', '\016', 'f', 'u', 'n', 'c', 'o', 'r', 'd', 'i', 'n', 'a', 
  'l', 'i', 't', 'y', '\030', '\016', ' ', '\001', '(', '\010', 'R', '\016', 'f', 'u', 'n', 'c', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 
  'y', '\022', '1', '\n', '\t', 't', 'a', 'b', 'l', 'e', 'f', 'u', 'n', 'c', '\030', '\017', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'R', '\t', 't', 'a', 'b', 'l', 'e', 'f', 'u', 
  'n', 'c', '\022', '2', '\n', '\014', 'v', 'a', 'l', 'u', 'e', 's', '_', 'l', 'i', 's', 't', 's', '\030', '\020', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'v', 'a', 'l', 'u', 'e', 's', '_', 'l', 
  'i', 's', 't', 's', '\022', '\030', '\n', '\007', 'c', 't', 'e', 'n', 'a', 'm', 'e', '\030', '\021', ' ', '\001', '(', '\t', 'R', '\007', 'c', 't', 
  'e', 'n', 'a', 'm', 'e', '\022', ' ', '\n', '\013', 'c', 't', 'e', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\030', '\022', ' ', '\001', '(', 
  '\r', 'R', '\013', 'c', 't', 'e', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\022', '&', '\n', '\016', 's', 'e', 'l', 'f', '_', 'r', 'e', 
  'f', 'e', 'r', 'e', 'n', 'c', 'e', '\030', '\023', ' ', '\001', '(', '\010', 'R', '\016', 's', 'e', 'l', 'f', '_', 'r', 'e', 'f', 'e', 'r', 
  'e', 'n', 'c', 'e', '\022', '*', '\n', '\010', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\030', '\024', ' ', '\003', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\022', '.', 
  '\n', '\n', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\025', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\022', '4', '\n', '\r', 
  'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\026', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', 
  '\022', '\030', '\n', '\007', 'e', 'n', 'r', 'n', 'a', 'm', 'e', '\030', '\027', ' ', '\001', '(', '\t', 'R', '\007', 'e', 'n', 'r', 'n', 'a', 'm', 
  'e', '\022', '\034', '\n', '\t', 'e', 'n', 'r', 't', 'u', 'p', 'l', 'e', 's', '\030', '\030', ' ', '\001', '(', '\001', 'R', '\t', 'e', 'n', 'r', 
  't', 'u', 'p', 'l', 'e', 's', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\031', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', '#', '\n', '\004', 'e', 
  'r', 'e', 'f', '\030', '\032', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 
  's', 'R', '\004', 'e', 'r', 'e', 'f', '\022', '\030', '\n', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\030', '\033', ' ', '\001', '(', '\010', 'R', 
  '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '\020', '\n', '\003', 'i', 'n', 'h', '\030', '\034', ' ', '\001', '(', '\010', 'R', '\003', 'i', 'n', 
  'h', '\022', '\034', '\n', '\n', 'i', 'n', '_', 'f', 'r', 'o', 'm', '_', 'c', 'l', '\030', '\035', ' ', '\001', '(', '\010', 'R', '\010', 'i', 'n', 
  'F', 'r', 'o', 'm', 'C', 'l', '\022', '%', '\n', '\016', 'r', 'e', 'q', 'u', 'i', 'r', 'e', 'd', '_', 'p', 'e', 'r', 'm', 's', '\030', 
  '\036', ' ', '\001', '(', '\r', 'R', '\r', 'r', 'e', 'q', 'u', 'i', 'r', 'e', 'd', 'P', 'e', 'r', 'm', 's', '\022', '\"', '\n', '\r', 'c', 
  'h', 'e', 'c', 'k', '_', 'a', 's', '_', 'u', 's', 'e', 'r', '\030', '\037', ' ', '\001', '(', '\r', 'R', '\013', 'c', 'h', 'e', 'c', 'k', 
  'A', 's', 'U', 's', 'e', 'r', '\022', '5', '\n', '\016', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '_', 'q', 'u', 'a', 'l', 's', '\030', 
  ' ', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 's', 'e', 
  'c', 'u', 'r', 'i', 't', 'y', 'Q', 'u', 'a', 'l', 's', '\"', '\300', '\002', '\n', '\020', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'F', 
  'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', '*', '\n', '\010', 'f', 'u', 'n', 'c', 'e', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'e', 'x', 'p', 
  'r', '\022', '\"', '\n', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'c', 'o', 'u', 'n', 't', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\014', 
  'f', 'u', 'n', 'c', 'c', 'o', 'l', 'c', 'o', 'u', 'n', 't', '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'n', 'a', 
  'm', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 
  't', 'y', 'p', 'e', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\022', '6', '\n', '\016', 'f', 'u', 'n', 'c', 'c', 
  'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\022', '<', '\n', 
  '\021', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\021', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'c', 
  'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\"', '\207', '\001', '\n', '\021', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 
  'C', 'l', 'a', 'u', 's', 'e', '\022', '\036', '\n', '\n', 't', 's', 'm', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '\030', '\001', ' ', '\001', '(', 
  '\r', 'R', '\n', 't', 's', 'm', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', 
  '.', '\n', '\n', 'r', 'e', 'p', 'e', 'a', 't', 'a', 'b', 'l', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'r', 'e', 'p', 'e', 'a', 't', 'a', 'b', 'l', 'e', '\"', '\254', '\001', 
  '\n', '\017', 'W', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', '\022', '%', '\n', '\004', 'k', 'i', 'n', 'd', 
  '\030', '\001', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'C', 'O', 'K', 'i', 'n', 'd', 
  'R', '\004', 'k', 'i', 'n', 'd', '\022', '\030', '\n', '\007', 'r', 'e', 'l', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 
  'r', 'e', 'l', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'p', 'o', 'l', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', 
  '\007', 'p', 'o', 'l', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'q', 'u', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'q', 'u', 'a', 'l', '\022', '\032', '\n', '\010', 'c', 'a', 
  's', 'c', 'a', 'd', 'e', 'd', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'c', 'a', 's', 'c', 'a', 'd', 'e', 'd', '\"', '\250', '\001', 
  '\n', '\017', 'S', 'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', '\022', '+', '\n', '\022', 't', 'l', 'e', '_', 
  's', 'o', 'r', 't', '_', 'g', 'r', 'o', 'u', 'p', '_', 'r', 'e', 'f', '\030', '\001', ' ', '\001', '(', '\r', 'R', '\017', 't', 'l', 'e', 
  'S', 'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'R', 'e', 'f', '\022', '\022', '\n', '\004', 'e', 'q', 'o', 'p', '\030', '\002', ' ', '\001', '(', 
  '\r', 'R', '\004', 'e', 'q', 'o', 'p', '\022', '\026', '\n', '\006', 's', 'o', 'r', 't', 'o', 'p', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\006', 
  's', 'o', 'r', 't', 'o', 'p', '\022', ' ', '\n', '\013', 'n', 'u', 'l', 'l', 's', '_', 'f', 'i', 'r', 's', 't', '\030', '\004', ' ', '\001', 
  '(', '\010', 'R', '\013', 'n', 'u', 'l', 'l', 's', '_', 'f', 'i', 'r', 's', 't', '\022', '\032', '\n', '\010', 'h', 'a', 's', 'h', 'a', 'b', 
  'l', 'e', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'h', 'a', 's', 'h', 'a', 'b', 'l', 'e', '\"', '\202', '\001', '\n', '\013', 'G', 'r', 
  'o', 'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', '\022', '-', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\031', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', 'K', 'i', 'n', 'd', 
  'R', '\004', 'k', 'i', 'n', 'd', '\022', '(', '\n', '\007', 'c', 'o', 'n', 't', 'e', 'n', 't', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'n', 't', 'e', 'n', 't', '\022', '\032', 
  '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
  'n', '\"', '\275', '\004', '\n', '\014', 'W', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 
  'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 'f', 'n', 'a', 'm', 'e', '\030', 
  '\002', ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 'f', 'n', 'a', 'm', 'e', '\022', '9', '\n', '\020', 'p', 'a', 'r', 't', 'i', 't', 'i', 
  'o', 'n', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', 
  '\n', '\014', 'o', 'r', 'd', 'e', 'r', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'r', 'd', 'e', 'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', 
  '#', '\n', '\r', 'f', 'r', 'a', 'm', 'e', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\014', 'f', 
  'r', 'a', 'm', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', '\014', 's', 't', 'a', 'r', 't', '_', 'o', 'f', 'f', 's', 
  'e', 't', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
  '\013', 's', 't', 'a', 'r', 't', 'O', 'f', 'f', 's', 'e', 't', '\022', '-', '\n', '\n', 'e', 'n', 'd', '_', 'o', 'f', 'f', 's', 'e', 
  't', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 
  'e', 'n', 'd', 'O', 'f', 'f', 's', 'e', 't', '\022', '-', '\n', '\023', 's', 't', 'a', 'r', 't', '_', 'i', 'n', '_', 'r', 'a', 'n', 
  'g', 'e', '_', 'f', 'u', 'n', 'c', '\030', '\010', ' ', '\001', '(', '\r', 'R', '\020', 's', 't', 'a', 'r', 't', 'I', 'n', 'R', 'a', 'n', 
  'g', 'e', 'F', 'u', 'n', 'c', '\022', ')', '\n', '\021', 'e', 'n', 'd', '_', 'i', 'n', '_', 'r', 'a', 'n', 'g', 'e', '_', 'f', 'u', 
  'n', 'c', '\030', '\t', ' ', '\001', '(', '\r', 'R', '\016', 'e', 'n', 'd', 'I', 'n', 'R', 'a', 'n', 'g', 'e', 'F', 'u', 'n', 'c', '\022', 
  '\"', '\n', '\r', 'i', 'n', '_', 'r', 'a', 'n', 'g', 'e', '_', 'c', 'o', 'l', 'l', '\030', '\n', ' ', '\001', '(', '\r', 'R', '\013', 'i', 
  'n', 'R', 'a', 'n', 'g', 'e', 'C', 'o', 'l', 'l', '\022', ' ', '\n', '\014', 'i', 'n', '_', 'r', 'a', 'n', 'g', 'e', '_', 'a', 's', 
  'c', '\030', '\013', ' ', '\001', '(', '\010', 'R', '\n', 'i', 'n', 'R', 'a', 'n', 'g', 'e', 'A', 's', 'c', '\022', '/', '\n', '\024', 'i', 'n', 
  '_', 'r', 'a', 'n', 'g', 'e', '_', 'n', 'u', 'l', 'l', 's', '_', 'f', 'i', 'r', 's', 't', '\030', '\014', ' ', '\001', '(', '\010', 'R', 
  '\021', 'i', 'n', 'R', 'a', 'n', 'g', 'e', 'N', 'u', 'l', 'l', 's', 'F', 'i', 'r', 's', 't', '\022', '\026', '\n', '\006', 'w', 'i', 'n', 
  'r', 'e', 'f', '\030', '\r', ' ', '\001', '(', '\r', 'R', '\006', 'w', 'i', 'n', 'r', 'e', 'f', '\022', '!', '\n', '\014', 'c', 'o', 'p', 'i', 
  'e', 'd', '_', 'o', 'r', 'd', 'e', 'r', '\030', '\016', ' ', '\001', '(', '\010', 'R', '\013', 'c', 'o', 'p', 'i', 'e', 'd', 'O', 'r', 'd', 
  'e', 'r', '\"', '\220', '\001', '\n', '\016', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', '\022', '(', '\n', '\007', 
  'o', 'b', 'j', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 'j', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'b', 'j', 'a', 'r', 'g', 's', '\030', 
  '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 
  'j', 'a', 'r', 'g', 's', '\022', '*', '\n', '\020', 'a', 'r', 'g', 's', '_', 'u', 'n', 's', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'd', 
  '\030', '\003', ' ', '\001', '(', '\010', 'R', '\020', 'a', 'r', 'g', 's', '_', 'u', 'n', 's', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'd', '\"', 
  'N', '\n', '\n', 'A', 'c', 'c', 'e', 's', 's', 'P', 'r', 'i', 'v', '\022', '\034', '\n', '\t', 'p', 'r', 'i', 'v', '_', 'n', 'a', 'm', 
  'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\t', 'p', 'r', 'i', 'v', '_', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'c', 'o', 'l', 
  's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 
  'c', 'o', 'l', 's', '\"', '\215', '\002', '\n', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 's', 'I', 't', 'e', 
  'm', '\022', '\032', '\n', '\010', 'i', 't', 'e', 'm', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\005', 'R', '\010', 'i', 't', 'e', 'm', 
  't', 'y', 'p', 'e', '\022', ',', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\004', 'n', 'a', 'm', 'e', 
  '\022', '\026', '\n', '\006', 'n', 'u', 'm', 'b', 'e', 'r', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\006', 'n', 'u', 'm', 'b', 'e', 'r', '\022', 
  '2', '\n', '\014', 'o', 'r', 'd', 'e', 'r', '_', 'f', 'a', 'm', 'i', 'l', 'y', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'o', 'r', 'd', 'e', 'r', '_', 'f', 'a', 'm', 'i', 'l', 
  'y', '\022', '.', '\n', '\n', 'c', 'l', 'a', 's', 's', '_', 'a', 'r', 'g', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
  'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'l', 'a', 's', 's', '_', 'a', 'r', 'g', 's', '\022', 
  '2', '\n', '\n', 's', 't', 'o', 'r', 'e', 'd', 't', 'y', 'p', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 's', 't', 'o', 'r', 'e', 'd', 't', 'y', 'p', 
  'e', '\"', '[', '\n', '\017', 'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '.', '\n', '\010', 'r', 
  'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\030', '\n', '\007', 'o', 'p', 't', 
  'i', 'o', 'n', 's', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\265', '\001', '\n', '\021', 'F', 
  'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', 
  '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '-', '\n', '\010', 'a', 'r', 'g', '_', 't', 'y', 'p', 'e', '\030', '\002', 
  ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', 
  '\007', 'a', 'r', 'g', 'T', 'y', 'p', 'e', '\022', '3', '\n', '\004', 'm', 'o', 'd', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\037', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 
  'r', 'M', 'o', 'd', 'e', 'R', '\004', 'm', 'o', 'd', 'e', '\022', '(', '\n', '\007', 'd', 'e', 'f', 'e', 'x', 'p', 'r', '\030', '\004', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'd', 'e', 'f', 'e', 
  'x', 'p', 'r', '\"', '\265', '\001', '\n', '\r', 'L', 'o', 'c', 'k', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 
  'l', 'o', 'c', 'k', 'e', 'd', '_', 'r', 'e', 'l', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
  'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'l', 'o', 'c', 'k', 'e', 'd', 'R', 'e', 'l', 's', '\022', '8', '\n', '\010', 's', 
  't', 'r', 'e', 'n', 'g', 't', 'h', '\030', '\002', ' ', '\001', '(', '\016', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'L', 'o', 'c', 'k', 'C', 'l', 'a', 'u', 's', 'e', 'S', 't', 'r', 'e', 'n', 'g', 't', 'h', 'R', '\010', 's', 't', 'r', 'e', 'n', 
  'g', 't', 'h', '\022', '9', '\n', '\013', 'w', 'a', 'i', 't', '_', 'p', 'o', 'l', 'i', 'c', 'y', '\030', '\003', ' ', '\001', '(', '\016', '2', 
  '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'P', 'o', 'l', 'i', 'c', 'y', 
  'R', '\n', 'w', 'a', 'i', 't', 'P', 'o', 'l', 'i', 'c', 'y', '\"', '\267', '\001', '\n', '\r', 'R', 'o', 'w', 'M', 'a', 'r', 'k', 'C', 
  'l', 'a', 'u', 's', 'e', '\022', '\020', '\n', '\003', 'r', 't', 'i', '\030', '\001', ' ', '\001', '(', '\r', 'R', '\003', 'r', 't', 'i', '\022', '8', 
  '\n', '\010', 's', 't', 'r', 'e', 'n', 'g', 't', 'h', '\030', '\002', ' ', '\001', '(', '\016', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'L', 'o', 'c', 'k', 'C', 'l', 'a', 'u', 's', 'e', 'S', 't', 'r', 'e', 'n', 'g', 't', 'h', 'R', '\010', 's', 't', 
  'r', 'e', 'n', 'g', 't', 'h', '\022', '9', '\n', '\013', 'w', 'a', 'i', 't', '_', 'p', 'o', 'l', 'i', 'c', 'y', '\030', '\003', ' ', '\001', 
  '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'P', 'o', 'l', 
  'i', 'c', 'y', 'R', '\n', 'w', 'a', 'i', 't', 'P', 'o', 'l', 'i', 'c', 'y', '\022', '\037', '\n', '\013', 'p', 'u', 's', 'h', 'e', 'd', 
  '_', 'd', 'o', 'w', 'n', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'p', 'u', 's', 'h', 'e', 'd', 'D', 'o', 'w', 'n', '\"', '\266', 
  '\001', '\n', '\014', 'X', 'm', 'l', 'S', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', '\022', '5', '\n', '\t', 'x', 'm', 'l', 'o', 'p', 't', 
  'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'X', 'm', 'l', 'O', 
  'p', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 'R', '\t', 'x', 'm', 'l', 'o', 'p', 't', 'i', 'o', 'n', '\022', '\"', '\n', '\004', 'e', 
  'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
  'R', '\004', 'e', 'x', 'p', 'r', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\013', 
  '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 
  'e', 'N', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 
  'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'j', '\n', '\n', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\"', '\n', 
  '\004', 'c', 't', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\004', 'c', 't', 'e', 's', '\022', '\034', '\n', '\t', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\030', '\002', ' ', '\001', 
  '(', '\010', 'R', '\t', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
  '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\247', '\001', '\n', '\013', 'I', 'n', 'f', 'e', 
  'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 'i', 'n', 'd', 'e', 'x', '_', 'e', 'l', 'e', 'm', 's', '\030', '\001', ' ', 
  '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'i', 'n', 'd', 'e', 
  'x', 'E', 'l', 'e', 'm', 's', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\002', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 
  'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\030', '\n', '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', 
  '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', 
  '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\363', '\001', '\n', '\020', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 
  't', 'C', 'l', 'a', 'u', 's', 'e', '\022', '2', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\016', '2', '\032', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'A', 'c', 't', 'i', 'o', 
  'n', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\022', '+', '\n', '\005', 'i', 'n', 'f', 'e', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', 
  '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'f', 'e', 'r', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\005', 'i', 
  'n', 'f', 'e', 'r', '\022', '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\003', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 'L', 
  'i', 's', 't', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\001', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 
  'a', 'u', 's', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 
  'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\211', '\004', '\n', '\017', 'C', 'o', 'm', 'm', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'E', 'x', 
  'p', 'r', '\022', '\030', '\n', '\007', 'c', 't', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'c', 't', 'e', 'n', 
  'a', 'm', 'e', '\022', '4', '\n', '\r', 'a', 'l', 'i', 'a', 's', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', 
  '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'a', 'l', 'i', 'a', 's', 'c', 
  'o', 'l', 'n', 'a', 'm', 'e', 's', '\022', 'B', '\n', '\017', 'c', 't', 'e', 'm', 'a', 't', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 
  'd', '\030', '\003', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'M', 'a', 't', 
  'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'R', '\017', 'c', 't', 'e', 'm', 'a', 't', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'd', 
  '\022', '*', '\n', '\010', 'c', 't', 'e', 'q', 'u', 'e', 'r', 'y', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 't', 'e', 'q', 'u', 'e', 'r', 'y', '\022', '\032', '\n', '\010', 'l', 'o', 
  'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '\"', '\n', 
  '\014', 'c', 't', 'e', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\014', 'c', 't', 'e', 'r', 
  'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\022', ' ', '\n', '\013', 'c', 't', 'e', 'r', 'e', 'f', 'c', 'o', 'u', 'n', 't', '\030', '\007', 
  ' ', '\001', '(', '\005', 'R', '\013', 'c', 't', 'e', 'r', 'e', 'f', 'c', 'o', 'u', 'n', 't', '\022', '0', '\n', '\013', 'c', 't', 'e', 'c', 
  'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\013', 'c', 't', 'e', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\022', '0', '\n', '\013', 'c', 't', 'e', 'c', 
  'o', 'l', 't', 'y', 'p', 'e', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\013', 'c', 't', 'e', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\022', '4', '\n', '\r', 'c', 't', 'e', 'c', 
  'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\n', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'c', 't', 'e', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\022', ':', '\n', '\020', 
  'c', 't', 'e', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\013', ' ', '\003', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\020', 'c', 't', 'e', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 
  'a', 't', 'i', 'o', 'n', 's', '\"', 'v', '\n', '\010', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', '\022', '2', '\n', '\010', 'r', 'o', 'l', 
  'e', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 
  'l', 'e', 'S', 'p', 'e', 'c', 'T', 'y', 'p', 'e', 'R', '\010', 'r', 'o', 'l', 'e', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'r', 
  'o', 'l', 'e', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'r', 'o', 'l', 'e', 'n', 'a', 'm', 'e', '\022', '\032', 
  '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
  'n', '\"', 'Y', '\n', '\021', 'T', 'r', 'i', 'g', 'g', 'e', 'r', 'T', 'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', '\022', '\022', '\n', 
  '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\025', '\n', '\006', 'i', 's', '_', 'n', 
  'e', 'w', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\005', 'i', 's', 'N', 'e', 'w', '\022', '\031', '\n', '\010', 'i', 's', '_', 't', 'a', 'b', 
  'l', 'e', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\007', 'i', 's', 'T', 'a', 'b', 'l', 'e', '\"', '\273', '\001', '\n', '\r', 'P', 'a', 'r', 
  't', 'i', 't', 'i', 'o', 'n', 'E', 'l', 'e', 'm', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', 
  '\004', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', '\022', ',', '\n', '\t', 'c', 'o', 'l', 'l', 'a', 
  't', 'i', 'o', 'n', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 'c', 'l', 'a', 's', 's', '\030', '\004', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 'c', 
  'l', 'a', 's', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 
  'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'x', '\n', '\r', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 'p', 'e', 'c', '\022', 
  '\032', '\n', '\010', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 's', 't', 'r', 'a', 't', 'e', 
  'g', 'y', '\022', '/', '\n', '\013', 'p', 'a', 'r', 't', '_', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'p', 'a', 'r', 't', 'P', 'a', 'r', 'a', 'm', 
  's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
  't', 'i', 'o', 'n', '\"', '\270', '\002', '\n', '\022', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 
  'e', 'c', '\022', '\032', '\n', '\010', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 's', 't', 'r', 
  'a', 't', 'e', 'g', 'y', '\022', '\036', '\n', '\n', 'i', 's', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\002', ' ', '\001', '(', '\010', 
  'R', '\n', 'i', 's', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\022', '\030', '\n', '\007', 'm', 'o', 'd', 'u', 'l', 'u', 's', '\030', '\003', 
  ' ', '\001', '(', '\005', 'R', '\007', 'm', 'o', 'd', 'u', 'l', 'u', 's', '\022', '\034', '\n', '\t', 'r', 'e', 'm', 'a', 'i', 'n', 'd', 'e', 
  'r', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\t', 'r', 'e', 'm', 'a', 'i', 'n', 'd', 'e', 'r', '\022', '.', '\n', '\n', 'l', 'i', 's', 
  't', 'd', 'a', 't', 'u', 'm', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\n', 'l', 'i', 's', 't', 'd', 'a', 't', 'u', 'm', 's', '\022', '0', '\n', '\013', 'l', 'o', 'w', 'e', 'r', 
  'd', 'a', 't', 'u', 'm', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\013', 'l', 'o', 'w', 'e', 'r', 'd', 'a', 't', 'u', 'm', 's', '\022', '0', '\n', '\013', 'u', 'p', 'p', 'e', 'r', 
  'd', 'a', 't', 'u', 'm', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\013', 'u', 'p', 'p', 'e', 'r', 'd', 'a', 't', 'u', 'm', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 
  'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\216', '\001', '\n', '\023', 'P', 
  'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 'a', 'n', 'g', 'e', 'D', 'a', 't', 'u', 'm', '\022', '5', '\n', '\004', 'k', 'i', 'n', 
  'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '!', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 
  'i', 'o', 'n', 'R', 'a', 'n', 'g', 'e', 'D', 'a', 't', 'u', 'm', 'K', 'i', 'n', 'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '$', 
  '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\005', 'v', 'a', 'l', 'u', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', 
  ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'j', '\n', '\014', 'P', 'a', 'r', 't', 'i', 't', 'i', 
  'o', 'n', 'C', 'm', 'd', '\022', '&', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\005', 'b', 
  'o', 'u', 'n', 'd', '\030', '\002', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 
  't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 'e', 'c', 'R', '\005', 'b', 'o', 'u', 'n', 'd', '\"', '|', '\n', 
  '\016', 'V', 'a', 'c', 'u', 'u', 'm', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 
  'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 
  'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\020', '\n', '\003', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', 
  '\r', 'R', '\003', 'o', 'i', 'd', '\022', '(', '\n', '\007', 'v', 'a', '_', 'c', 'o', 'l', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', 
  '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'v', 'a', '_', 'c', 'o', 'l', 's', '\"', '\216', 
  '\001', '\n', '\017', 'I', 'n', 'l', 'i', 'n', 'e', 'C', 'o', 'd', 'e', 'B', 'l', 'o', 'c', 'k', '\022', ' ', '\n', '\013', 's', 'o', 'u', 
  'r', 'c', 'e', '_', 't', 'e', 'x', 't', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 's', 'o', 'u', 'r', 'c', 'e', '_', 't', 'e', 
  'x', 't', '\022', '\031', '\n', '\010', 'l', 'a', 'n', 'g', '_', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\007', 'l', 'a', 'n', 
  'g', 'O', 'i', 'd', '\022', '&', '\n', '\017', 'l', 'a', 'n', 'g', '_', 'i', 's', '_', 't', 'r', 'u', 's', 't', 'e', 'd', '\030', '\003', 
  ' ', '\001', '(', '\010', 'R', '\r', 'l', 'a', 'n', 'g', 'I', 's', 'T', 'r', 'u', 's', 't', 'e', 'd', '\022', '\026', '\n', '\006', 'a', 't', 
  'o', 'm', 'i', 'c', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\006', 'a', 't', 'o', 'm', 'i', 'c', '\"', '%', '\n', '\013', 'C', 'a', 'l', 
  'l', 'C', 'o', 'n', 't', 'e', 'x', 't', '\022', '\026', '\n', '\006', 'a', 't', 'o', 'm', 'i', 'c', '\030', '\001', ' ', '\001', '(', '\010', 'R', 
  '\006', 'a', 't', 'o', 'm', 'i', 'c', '\"', 't', '\n', '\t', 'S', 'c', 'a', 'n', 'T', 'o', 'k', 'e', 'n', '\022', '\r', '\n', '\005', 's', 
  't', 'a', 'r', 't', '\030', '\001', ' ', '\001', '(', '\005', '\022', '\013', '\n', '\003', 'e', 'n', 'd', '\030', '\002', ' ', '\001', '(', '\005', '\022', '\036', 
  '\n', '\005', 't', 'o', 'k', 'e', 'n', '\030', '\004', ' ', '\001', '(', '\016', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'T', 'o', 'k', 'e', 'n', '\022', '+', '\n', '\014', 'k', 'e', 'y', 'w', 'o', 'r', 'd', '_', 'k', 'i', 'n', 'd', '\030', '\005', ' ', '\001', 
  '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'K', 'e', 'y', 'w', 'o', 'r', 'd', 'K', 'i', 'n', 'd', 
  '*', '\177', '\n', '\016', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'i', 'n', 'g', 'K', 'i', 'n', 'd', '\022', '\035', '\n', '\031', 'O', 'V', 'E', 
  'R', 'R', 'I', 'D', 'I', 'N', 'G', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', 
  '\026', '\n', '\022', 'O', 'V', 'E', 'R', 'R', 'I', 'D', 'I', 'N', 'G', '_', 'N', 'O', 'T', '_', 'S', 'E', 'T', '\020', '\001', '\022', '\031', 
  '\n', '\025', 'O', 'V', 'E', 'R', 'R', 'I', 'D', 'I', 'N', 'G', '_', 'U', 'S', 'E', 'R', '_', 'V', 'A', 'L', 'U', 'E', '\020', '\002', 
  '\022', '\033', '\n', '\027', 'O', 'V', 'E', 'R', 'R', 'I', 'D', 'I', 'N', 'G', '_', 'S', 'Y', 'S', 'T', 'E', 'M', '_', 'V', 'A', 'L', 
  'U', 'E', '\020', '\003', '*', '\233', '\001', '\n', '\013', 'Q', 'u', 'e', 'r', 'y', 'S', 'o', 'u', 'r', 'c', 'e', '\022', '\032', '\n', '\026', 'Q', 
  'U', 'E', 'R', 'Y', '_', 'S', 'O', 'U', 'R', 'C', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', 
  '\n', '\r', 'Q', 'S', 'R', 'C', '_', 'O', 'R', 'I', 'G', 'I', 'N', 'A', 'L', '\020', '\001', '\022', '\017', '\n', '\013', 'Q', 'S', 'R', 'C', 
  '_', 'P', 'A', 'R', 'S', 'E', 'R', '\020', '\002', '\022', '\025', '\n', '\021', 'Q', 'S', 'R', 'C', '_', 'I', 'N', 'S', 'T', 'E', 'A', 'D', 
  '_', 'R', 'U', 'L', 'E', '\020', '\003', '\022', '\032', '\n', '\026', 'Q', 'S', 'R', 'C', '_', 'Q', 'U', 'A', 'L', '_', 'I', 'N', 'S', 'T', 
  'E', 'A', 'D', '_', 'R', 'U', 'L', 'E', '\020', '\004', '\022', '\031', '\n', '\025', 'Q', 'S', 'R', 'C', '_', 'N', 'O', 'N', '_', 'I', 'N', 
  'S', 'T', 'E', 'A', 'D', '_', 'R', 'U', 'L', 'E', '\020', '\005', '*', 'm', '\n', '\t', 'S', 'o', 'r', 't', 'B', 'y', 'D', 'i', 'r', 
  '\022', '\031', '\n', '\025', 'S', 'O', 'R', 'T', '_', 'B', 'Y', '_', 'D', 'I', 'R', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', 
  '\020', '\000', '\022', '\022', '\n', '\016', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\001', '\022', '\016', '\n', 
  '\n', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'A', 'S', 'C', '\020', '\002', '\022', '\017', '\n', '\013', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'D', 
  'E', 'S', 'C', '\020', '\003', '\022', '\020', '\n', '\014', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'U', 'S', 'I', 'N', 'G', '\020', '\004', '*', 's', 
  '\n', '\013', 'S', 'o', 'r', 't', 'B', 'y', 'N', 'u', 'l', 'l', 's', '\022', '\033', '\n', '\027', 'S', 'O', 'R', 'T', '_', 'B', 'Y', '_', 
  'N', 'U', 'L', 'L', 'S', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', '\n', '\024', 'S', 'O', 'R', 'T', 
  'B', 'Y', '_', 'N', 'U', 'L', 'L', 'S', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\001', '\022', '\026', '\n', '\022', 'S', 'O', 'R', 
  'T', 'B', 'Y', '_', 'N', 'U', 'L', 'L', 'S', '_', 'F', 'I', 'R', 'S', 'T', '\020', '\002', '\022', '\025', '\n', '\021', 'S', 'O', 'R', 'T', 
  'B', 'Y', '_', 'N', 'U', 'L', 'L', 'S', '_', 'L', 'A', 'S', 'T', '\020', '\003', '*', '\325', '\002', '\n', '\013', 'A', '_', 'E', 'x', 'p', 
  'r', '_', 'K', 'i', 'n', 'd', '\022', '\031', '\n', '\025', 'A', '_', 'E', 'X', 'P', 'R', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 
  'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\014', '\n', '\010', 'A', 'E', 'X', 'P', 'R', '_', 'O', 'P', '\020', '\001', '\022', '\020', '\n', 
  '\014', 'A', 'E', 'X', 'P', 'R', '_', 'O', 'P', '_', 'A', 'N', 'Y', '\020', '\002', '\022', '\020', '\n', '\014', 'A', 'E', 'X', 'P', 'R', '_', 
  'O', 'P', '_', 'A', 'L', 'L', '\020', '\003', '\022', '\022', '\n', '\016', 'A', 'E', 'X', 'P', 'R', '_', 'D', 'I', 'S', 'T', 'I', 'N', 'C', 
  'T', '\020', '\004', '\022', '\026', '\n', '\022', 'A', 'E', 'X', 'P', 'R', '_', 'N', 'O', 'T', '_', 'D', 'I', 'S', 'T', 'I', 'N', 'C', 'T', 
  '\020', '\005', '\022', '\020', '\n', '\014', 'A', 'E', 'X', 'P', 'R', '_', 'N', 'U', 'L', 'L', 'I', 'F', '\020', '\006', '\022', '\014', '\n', '\010', 'A', 
  'E', 'X', 'P', 'R', '_', 'O', 'F', '\020', '\007', '\022', '\014', '\n', '\010', 'A', 'E', 'X', 'P', 'R', '_', 'I', 'N', '\020', '\010', '\022', '\016', 
  '\n', '\n', 'A', 'E', 'X', 'P', 'R', '_', 'L', 'I', 'K', 'E', '\020', '\t', '\022', '\017', '\n', '\013', 'A', 'E', 'X', 'P', 'R', '_', 'I', 
  'L', 'I', 'K', 'E', '\020', '\n', '\022', '\021', '\n', '\r', 'A', 'E', 'X', 'P', 'R', '_', 'S', 'I', 'M', 'I', 'L', 'A', 'R', '\020', '\013', 
  '\022', '\021', '\n', '\r', 'A', 'E', 'X', 'P', 'R', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\014', '\022', '\025', '\n', '\021', 'A', 'E', 
  'X', 'P', 'R', '_', 'N', 'O', 'T', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\r', '\022', '\025', '\n', '\021', 'A', 'E', 'X', 'P', 
  'R', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '_', 'S', 'Y', 'M', '\020', '\016', '\022', '\031', '\n', '\025', 'A', 'E', 'X', 'P', 'R', '_', 
  'N', 'O', 'T', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '_', 'S', 'Y', 'M', '\020', '\017', '\022', '\017', '\n', '\013', 'A', 'E', 'X', 'P', 
  'R', '_', 'P', 'A', 'R', 'E', 'N', '\020', '\020', '*', '\215', '\001', '\n', '\014', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'T', 'y', 'p', 
  'e', '\022', '\034', '\n', '\030', 'R', 'O', 'L', 'E', '_', 'S', 'P', 'E', 'C', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 
  'I', 'N', 'E', 'D', '\020', '\000', '\022', '\024', '\n', '\020', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 'C', 'S', 'T', 'R', 'I', 'N', 
  'G', '\020', '\001', '\022', '\031', '\n', '\025', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 
  'S', 'E', 'R', '\020', '\002', '\022', '\031', '\n', '\025', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 'S', 'E', 'S', 'S', 'I', 'O', 'N', 
  '_', 'U', 'S', 'E', 'R', '\020', '\003', '\022', '\023', '\n', '\017', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 'P', 'U', 'B', 'L', 'I', 
  'C', '\020', '\004', '*', '\321', '\002', '\n', '\017', 'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 'e', 'O', 'p', 't', 'i', 'o', 'n', '\022', '\037', 
  '\n', '\033', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 
  'I', 'N', 'E', 'D', '\020', '\000', '\022', '\036', '\n', '\032', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 
  'K', 'E', '_', 'C', 'O', 'M', 'M', 'E', 'N', 'T', 'S', '\020', '\001', '\022', '!', '\n', '\035', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 
  'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', 'S', '\020', '\002', '\022', '\036', 
  '\n', '\032', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'D', 'E', 'F', 'A', 'U', 
  'L', 'T', 'S', '\020', '\003', '\022', '\037', '\n', '\033', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 
  'E', '_', 'G', 'E', 'N', 'E', 'R', 'A', 'T', 'E', 'D', '\020', '\004', '\022', '\036', '\n', '\032', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 
  'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'I', 'D', 'E', 'N', 'T', 'I', 'T', 'Y', '\020', '\005', '\022', '\035', '\n', '\031', 'C', 
  'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'I', 'N', 'D', 'E', 'X', 'E', 'S', '\020', 
  '\006', '\022', ' ', '\n', '\034', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'S', 'T', 
  'A', 'T', 'I', 'S', 'T', 'I', 'C', 'S', '\020', '\007', '\022', '\035', '\n', '\031', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 
  'E', '_', 'L', 'I', 'K', 'E', '_', 'S', 'T', 'O', 'R', 'A', 'G', 'E', '\020', '\010', '\022', '\031', '\n', '\025', 'C', 'R', 'E', 'A', 'T', 
  'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'A', 'L', 'L', '\020', '\t', '*', 'v', '\n', '\r', 'D', 'e', 'f', 
  'E', 'l', 'e', 'm', 'A', 'c', 't', 'i', 'o', 'n', '\022', '\035', '\n', '\031', 'D', 'E', 'F', '_', 'E', 'L', 'E', 'M', '_', 'A', 'C', 
  'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'D', 'E', 'F', 'E', 'L', 
  'E', 'M', '_', 'U', 'N', 'S', 'P', 'E', 'C', '\020', '\001', '\022', '\017', '\n', '\013', 'D', 'E', 'F', 'E', 'L', 'E', 'M', '_', 'S', 'E', 
  'T', '\020', '\002', '\022', '\017', '\n', '\013', 'D', 'E', 'F', 'E', 'L', 'E', 'M', '_', 'A', 'D', 'D', '\020', '\003', '\022', '\020', '\n', '\014', 'D', 
  'E', 'F', 'E', 'L', 'E', 'M', '_', 'D', 'R', 'O', 'P', '\020', '\004', '*', '\254', '\001', '\n', '\027', 'P', 'a', 'r', 't', 'i', 't', 'i', 
  'o', 'n', 'R', 'a', 'n', 'g', 'e', 'D', 'a', 't', 'u', 'm', 'K', 'i', 'n', 'd', '\022', '(', '\n', '$', 'P', 'A', 'R', 'T', 'I', 
  'T', 'I', 'O', 'N', '_', 'R', 'A', 'N', 'G', 'E', '_', 'D', 'A', 'T', 'U', 'M', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 
  'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\"', '\n', '\036', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'R', 'A', 'N', 
  'G', 'E', '_', 'D', 'A', 'T', 'U', 'M', '_', 'M', 'I', 'N', 'V', 'A', 'L', 'U', 'E', '\020', '\001', '\022', '\037', '\n', '\033', 'P', 'A', 
  'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'R', 'A', 'N', 'G', 'E', '_', 'D', 'A', 'T', 'U', 'M', '_', 'V', 'A', 'L', 'U', 'E', 
  '\020', '\002', '\022', '\"', '\n', '\036', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'R', 'A', 'N', 'G', 'E', '_', 'D', 'A', 'T', 
  'U', 'M', '_', 'M', 'A', 'X', 'V', 'A', 'L', 'U', 'E', '\020', '\003', '*', '\275', '\001', '\n', '\007', 'R', 'T', 'E', 'K', 'i', 'n', 'd', 
  '\022', '\025', '\n', '\021', 'R', 'T', 'E', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', 
  '\n', '\014', 'R', 'T', 'E', '_', 'R', 'E', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\001', '\022', '\020', '\n', '\014', 'R', 'T', 'E', '_', 'S', 
  'U', 'B', 'Q', 'U', 'E', 'R', 'Y', '\020', '\002', '\022', '\014', '\n', '\010', 'R', 'T', 'E', '_', 'J', 'O', 'I', 'N', '\020', '\003', '\022', '\020', 
  '\n', '\014', 'R', 'T', 'E', '_', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', '\020', '\004', '\022', '\021', '\n', '\r', 'R', 'T', 'E', '_', 'T', 
  'A', 'B', 'L', 'E', 'F', 'U', 'N', 'C', '\020', '\005', '\022', '\016', '\n', '\n', 'R', 'T', 'E', '_', 'V', 'A', 'L', 'U', 'E', 'S', '\020', 
  '\006', '\022', '\013', '\n', '\007', 'R', 'T', 'E', '_', 'C', 'T', 'E', '\020', '\007', '\022', '\027', '\n', '\023', 'R', 'T', 'E', '_', 'N', 'A', 'M', 
  'E', 'D', 'T', 'U', 'P', 'L', 'E', 'S', 'T', 'O', 'R', 'E', '\020', '\010', '\022', '\016', '\n', '\n', 'R', 'T', 'E', '_', 'R', 'E', 'S', 
  'U', 'L', 'T', '\020', '\t', '*', '\204', '\001', '\n', '\007', 'W', 'C', 'O', 'K', 'i', 'n', 'd', '\022', '\025', '\n', '\021', 'W', 'C', 'O', 'K', 
  'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'W', 'C', 'O', '_', 'V', 'I', 
  'E', 'W', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\001', '\022', '\030', '\n', '\024', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'I', 'N', 'S', 
  'E', 'R', 'T', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\002', '\022', '\030', '\n', '\024', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'U', 'P', 
  'D', 'A', 'T', 'E', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\003', '\022', '\032', '\n', '\026', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'C', 
  'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\004', '*', '\252', '\001', '\n', '\017', 'G', 'r', 'o', 'u', 'p', 
  'i', 'n', 'g', 'S', 'e', 't', 'K', 'i', 'n', 'd', '\022', '\037', '\n', '\033', 'G', 'R', 'O', 'U', 'P', 'I', 'N', 'G', '_', 'S', 'E', 
  'T', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'G', 'R', 'O', 
  'U', 'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'E', 'M', 'P', 'T', 'Y', '\020', '\001', '\022', '\027', '\n', '\023', 'G', 'R', 'O', 'U', 
  'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'S', 'I', 'M', 'P', 'L', 'E', '\020', '\002', '\022', '\027', '\n', '\023', 'G', 'R', 'O', 'U', 
  'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'R', 'O', 'L', 'L', 'U', 'P', '\020', '\003', '\022', '\025', '\n', '\021', 'G', 'R', 'O', 'U', 
  'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'C', 'U', 'B', 'E', '\020', '\004', '\022', '\025', '\n', '\021', 'G', 'R', 'O', 'U', 'P', 'I', 
  'N', 'G', '_', 'S', 'E', 'T', '_', 'S', 'E', 'T', 'S', '\020', '\005', '*', '|', '\n', '\016', 'C', 'T', 'E', 'M', 'a', 't', 'e', 'r', 
  'i', 'a', 'l', 'i', 'z', 'e', '\022', '\034', '\n', '\030', 'C', 'T', 'E', 'M', 'A', 'T', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', '_', 
  'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\031', '\n', '\025', 'C', 'T', 'E', 'M', 'a', 't', 'e', 'r', 'i', 'a', 
  'l', 'i', 'z', 'e', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\020', '\001', '\022', '\030', '\n', '\024', 'C', 'T', 'E', 'M', 'a', 't', 'e', 'r', 
  'i', 'a', 'l', 'i', 'z', 'e', 'A', 'l', 'w', 'a', 'y', 's', '\020', '\002', '\022', '\027', '\n', '\023', 'C', 'T', 'E', 'M', 'a', 't', 'e', 
  'r', 'i', 'a', 'l', 'i', 'z', 'e', 'N', 'e', 'v', 'e', 'r', '\020', '\003', '*', 's', '\n', '\014', 'S', 'e', 't', 'O', 'p', 'e', 'r', 
  'a', 't', 'i', 'o', 'n', '\022', '\033', '\n', '\027', 'S', 'E', 'T', '_', 'O', 'P', 'E', 'R', 'A', 'T', 'I', 'O', 'N', '_', 'U', 'N', 
  'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\016', '\n', '\n', 'S', 'E', 'T', 'O', 'P', '_', 'N', 'O', 'N', 'E', '\020', '\001', 
  '\022', '\017', '\n', '\013', 'S', 'E', 'T', 'O', 'P', '_', 'U', 'N', 'I', 'O', 'N', '\020', '\002', '\022', '\023', '\n', '\017', 'S', 'E', 'T', 'O', 
  'P', '_', 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '\020', '\003', '\022', '\020', '\n', '\014', 'S', 'E', 'T', 'O', 'P', '_', 'E', 'X', 
  'C', 'E', 'P', 'T', '\020', '\004', '*', '\335', '\010', '\n', '\n', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '\031', '\n', '\025', 
  'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', 
  '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'C', 'C', 'E', 'S', 'S', '_', 'M', 'E', 'T', 'H', 'O', 'D', '\020', '\001', '\022', 
  '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'G', 'G', 'R', 'E', 'G', 'A', 'T', 'E', '\020', '\002', '\022', '\017', '\n', '\013', 
  'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'M', 'O', 'P', '\020', '\003', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 
  'M', 'P', 'R', 'O', 'C', '\020', '\004', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'T', 'T', 'R', 'I', 'B', 'U', 
  'T', 'E', '\020', '\005', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'C', 'A', 'S', 'T', '\020', '\006', '\022', '\021', '\n', '\r', 
  'O', 'B', 'J', 'E', 'C', 'T', '_', 'C', 'O', 'L', 'U', 'M', 'N', '\020', '\007', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', 
  '_', 'C', 'O', 'L', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\010', '\022', '\025', '\n', '\021', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'C', 'O', 
  'N', 'V', 'E', 'R', 'S', 'I', 'O', 'N', '\020', '\t', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'D', 'A', 'T', 'A', 
  'B', 'A', 'S', 'E', '\020', '\n', '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', 
  '\013', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'D', 'E', 'F', 'A', 'C', 'L', '\020', '\014', '\022', '\021', '\n', '\r', 'O', 
  'B', 'J', 'E', 'C', 'T', '_', 'D', 'O', 'M', 'A', 'I', 'N', '\020', '\r', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 
  'D', 'O', 'M', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', '\020', '\016', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', 
  '_', 'E', 'V', 'E', 'N', 'T', '_', 'T', 'R', 'I', 'G', 'G', 'E', 'R', '\020', '\017', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 
  'T', '_', 'E', 'X', 'T', 'E', 'N', 'S', 'I', 'O', 'N', '\020', '\020', '\022', '\016', '\n', '\n', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'F', 
  'D', 'W', '\020', '\021', '\022', '\031', '\n', '\025', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'F', 'O', 'R', 'E', 'I', 'G', 'N', '_', 'S', 'E', 
  'R', 'V', 'E', 'R', '\020', '\022', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'F', 'O', 'R', 'E', 'I', 'G', 'N', '_', 
  'T', 'A', 'B', 'L', 'E', '\020', '\023', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 
  'N', '\020', '\024', '\022', '\020', '\n', '\014', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'I', 'N', 'D', 'E', 'X', '\020', '\025', '\022', '\023', '\n', '\017', 
  'O', 'B', 'J', 'E', 'C', 'T', '_', 'L', 'A', 'N', 'G', 'U', 'A', 'G', 'E', '\020', '\026', '\022', '\026', '\n', '\022', 'O', 'B', 'J', 'E', 
  'C', 'T', '_', 'L', 'A', 'R', 'G', 'E', 'O', 'B', 'J', 'E', 'C', 'T', '\020', '\027', '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 
  'T', '_', 'M', 'A', 'T', 'V', 'I', 'E', 'W', '\020', '\030', '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'O', 'P', 'C', 
  'L', 'A', 'S', 'S', '\020', '\031', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'O', 'P', 'E', 'R', 'A', 'T', 'O', 'R', 
  '\020', '\032', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'O', 'P', 'F', 'A', 'M', 'I', 'L', 'Y', '\020', '\033', '\022', '\021', 
  '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'O', 'L', 'I', 'C', 'Y', '\020', '\034', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 
  'C', 'T', '_', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'E', '\020', '\035', '\022', '\026', '\n', '\022', 'O', 'B', 'J', 'E', 'C', 'T', '_', 
  'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\036', '\022', '\032', '\n', '\026', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 
  'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '_', 'R', 'E', 'L', '\020', '\037', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 
  'T', '_', 'R', 'O', 'L', 'E', '\020', ' ', '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'R', 'O', 'U', 'T', 'I', 'N', 
  'E', '\020', '!', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'R', 'U', 'L', 'E', '\020', '\"', '\022', '\021', '\n', '\r', 'O', 
  'B', 'J', 'E', 'C', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '#', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 
  'S', 'E', 'Q', 'U', 'E', 'N', 'C', 'E', '\020', '$', '\022', '\027', '\n', '\023', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 'U', 'B', 'S', 
  'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '\020', '%', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 'T', 'A', 'T', 
  'I', 'S', 'T', 'I', 'C', '_', 'E', 'X', 'T', '\020', '&', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 'B', 
  'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', '\020', '\'', '\022', '\020', '\n', '\014', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 
  'B', 'L', 'E', '\020', '(', '\022', '\025', '\n', '\021', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 'B', 'L', 'E', 'S', 'P', 'A', 'C', 
  'E', '\020', ')', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'R', 'A', 'N', 'S', 'F', 'O', 'R', 'M', '\020', '*', 
  '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'R', 'I', 'G', 'G', 'E', 'R', '\020', '+', '\022', '\032', '\n', '\026', 'O', 
  'B', 'J', 'E', 'C', 'T', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', 'U', 'R', 'A', 'T', 'I', 'O', 'N', '\020', ',', '\022', '\027', 
  '\n', '\023', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'S', 'D', 'I', 'C', 'T', 'I', 'O', 'N', 'A', 'R', 'Y', '\020', '-', '\022', '\023', 
  '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'S', 'P', 'A', 'R', 'S', 'E', 'R', '\020', '.', '\022', '\025', '\n', '\021', 'O', 'B', 
  'J', 'E', 'C', 'T', '_', 'T', 'S', 'T', 'E', 'M', 'P', 'L', 'A', 'T', 'E', '\020', '/', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 
  'C', 'T', '_', 'T', 'Y', 'P', 'E', '\020', '0', '\022', '\027', '\n', '\023', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'U', 'S', 'E', 'R', '_', 
  'M', 'A', 'P', 'P', 'I', 'N', 'G', '\020', '1', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'V', 'I', 'E', 'W', '\020', 
  '2', '*', 'P', '\n', '\014', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '\033', '\n', '\027', 'D', 'R', 'O', 'P', 
  '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 
  'D', 'R', 'O', 'P', '_', 'R', 'E', 'S', 'T', 'R', 'I', 'C', 'T', '\020', '\001', '\022', '\020', '\n', '\014', 'D', 'R', 'O', 'P', '_', 'C', 
  'A', 'S', 'C', 'A', 'D', 'E', '\020', '\002', '*', '\237', '\014', '\n', '\016', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'T', 'y', 
  'p', 'e', '\022', '\036', '\n', '\032', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'A', 'B', 'L', 'E', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 
  'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', '\014', 'A', 'T', '_', 'A', 'd', 'd', 'C', 'o', 'l', 'u', 'm', 'n', 
  '\020', '\001', '\022', '\027', '\n', '\023', 'A', 'T', '_', 'A', 'd', 'd', 'C', 'o', 'l', 'u', 'm', 'n', 'R', 'e', 'c', 'u', 'r', 's', 'e', 
  '\020', '\002', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'A', 'd', 'd', 'C', 'o', 'l', 'u', 'm', 'n', 'T', 'o', 'V', 'i', 'e', 'w', '\020', 
  '\003', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\020', '\004', '\022', '\032', 
  '\n', '\026', 'A', 'T', '_', 'C', 'o', 'o', 'k', 'e', 'd', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\020', 
  '\005', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'N', 'o', 't', 'N', 'u', 'l', 'l', '\020', '\006', '\022', '\021', '\n', '\r', 
  'A', 'T', '_', 'S', 'e', 't', 'N', 'o', 't', 'N', 'u', 'l', 'l', '\020', '\007', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'D', 'r', 'o', 
  'p', 'E', 'x', 'p', 'r', 'e', 's', 's', 'i', 'o', 'n', '\020', '\010', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'C', 'h', 'e', 'c', 'k', 
  'N', 'o', 't', 'N', 'u', 'l', 'l', '\020', '\t', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'S', 'e', 't', 'S', 't', 'a', 't', 'i', 's', 
  't', 'i', 'c', 's', '\020', '\n', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'S', 'e', 't', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '\013', 
  '\022', '\023', '\n', '\017', 'A', 'T', '_', 'R', 'e', 's', 'e', 't', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '\014', '\022', '\021', '\n', '\r', 
  'A', 'T', '_', 'S', 'e', 't', 'S', 't', 'o', 'r', 'a', 'g', 'e', '\020', '\r', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'D', 'r', 'o', 
  'p', 'C', 'o', 'l', 'u', 'm', 'n', '\020', '\016', '\022', '\030', '\n', '\024', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 'o', 'l', 'u', 'm', 
  'n', 'R', 'e', 'c', 'u', 'r', 's', 'e', '\020', '\017', '\022', '\017', '\n', '\013', 'A', 'T', '_', 'A', 'd', 'd', 'I', 'n', 'd', 'e', 'x', 
  '\020', '\020', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'I', 'n', 'd', 'e', 'x', '\020', '\021', '\022', '\024', '\n', '\020', 
  'A', 'T', '_', 'A', 'd', 'd', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\022', '\022', '\033', '\n', '\027', 'A', 'T', '_', 
  'A', 'd', 'd', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 'R', 'e', 'c', 'u', 'r', 's', 'e', '\020', '\023', '\022', '\026', '\n', 
  '\022', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\024', '\022', '\034', '\n', '\030', 
  'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'D', 'o', 'm', 'a', 'i', 'n', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', 
  '\025', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\026', 
  '\022', '\031', '\n', '\025', 'A', 'T', '_', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'e', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 
  '\020', '\027', '\022', ' ', '\n', '\034', 'A', 'T', '_', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'e', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 
  'n', 't', 'R', 'e', 'c', 'u', 'r', 's', 'e', '\020', '\030', '\022', '\031', '\n', '\025', 'A', 'T', '_', 'A', 'd', 'd', 'I', 'n', 'd', 'e', 
  'x', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\031', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 
  'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\032', '\022', '\034', '\n', '\030', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 'o', 'n', 
  's', 't', 'r', 'a', 'i', 'n', 't', 'R', 'e', 'c', 'u', 'r', 's', 'e', '\020', '\033', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'R', 'e', 
  'A', 'd', 'd', 'C', 'o', 'm', 'm', 'e', 'n', 't', '\020', '\034', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 
  'o', 'l', 'u', 'm', 'n', 'T', 'y', 'p', 'e', '\020', '\035', '\022', ' ', '\n', '\034', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 'o', 
  'l', 'u', 'm', 'n', 'G', 'e', 'n', 'e', 'r', 'i', 'c', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '\036', '\022', '\022', '\n', '\016', 'A', 
  'T', '_', 'C', 'h', 'a', 'n', 'g', 'e', 'O', 'w', 'n', 'e', 'r', '\020', '\037', '\022', '\020', '\n', '\014', 'A', 'T', '_', 'C', 'l', 'u', 
  's', 't', 'e', 'r', 'O', 'n', '\020', ' ', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 'l', 'u', 's', 't', 'e', 
  'r', '\020', '!', '\022', '\020', '\n', '\014', 'A', 'T', '_', 'S', 'e', 't', 'L', 'o', 'g', 'g', 'e', 'd', '\020', '\"', '\022', '\022', '\n', '\016', 
  'A', 'T', '_', 'S', 'e', 't', 'U', 'n', 'L', 'o', 'g', 'g', 'e', 'd', '\020', '#', '\022', '\017', '\n', '\013', 'A', 'T', '_', 'D', 'r', 
  'o', 'p', 'O', 'i', 'd', 's', '\020', '$', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'S', 'e', 't', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 
  'a', 'c', 'e', '\020', '%', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'S', 'e', 't', 'R', 'e', 'l', 'O', 'p', 't', 'i', 'o', 'n', 's', 
  '\020', '&', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'R', 'e', 's', 'e', 't', 'R', 'e', 'l', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', 
  '\'', '\022', '\030', '\n', '\024', 'A', 'T', '_', 'R', 'e', 'p', 'l', 'a', 'c', 'e', 'R', 'e', 'l', 'O', 'p', 't', 'i', 'o', 'n', 's', 
  '\020', '(', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', '\020', ')', '\022', '\027', '\n', '\023', 
  'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'A', 'l', 'w', 'a', 'y', 's', 'T', 'r', 'i', 'g', '\020', '*', '\022', '\030', '\n', '\024', 
  'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'T', 'r', 'i', 'g', '\020', '+', '\022', '\022', '\n', 
  '\016', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', '\020', ',', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'E', 
  'n', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', 'A', 'l', 'l', '\020', '-', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'D', 'i', 's', 'a', 
  'b', 'l', 'e', 'T', 'r', 'i', 'g', 'A', 'l', 'l', '\020', '.', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 
  'T', 'r', 'i', 'g', 'U', 's', 'e', 'r', '\020', '/', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'T', 
  'r', 'i', 'g', 'U', 's', 'e', 'r', '\020', '0', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'u', 'l', 
  'e', '\020', '1', '\022', '\027', '\n', '\023', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'A', 'l', 'w', 'a', 'y', 's', 'R', 'u', 'l', 
  'e', '\020', '2', '\022', '\030', '\n', '\024', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'R', 'u', 
  'l', 'e', '\020', '3', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'R', 'u', 'l', 'e', '\020', '4', '\022', 
  '\021', '\n', '\r', 'A', 'T', '_', 'A', 'd', 'd', 'I', 'n', 'h', 'e', 'r', 'i', 't', '\020', '5', '\022', '\022', '\n', '\016', 'A', 'T', '_', 
  'D', 'r', 'o', 'p', 'I', 'n', 'h', 'e', 'r', 'i', 't', '\020', '6', '\022', '\014', '\n', '\010', 'A', 'T', '_', 'A', 'd', 'd', 'O', 'f', 
  '\020', '7', '\022', '\r', '\n', '\t', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'O', 'f', '\020', '8', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'R', 
  'e', 'p', 'l', 'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', '\020', '9', '\022', '\030', '\n', '\024', 'A', 'T', '_', 'E', 'n', 
  'a', 'b', 'l', 'e', 'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', ':', '\022', '\031', '\n', '\025', 'A', 'T', '_', 'D', 
  'i', 's', 'a', 'b', 'l', 'e', 'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', ';', '\022', '\027', '\n', '\023', 'A', 'T', 
  '_', 'F', 'o', 'r', 'c', 'e', 'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', '<', '\022', '\031', '\n', '\025', 'A', 'T', 
  '_', 'N', 'o', 'F', 'o', 'r', 'c', 'e', 'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', '=', '\022', '\025', '\n', '\021', 
  'A', 'T', '_', 'G', 'e', 'n', 'e', 'r', 'i', 'c', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '>', '\022', '\026', '\n', '\022', 'A', 'T', 
  '_', 'A', 't', 't', 'a', 'c', 'h', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '\020', '?', '\022', '\026', '\n', '\022', 'A', 'T', '_', 
  'D', 'e', 't', 'a', 'c', 'h', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '\020', '@', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'A', 
  'd', 'd', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', '\020', 'A', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'S', 'e', 't', 'I', 'd', 'e', 
  'n', 't', 'i', 't', 'y', '\020', 'B', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'I', 'd', 'e', 'n', 't', 'i', 't', 
  'y', '\020', 'C', '*', '\200', '\001', '\n', '\017', 'G', 'r', 'a', 'n', 't', 'T', 'a', 'r', 'g', 'e', 't', 'T', 'y', 'p', 'e', '\022', '\037', 
  '\n', '\033', 'G', 'R', 'A', 'N', 'T', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 
  'I', 'N', 'E', 'D', '\020', '\000', '\022', '\025', '\n', '\021', 'A', 'C', 'L', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'O', 'B', 'J', 'E', 
  'C', 'T', '\020', '\001', '\022', '\034', '\n', '\030', 'A', 'C', 'L', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'A', 'L', 'L', '_', 'I', 'N', 
  '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\002', '\022', '\027', '\n', '\023', 'A', 'C', 'L', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'D', 
  'E', 'F', 'A', 'U', 'L', 'T', 'S', '\020', '\003', '*', '\244', '\001', '\n', '\017', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 
  'K', 'i', 'n', 'd', '\022', '\037', '\n', '\033', 'V', 'A', 'R', 'I', 'A', 'B', 'L', 'E', '_', 'S', 'E', 'T', '_', 'K', 'I', 'N', 'D', 
  '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'V', 
  'A', 'L', 'U', 'E', '\020', '\001', '\022', '\023', '\n', '\017', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 
  '\020', '\002', '\022', '\023', '\n', '\017', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '\020', '\003', '\022', '\021', 
  '\n', '\r', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'M', 'U', 'L', 'T', 'I', '\020', '\004', '\022', '\r', '\n', '\t', 'V', 'A', 'R', '_', 
  'R', 'E', 'S', 'E', 'T', '\020', '\005', '\022', '\021', '\n', '\r', 'V', 'A', 'R', '_', 'R', 'E', 'S', 'E', 'T', '_', 'A', 'L', 'L', '\020', 
  '\006', '*', '\337', '\002', '\n', '\n', 'C', 'o', 'n', 's', 't', 'r', 'T', 'y', 'p', 'e', '\022', '\031', '\n', '\025', 'C', 'O', 'N', 'S', 'T', 
  'R', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\017', '\n', '\013', 'C', 'O', 'N', 
  'S', 'T', 'R', '_', 'N', 'U', 'L', 'L', '\020', '\001', '\022', '\022', '\n', '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'N', 'O', 'T', 'N', 
  'U', 'L', 'L', '\020', '\002', '\022', '\022', '\n', '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\003', 
  '\022', '\023', '\n', '\017', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'I', 'D', 'E', 'N', 'T', 'I', 'T', 'Y', '\020', '\004', '\022', '\024', '\n', '\020', 
  'C', 'O', 'N', 'S', 'T', 'R', '_', 'G', 'E', 'N', 'E', 'R', 'A', 'T', 'E', 'D', '\020', '\005', '\022', '\020', '\n', '\014', 'C', 'O', 'N', 
  'S', 'T', 'R', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\006', '\022', '\022', '\n', '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'P', 'R', 'I', 
  'M', 'A', 'R', 'Y', '\020', '\007', '\022', '\021', '\n', '\r', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'U', 'N', 'I', 'Q', 'U', 'E', '\020', '\010', 
  '\022', '\024', '\n', '\020', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'E', 'X', 'C', 'L', 'U', 'S', 'I', 'O', 'N', '\020', '\t', '\022', '\022', '\n', 
  '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'F', 'O', 'R', 'E', 'I', 'G', 'N', '\020', '\n', '\022', '\032', '\n', '\026', 'C', 'O', 'N', 'S', 
  'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'D', 'E', 'F', 'E', 'R', 'R', 'A', 'B', 'L', 'E', '\020', '\013', '\022', '\036', '\n', '\032', 'C', 
  'O', 'N', 'S', 'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'N', 'O', 'T', '_', 'D', 'E', 'F', 'E', 'R', 'R', 'A', 'B', 'L', 'E', 
  '\020', '\014', '\022', '\030', '\n', '\024', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'D', 'E', 'F', 'E', 'R', 'R', 'E', 
  'D', '\020', '\r', '\022', '\031', '\n', '\025', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'I', 'M', 'M', 'E', 'D', 'I', 
  'A', 'T', 'E', '\020', '\016', '*', '\234', '\001', '\n', '\027', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 
  'h', 'e', 'm', 'a', 'T', 'y', 'p', 'e', '\022', '(', '\n', '$', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'F', 'O', 'R', 'E', 'I', 'G', 
  'N', '_', 'S', 'C', 'H', 'E', 'M', 'A', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', 
  '\022', '\031', '\n', '\025', 'F', 'D', 'W', '_', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '_', 'A', 'L', 'L', 
  '\020', '\001', '\022', '\036', '\n', '\032', 'F', 'D', 'W', '_', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '_', 'L', 
  'I', 'M', 'I', 'T', '_', 'T', 'O', '\020', '\002', '\022', '\034', '\n', '\030', 'F', 'D', 'W', '_', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'S', 
  'C', 'H', 'E', 'M', 'A', '_', 'E', 'X', 'C', 'E', 'P', 'T', '\020', '\003', '*', 'f', '\n', '\014', 'R', 'o', 'l', 'e', 'S', 't', 'm', 
  't', 'T', 'y', 'p', 'e', '\022', '\034', '\n', '\030', 'R', 'O', 'L', 'E', '_', 'S', 'T', 'M', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 
  'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'R', 'O', 'L', 'E', 'S', 'T', 'M', 'T', '_', 'R', 'O', 
  'L', 'E', '\020', '\001', '\022', '\021', '\n', '\r', 'R', 'O', 'L', 'E', 'S', 'T', 'M', 'T', '_', 'U', 'S', 'E', 'R', '\020', '\002', '\022', '\022', 
  '\n', '\016', 'R', 'O', 'L', 'E', 'S', 'T', 'M', 'T', '_', 'G', 'R', 'O', 'U', 'P', '\020', '\003', '*', '~', '\n', '\016', 'F', 'e', 't', 
  'c', 'h', 'D', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', '\035', '\n', '\031', 'F', 'E', 'T', 'C', 'H', '_', 'D', 'I', 'R', 'E', 
  'C', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'F', 'E', 'T', 'C', 
  'H', '_', 'F', 'O', 'R', 'W', 'A', 'R', 'D', '\020', '\001', '\022', '\022', '\n', '\016', 'F', 'E', 'T', 'C', 'H', '_', 'B', 'A', 'C', 'K', 
  'W', 'A', 'R', 'D', '\020', '\002', '\022', '\022', '\n', '\016', 'F', 'E', 'T', 'C', 'H', '_', 'A', 'B', 'S', 'O', 'L', 'U', 'T', 'E', '\020', 
  '\003', '\022', '\022', '\n', '\016', 'F', 'E', 'T', 'C', 'H', '_', 'R', 'E', 'L', 'A', 'T', 'I', 'V', 'E', '\020', '\004', '*', '\252', '\001', '\n', 
  '\025', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 'M', 'o', 'd', 'e', '\022', '%', '\n', 
  '!', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', '_', 'P', 'A', 'R', 'A', 'M', 'E', 'T', 'E', 'R', '_', 'M', 'O', 'D', 'E', '_', 
  'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', 
  '_', 'I', 'N', '\020', '\001', '\022', '\022', '\n', '\016', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'O', 'U', 'T', '\020', '\002', 
  '\022', '\024', '\n', '\020', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'I', 'N', 'O', 'U', 'T', '\020', '\003', '\022', '\027', '\n', 
  '\023', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'V', 'A', 'R', 'I', 'A', 'D', 'I', 'C', '\020', '\004', '\022', '\024', '\n', 
  '\020', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'T', 'A', 'B', 'L', 'E', '\020', '\005', '*', '\276', '\002', '\n', '\023', 'T', 
  'r', 'a', 'n', 's', 'a', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'K', 'i', 'n', 'd', '\022', '#', '\n', '\037', 'T', 'R', 'A', 
  'N', 'S', 'A', 'C', 'T', 'I', 'O', 'N', '_', 'S', 'T', 'M', 'T', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 
  'N', 'E', 'D', '\020', '\000', '\022', '\024', '\n', '\020', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'B', 'E', 'G', 'I', 'N', 
  '\020', '\001', '\022', '\024', '\n', '\020', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'S', 'T', 'A', 'R', 'T', '\020', '\002', '\022', 
  '\025', '\n', '\021', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'C', 'O', 'M', 'M', 'I', 'T', '\020', '\003', '\022', '\027', '\n', 
  '\023', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'O', 'L', 'L', 'B', 'A', 'C', 'K', '\020', '\004', '\022', '\030', '\n', 
  '\024', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'S', 'A', 'V', 'E', 'P', 'O', 'I', 'N', 'T', '\020', '\005', '\022', '\026', 
  '\n', '\022', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '\020', '\006', '\022', '\032', '\n', 
  '\026', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'O', 'L', 'L', 'B', 'A', 'C', 'K', '_', 'T', 'O', '\020', '\007', 
  '\022', '\026', '\n', '\022', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'P', 'R', 'E', 'P', 'A', 'R', 'E', '\020', '\010', '\022', 
  '\036', '\n', '\032', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'P', 'R', 'E', 'P', 
  'A', 'R', 'E', 'D', '\020', '\t', '\022', ' ', '\n', '\034', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'O', 'L', 'L', 
  'B', 'A', 'C', 'K', '_', 'P', 'R', 'E', 'P', 'A', 'R', 'E', 'D', '\020', '\n', '*', 'z', '\n', '\017', 'V', 'i', 'e', 'w', 'C', 'h', 
  'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', '\022', '\037', '\n', '\033', 'V', 'I', 'E', 'W', '_', 'C', 'H', 'E', 'C', 'K', '_', 'O', 
  'P', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\023', '\n', '\017', 'N', 'O', '_', 'C', 
  'H', 'E', 'C', 'K', '_', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\001', '\022', '\026', '\n', '\022', 'L', 'O', 'C', 'A', 'L', '_', 'C', 'H', 
  'E', 'C', 'K', '_', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\002', '\022', '\031', '\n', '\025', 'C', 'A', 'S', 'C', 'A', 'D', 'E', 'D', '_', 
  'C', 'H', 'E', 'C', 'K', '_', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\003', '*', 'U', '\n', '\r', 'C', 'l', 'u', 's', 't', 'e', 'r', 
  'O', 'p', 't', 'i', 'o', 'n', '\022', '\034', '\n', '\030', 'C', 'L', 'U', 'S', 'T', 'E', 'R', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 
  'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'C', 'L', 'U', 'O', 'P', 'T', '_', 'R', 'E', 'C', 
  'H', 'E', 'C', 'K', '\020', '\001', '\022', '\022', '\n', '\016', 'C', 'L', 'U', 'O', 'P', 'T', '_', 'V', 'E', 'R', 'B', 'O', 'S', 'E', '\020', 
  '\002', '*', 'v', '\n', '\013', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'M', 'o', 'd', 'e', '\022', '\032', '\n', '\026', 'D', 'I', 'S', 'C', 'A', 
  'R', 'D', '_', 'M', 'O', 'D', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\017', '\n', '\013', 'D', 'I', 
  'S', 'C', 'A', 'R', 'D', '_', 'A', 'L', 'L', '\020', '\001', '\022', '\021', '\n', '\r', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '_', 'P', 'L', 
  'A', 'N', 'S', '\020', '\002', '\022', '\025', '\n', '\021', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '_', 'S', 'E', 'Q', 'U', 'E', 'N', 'C', 'E', 
  'S', '\020', '\003', '\022', '\020', '\n', '\014', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '_', 'T', 'E', 'M', 'P', '\020', '\004', '*', '\275', '\001', '\n', 
  '\021', 'R', 'e', 'i', 'n', 'd', 'e', 'x', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '!', '\n', '\035', 'R', 'E', 'I', 
  'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 
  'D', '\020', '\000', '\022', '\030', '\n', '\024', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'I', 'N', 'D', 
  'E', 'X', '\020', '\001', '\022', '\030', '\n', '\024', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 
  'B', 'L', 'E', '\020', '\002', '\022', '\031', '\n', '\025', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 
  'C', 'H', 'E', 'M', 'A', '\020', '\003', '\022', '\031', '\n', '\025', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', 
  '_', 'S', 'Y', 'S', 'T', 'E', 'M', '\020', '\004', '\022', '\033', '\n', '\027', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 
  'C', 'T', '_', 'D', 'A', 'T', 'A', 'B', 'A', 'S', 'E', '\020', '\005', '*', '\357', '\001', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'T', 'S', 
  'C', 'o', 'n', 'f', 'i', 'g', 'T', 'y', 'p', 'e', '\022', '!', '\n', '\035', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 
  'F', 'I', 'G', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\036', '\n', '\032', 'A', 
  'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'A', 'D', 'D', '_', 'M', 'A', 'P', 'P', 'I', 'N', 'G', 
  '\020', '\001', '\022', '*', '\n', '&', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'A', 'L', 'T', 'E', 
  'R', '_', 'M', 'A', 'P', 'P', 'I', 'N', 'G', '_', 'F', 'O', 'R', '_', 'T', 'O', 'K', 'E', 'N', '\020', '\002', '\022', '\037', '\n', '\033', 
  'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'R', 'E', 'P', 'L', 'A', 'C', 'E', '_', 'D', 'I', 
  'C', 'T', '\020', '\003', '\022', ')', '\n', '%', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'R', 'E', 
  'P', 'L', 'A', 'C', 'E', '_', 'D', 'I', 'C', 'T', '_', 'F', 'O', 'R', '_', 'T', 'O', 'K', 'E', 'N', '\020', '\004', '\022', '\037', '\n', 
  '\033', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'D', 'R', 'O', 'P', '_', 'M', 'A', 'P', 'P', 
  'I', 'N', 'G', '\020', '\005', '*', '\345', '\001', '\n', '\025', 'A', 'l', 't', 'e', 'r', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 
  'o', 'n', 'T', 'y', 'p', 'e', '\022', '%', '\n', '!', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 
  'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\036', '\n', '\032', 'A', 
  'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'O', 'P', 'T', 'I', 'O', 'N', 'S', 
  '\020', '\001', '\022', '!', '\n', '\035', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 
  'C', 'O', 'N', 'N', 'E', 'C', 'T', 'I', 'O', 'N', '\020', '\002', '\022', '\"', '\n', '\036', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 
  'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\003', '\022', '\036', 
  '\n', '\032', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'R', 'E', 'F', 'R', 
  'E', 'S', 'H', '\020', '\004', '\022', '\036', '\n', '\032', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 
  'O', 'N', '_', 'E', 'N', 'A', 'B', 'L', 'E', 'D', '\020', '\005', '*', '\214', '\001', '\n', '\016', 'O', 'n', 'C', 'o', 'm', 'm', 'i', 't', 
  'A', 'c', 't', 'i', 'o', 'n', '\022', '\036', '\n', '\032', 'O', 'N', '_', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'A', 'C', 'T', 'I', 'O', 
  'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'O', 'N', 'C', 'O', 'M', 'M', 'I', 'T', 
  '_', 'N', 'O', 'O', 'P', '\020', '\001', '\022', '\032', '\n', '\026', 'O', 'N', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'P', 'R', 'E', 'S', 'E', 
  'R', 'V', 'E', '_', 'R', 'O', 'W', 'S', '\020', '\002', '\022', '\030', '\n', '\024', 'O', 'N', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'D', 'E', 
  'L', 'E', 'T', 'E', '_', 'R', 'O', 'W', 'S', '\020', '\003', '\022', '\021', '\n', '\r', 'O', 'N', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'D', 
  'R', 'O', 'P', '\020', '\004', '*', 'o', '\n', '\t', 'P', 'a', 'r', 'a', 'm', 'K', 'i', 'n', 'd', '\022', '\030', '\n', '\024', 'P', 'A', 'R', 
  'A', 'M', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', '\014', 'P', 'A', 
  'R', 'A', 'M', '_', 'E', 'X', 'T', 'E', 'R', 'N', '\020', '\001', '\022', '\016', '\n', '\n', 'P', 'A', 'R', 'A', 'M', '_', 'E', 'X', 'E', 
  'C', '\020', '\002', '\022', '\021', '\n', '\r', 'P', 'A', 'R', 'A', 'M', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\003', '\022', '\023', '\n', 
  '\017', 'P', 'A', 'R', 'A', 'M', '_', 'M', 'U', 'L', 'T', 'I', 'E', 'X', 'P', 'R', '\020', '\004', '*', 'x', '\n', '\017', 'C', 'o', 'e', 
  'r', 'c', 'i', 'o', 'n', 'C', 'o', 'n', 't', 'e', 'x', 't', '\022', '\036', '\n', '\032', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', '_', 
  'C', 'O', 'N', 'T', 'E', 'X', 'T', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\025', '\n', '\021', 'C', 'O', 
  'E', 'R', 'C', 'I', 'O', 'N', '_', 'I', 'M', 'P', 'L', 'I', 'C', 'I', 'T', '\020', '\001', '\022', '\027', '\n', '\023', 'C', 'O', 'E', 'R', 
  'C', 'I', 'O', 'N', '_', 'A', 'S', 'S', 'I', 'G', 'N', 'M', 'E', 'N', 'T', '\020', '\002', '\022', '\025', '\n', '\021', 'C', 'O', 'E', 'R', 
  'C', 'I', 'O', 'N', '_', 'E', 'X', 'P', 'L', 'I', 'C', 'I', 'T', '\020', '\003', '*', 'y', '\n', '\014', 'C', 'o', 'e', 'r', 'c', 'i', 
  'o', 'n', 'F', 'o', 'r', 'm', '\022', '\033', '\n', '\027', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', '_', 'F', 'O', 'R', 'M', '_', 'U', 
  'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', '\n', '\024', 'C', 'O', 'E', 'R', 'C', 'E', '_', 'E', 'X', 'P', 'L', 
  'I', 'C', 'I', 'T', '_', 'C', 'A', 'L', 'L', '\020', '\001', '\022', '\030', '\n', '\024', 'C', 'O', 'E', 'R', 'C', 'E', '_', 'E', 'X', 'P', 
  'L', 'I', 'C', 'I', 'T', '_', 'C', 'A', 'S', 'T', '\020', '\002', '\022', '\030', '\n', '\024', 'C', 'O', 'E', 'R', 'C', 'E', '_', 'I', 'M', 
  'P', 'L', 'I', 'C', 'I', 'T', '_', 'C', 'A', 'S', 'T', '\020', '\003', '*', 'U', '\n', '\014', 'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', 
  'T', 'y', 'p', 'e', '\022', '\034', '\n', '\030', 'B', 'O', 'O', 'L', '_', 'E', 'X', 'P', 'R', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 
  'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\014', '\n', '\010', 'A', 'N', 'D', '_', 'E', 'X', 'P', 'R', '\020', '\001', '\022', '\013', 
  '\n', '\007', 'O', 'R', '_', 'E', 'X', 'P', 'R', '\020', '\002', '\022', '\014', '\n', '\010', 'N', 'O', 'T', '_', 'E', 'X', 'P', 'R', '\020', '\003', 
  '*', '\305', '\001', '\n', '\013', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', '\022', '\033', '\n', '\027', 'S', 'U', 'B', '_', 'L', 
  'I', 'N', 'K', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'E', 
  'X', 'I', 'S', 'T', 'S', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\001', '\022', '\017', '\n', '\013', 'A', 'L', 'L', '_', 'S', 'U', 
  'B', 'L', 'I', 'N', 'K', '\020', '\002', '\022', '\017', '\n', '\013', 'A', 'N', 'Y', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\003', '\022', 
  '\026', '\n', '\022', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\004', '\022', '\020', 
  '\n', '\014', 'E', 'X', 'P', 'R', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\005', '\022', '\025', '\n', '\021', 'M', 'U', 'L', 'T', 'I', 
  'E', 'X', 'P', 'R', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\006', '\022', '\021', '\n', '\r', 'A', 'R', 'R', 'A', 'Y', '_', 'S', 
  'U', 'B', 'L', 'I', 'N', 'K', '\020', '\007', '\022', '\017', '\n', '\013', 'C', 'T', 'E', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\010', 
  '*', '\242', '\001', '\n', '\016', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'T', 'y', 'p', 'e', '\022', '\036', '\n', '\032', 'R', 'O', 
  'W', '_', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', 
  '\000', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'L', 'T', '\020', '\001', '\022', '\021', '\n', '\r', 'R', 
  'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'L', 'E', '\020', '\002', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 
  'A', 'R', 'E', '_', 'E', 'Q', '\020', '\003', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'G', 'E', 
  '\020', '\004', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'G', 'T', '\020', '\005', '\022', '\021', '\n', '\r', 
  'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'N', 'E', '\020', '\006', '*', 'C', '\n', '\010', 'M', 'i', 'n', 'M', 'a', 'x', 
  'O', 'p', '\022', '\030', '\n', '\024', 'M', 'I', 'N', '_', 'M', 'A', 'X', '_', 'O', 'P', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 
  'D', '\020', '\000', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'G', 'R', 'E', 'A', 'T', 'E', 'S', 'T', '\020', '\001', '\022', '\014', '\n', '\010', 'I', 
  'S', '_', 'L', 'E', 'A', 'S', 'T', '\020', '\002', '*', '\255', '\003', '\n', '\022', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 'u', 'n', 
  'c', 't', 'i', 'o', 'n', 'O', 'p', '\022', '\"', '\n', '\036', 'S', 'Q', 'L', 'V', 'A', 'L', 'U', 'E', '_', 'F', 'U', 'N', 'C', 'T', 
  'I', 'O', 'N', '_', 'O', 'P', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 
  'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'D', 'A', 'T', 'E', '\020', '\001', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 
  'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 'E', '\020', '\002', '\022', '\030', '\n', '\024', 'S', 'V', 'F', 'O', 'P', 
  '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 'E', '_', 'N', '\020', '\003', '\022', '\033', '\n', '\027', 'S', 'V', 'F', 'O', 
  'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\004', '\022', '\035', '\n', '\031', 
  'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '_', 'N', 
  '\020', '\005', '\022', '\023', '\n', '\017', 'S', 'V', 'F', 'O', 'P', '_', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', '\020', '\006', '\022', '\025', 
  '\n', '\021', 'S', 'V', 'F', 'O', 'P', '_', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', '_', 'N', '\020', '\007', '\022', '\030', '\n', '\024', 
  'S', 'V', 'F', 'O', 'P', '_', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\010', '\022', '\032', '\n', 
  '\026', 'S', 'V', 'F', 'O', 'P', '_', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '_', 'N', '\020', '\t', 
  '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'R', 'O', 'L', 'E', '\020', '\n', '\022', 
  '\026', '\n', '\022', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 'S', 'E', 'R', '\020', '\013', '\022', '\016', 
  '\n', '\n', 'S', 'V', 'F', 'O', 'P', '_', 'U', 'S', 'E', 'R', '\020', '\014', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 'P', '_', 'S', 
  'E', 'S', 'S', 'I', 'O', 'N', '_', 'U', 'S', 'E', 'R', '\020', '\r', '\022', '\031', '\n', '\025', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 
  'R', 'R', 'E', 'N', 'T', '_', 'C', 'A', 'T', 'A', 'L', 'O', 'G', '\020', '\016', '\022', '\030', '\n', '\024', 'S', 'V', 'F', 'O', 'P', '_', 
  'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\017', '*', '\262', '\001', '\n', '\t', 'X', 'm', 'l', 'E', 
  'x', 'p', 'r', 'O', 'p', '\022', '\031', '\n', '\025', 'X', 'M', 'L', '_', 'E', 'X', 'P', 'R', '_', 'O', 'P', '_', 'U', 'N', 'D', 'E', 
  'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', '\014', 'I', 'S', '_', 'X', 'M', 'L', 'C', 'O', 'N', 'C', 'A', 'T', '\020', '\001', 
  '\022', '\021', '\n', '\r', 'I', 'S', '_', 'X', 'M', 'L', 'E', 'L', 'E', 'M', 'E', 'N', 'T', '\020', '\002', '\022', '\020', '\n', '\014', 'I', 'S', 
  '_', 'X', 'M', 'L', 'F', 'O', 'R', 'E', 'S', 'T', '\020', '\003', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'X', 'M', 'L', 'P', 'A', 'R', 
  'S', 'E', '\020', '\004', '\022', '\014', '\n', '\010', 'I', 'S', '_', 'X', 'M', 'L', 'P', 'I', '\020', '\005', '\022', '\016', '\n', '\n', 'I', 'S', '_', 
  'X', 'M', 'L', 'R', 'O', 'O', 'T', '\020', '\006', '\022', '\023', '\n', '\017', 'I', 'S', '_', 'X', 'M', 'L', 'S', 'E', 'R', 'I', 'A', 'L', 
  'I', 'Z', 'E', '\020', '\007', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'D', 'O', 'C', 'U', 'M', 'E', 'N', 'T', '\020', '\010', '*', ']', '\n', 
  '\r', 'X', 'm', 'l', 'O', 'p', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', '\022', '\035', '\n', '\031', 'X', 'M', 'L', '_', 'O', 'P', 'T', 
  'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'X', 
  'M', 'L', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'D', 'O', 'C', 'U', 'M', 'E', 'N', 'T', '\020', '\001', '\022', '\025', '\n', '\021', 'X', 'M', 
  'L', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'C', 'O', 'N', 'T', 'E', 'N', 'T', '\020', '\002', '*', 'J', '\n', '\014', 'N', 'u', 'l', 'l', 
  'T', 'e', 's', 't', 'T', 'y', 'p', 'e', '\022', '\034', '\n', '\030', 'N', 'U', 'L', 'L', '_', 'T', 'E', 'S', 'T', '_', 'T', 'Y', 'P', 
  'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\013', '\n', '\007', 'I', 'S', '_', 'N', 'U', 'L', 'L', '\020', 
  '\001', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'N', 'O', 'T', '_', 'N', 'U', 'L', 'L', '\020', '\002', '*', '\216', '\001', '\n', '\014', 'B', 'o', 
  'o', 'l', 'T', 'e', 's', 't', 'T', 'y', 'p', 'e', '\022', '\034', '\n', '\030', 'B', 'O', 'O', 'L', '_', 'T', 'E', 'S', 'T', '_', 'T', 
  'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\013', '\n', '\007', 'I', 'S', '_', 'T', 'R', 'U', 
  'E', '\020', '\001', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'N', 'O', 'T', '_', 'T', 'R', 'U', 'E', '\020', '\002', '\022', '\014', '\n', '\010', 'I', 
  'S', '_', 'F', 'A', 'L', 'S', 'E', '\020', '\003', '\022', '\020', '\n', '\014', 'I', 'S', '_', 'N', 'O', 'T', '_', 'F', 'A', 'L', 'S', 'E', 
  '\020', '\004', '\022', '\016', '\n', '\n', 'I', 'S', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\005', '\022', '\022', '\n', '\016', 'I', 'S', '_', 
  'N', 'O', 'T', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\006', '*', '\224', '\001', '\n', '\007', 'C', 'm', 'd', 'T', 'y', 'p', 'e', 
  '\022', '\026', '\n', '\022', 'C', 'M', 'D', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', 
  '\017', '\n', '\013', 'C', 'M', 'D', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\001', '\022', '\016', '\n', '\n', 'C', 'M', 'D', '_', 'S', 
  'E', 'L', 'E', 'C', 'T', '\020', '\002', '\022', '\016', '\n', '\n', 'C', 'M', 'D', '_', 'U', 'P', 'D', 'A', 'T', 'E', '\020', '\003', '\022', '\016', 
  '\n', '\n', 'C', 'M', 'D', '_', 'I', 'N', 'S', 'E', 'R', 'T', '\020', '\004', '\022', '\016', '\n', '\n', 'C', 'M', 'D', '_', 'D', 'E', 'L', 
  'E', 'T', 'E', '\020', '\005', '\022', '\017', '\n', '\013', 'C', 'M', 'D', '_', 'U', 'T', 'I', 'L', 'I', 'T', 'Y', '\020', '\006', '\022', '\017', '\n', 
  '\013', 'C', 'M', 'D', '_', 'N', 'O', 'T', 'H', 'I', 'N', 'G', '\020', '\007', '*', '\255', '\001', '\n', '\010', 'J', 'o', 'i', 'n', 'T', 'y', 
  'p', 'e', '\022', '\027', '\n', '\023', 'J', 'O', 'I', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', 
  '\020', '\000', '\022', '\016', '\n', '\n', 'J', 'O', 'I', 'N', '_', 'I', 'N', 'N', 'E', 'R', '\020', '\001', '\022', '\r', '\n', '\t', 'J', 'O', 'I', 
  'N', '_', 'L', 'E', 'F', 'T', '\020', '\002', '\022', '\r', '\n', '\t', 'J', 'O', 'I', 'N', '_', 'F', 'U', 'L', 'L', '\020', '\003', '\022', '\016', 
  '\n', '\n', 'J', 'O', 'I', 'N', '_', 'R', 'I', 'G', 'H', 'T', '\020', '\004', '\022', '\r', '\n', '\t', 'J', 'O', 'I', 'N', '_', 'S', 'E', 
  'M', 'I', '\020', '\005', '\022', '\r', '\n', '\t', 'J', 'O', 'I', 'N', '_', 'A', 'N', 'T', 'I', '\020', '\006', '\022', '\025', '\n', '\021', 'J', 'O', 
  'I', 'N', '_', 'U', 'N', 'I', 'Q', 'U', 'E', '_', 'O', 'U', 'T', 'E', 'R', '\020', '\007', '\022', '\025', '\n', '\021', 'J', 'O', 'I', 'N', 
  '_', 'U', 'N', 'I', 'Q', 'U', 'E', '_', 'I', 'N', 'N', 'E', 'R', '\020', '\010', '*', 'g', '\n', '\013', 'A', 'g', 'g', 'S', 't', 'r', 
  'a', 't', 'e', 'g', 'y', '\022', '\032', '\n', '\026', 'A', 'G', 'G', '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 'Y', '_', 'U', 'N', 'D', 
  'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\r', '\n', '\t', 'A', 'G', 'G', '_', 'P', 'L', 'A', 'I', 'N', '\020', '\001', '\022', '\016', 
  '\n', '\n', 'A', 'G', 'G', '_', 'S', 'O', 'R', 'T', 'E', 'D', '\020', '\002', '\022', '\016', '\n', '\n', 'A', 'G', 'G', '_', 'H', 'A', 'S', 
  'H', 'E', 'D', '\020', '\003', '\022', '\r', '\n', '\t', 'A', 'G', 'G', '_', 'M', 'I', 'X', 'E', 'D', '\020', '\004', '*', 'r', '\n', '\010', 'A', 
  'g', 'g', 'S', 'p', 'l', 'i', 't', '\022', '\027', '\n', '\023', 'A', 'G', 'G', '_', 'S', 'P', 'L', 'I', 'T', '_', 'U', 'N', 'D', 'E', 
  'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\023', '\n', '\017', 'A', 'G', 'G', 'S', 'P', 'L', 'I', 'T', '_', 'S', 'I', 'M', 'P', 'L', 
  'E', '\020', '\001', '\022', '\033', '\n', '\027', 'A', 'G', 'G', 'S', 'P', 'L', 'I', 'T', '_', 'I', 'N', 'I', 'T', 'I', 'A', 'L', '_', 'S', 
  'E', 'R', 'I', 'A', 'L', '\020', '\002', '\022', '\033', '\n', '\027', 'A', 'G', 'G', 'S', 'P', 'L', 'I', 'T', '_', 'F', 'I', 'N', 'A', 'L', 
  '_', 'D', 'E', 'S', 'E', 'R', 'I', 'A', 'L', '\020', '\003', '*', '\206', '\001', '\n', '\010', 'S', 'e', 't', 'O', 'p', 'C', 'm', 'd', '\022', 
  '\030', '\n', '\024', 'S', 'E', 'T', '_', 'O', 'P', '_', 'C', 'M', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', 
  '\022', '\026', '\n', '\022', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '\020', '\001', '\022', 
  '\032', '\n', '\026', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '_', 'A', 'L', 'L', 
  '\020', '\002', '\022', '\023', '\n', '\017', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'E', 'X', 'C', 'E', 'P', 'T', '\020', '\003', '\022', '\027', 
  '\n', '\023', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'E', 'X', 'C', 'E', 'P', 'T', '_', 'A', 'L', 'L', '\020', '\004', '*', 'R', 
  '\n', '\r', 'S', 'e', 't', 'O', 'p', 'S', 't', 'r', 'a', 't', 'e', 'g', 'y', '\022', '\035', '\n', '\031', 'S', 'E', 'T', '_', 'O', 'P', 
  '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 'Y', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', '\014', 
  'S', 'E', 'T', 'O', 'P', '_', 'S', 'O', 'R', 'T', 'E', 'D', '\020', '\001', '\022', '\020', '\n', '\014', 'S', 'E', 'T', 'O', 'P', '_', 'H', 
  'A', 'S', 'H', 'E', 'D', '\020', '\002', '*', 'x', '\n', '\020', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'A', 'c', 't', 'i', 
  'o', 'n', '\022', ' ', '\n', '\034', 'O', 'N', '_', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'A', 'C', 'T', 'I', 'O', 'N', '_', 
  'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\023', '\n', '\017', 'O', 'N', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', 
  '_', 'N', 'O', 'N', 'E', '\020', '\001', '\022', '\026', '\n', '\022', 'O', 'N', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'N', 'O', 'T', 
  'H', 'I', 'N', 'G', '\020', '\002', '\022', '\025', '\n', '\021', 'O', 'N', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'U', 'P', 'D', 'A', 
  'T', 'E', '\020', '\003', '*', 'w', '\n', '\013', 'L', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\026', 'L', 'I', 
  'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', '\n', 
  '\024', 'L', 'I', 'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\001', '\022', '\026', 
  '\n', '\022', 'L', 'I', 'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'C', 'O', 'U', 'N', 'T', '\020', '\002', '\022', '\032', '\n', 
  '\026', 'L', 'I', 'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'W', 'I', 'T', 'H', '_', 'T', 'I', 'E', 'S', '\020', '\003', 
  '*', '\230', '\001', '\n', '\022', 'L', 'o', 'c', 'k', 'C', 'l', 'a', 'u', 's', 'e', 'S', 't', 'r', 'e', 'n', 'g', 't', 'h', '\022', '\"', 
  '\n', '\036', 'L', 'O', 'C', 'K', '_', 'C', 'L', 'A', 'U', 'S', 'E', '_', 'S', 'T', 'R', 'E', 'N', 'G', 'T', 'H', '_', 'U', 'N', 
  'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\014', '\n', '\010', 'L', 'C', 'S', '_', 'N', 'O', 'N', 'E', '\020', '\001', '\022', '\023', 
  '\n', '\017', 'L', 'C', 'S', '_', 'F', 'O', 'R', 'K', 'E', 'Y', 'S', 'H', 'A', 'R', 'E', '\020', '\002', '\022', '\020', '\n', '\014', 'L', 'C', 
  'S', '_', 'F', 'O', 'R', 'S', 'H', 'A', 'R', 'E', '\020', '\003', '\022', '\026', '\n', '\022', 'L', 'C', 'S', '_', 'F', 'O', 'R', 'N', 'O', 
  'K', 'E', 'Y', 'U', 'P', 'D', 'A', 'T', 'E', '\020', '\004', '\022', '\021', '\n', '\r', 'L', 'C', 'S', '_', 'F', 'O', 'R', 'U', 'P', 'D', 
  'A', 'T', 'E', '\020', '\005', '*', 'h', '\n', '\016', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'P', 'o', 'l', 'i', 'c', 'y', '\022', '\036', 
  '\n', '\032', 'L', 'O', 'C', 'K', '_', 'W', 'A', 'I', 'T', '_', 'P', 'O', 'L', 'I', 'C', 'Y', '_', 'U', 'N', 'D', 'E', 'F', 'I', 
  'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'B', 'l', 'o', 'c', 'k', '\020', '\001', '\022', 
  '\020', '\n', '\014', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'S', 'k', 'i', 'p', '\020', '\002', '\022', '\021', '\n', '\r', 'L', 'o', 'c', 'k', 
  'W', 'a', 'i', 't', 'E', 'r', 'r', 'o', 'r', '\020', '\003', '*', '\216', '\001', '\n', '\r', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 
  'M', 'o', 'd', 'e', '\022', '\035', '\n', '\031', 'L', 'O', 'C', 'K', '_', 'T', 'U', 'P', 'L', 'E', '_', 'M', 'O', 'D', 'E', '_', 'U', 
  'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\025', '\n', '\021', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'K', 'e', 
  'y', 'S', 'h', 'a', 'r', 'e', '\020', '\001', '\022', '\022', '\n', '\016', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'S', 'h', 'a', 'r', 
  'e', '\020', '\002', '\022', '\033', '\n', '\027', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'N', 'o', 'K', 'e', 'y', 'E', 'x', 'c', 'l', 
  'u', 's', 'i', 'v', 'e', '\020', '\003', '\022', '\026', '\n', '\022', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'E', 'x', 'c', 'l', 'u', 
  's', 'i', 'v', 'e', '\020', '\004', '*', '}', '\n', '\013', 'K', 'e', 'y', 'w', 'o', 'r', 'd', 'K', 'i', 'n', 'd', '\022', '\016', '\n', '\n', 
  'N', 'O', '_', 'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'U', 'N', 'R', 'E', 'S', 'E', 'R', 'V', 'E', 
  'D', '_', 'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\001', '\022', '\024', '\n', '\020', 'C', 'O', 'L', '_', 'N', 'A', 'M', 'E', '_', 'K', 
  'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\002', '\022', '\032', '\n', '\026', 'T', 'Y', 'P', 'E', '_', 'F', 'U', 'N', 'C', '_', 'N', 'A', 'M', 
  'E', '_', 'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\003', '\022', '\024', '\n', '\020', 'R', 'E', 'S', 'E', 'R', 'V', 'E', 'D', '_', 'K', 
  'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\004', '*', '\323', '5', '\n', '\005', 'T', 'o', 'k', 'e', 'n', '\022', '\007', '\n', '\003', 'N', 'U', 'L', 
  '\020', '\000', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '3', '7', '\020', '%', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', 
  '_', '4', '0', '\020', '(', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '1', '\020', ')', '\022', '\014', '\n', '\010', 'A', 'S', 
  'C', 'I', 'I', '_', '4', '2', '\020', '*', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '3', '\020', '+', '\022', '\014', '\n', 
  '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '4', '\020', ',', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '5', '\020', '-', 
  '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '6', '\020', '.', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', 
  '7', '\020', '/', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '5', '8', '\020', ':', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 
  'I', '_', '5', '9', '\020', ';', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '6', '0', '\020', '<', '\022', '\014', '\n', '\010', 'A', 
  'S', 'C', 'I', 'I', '_', '6', '1', '\020', '=', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '6', '2', '\020', '>', '\022', '\014', 
  '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '6', '3', '\020', '?', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '9', '1', '\020', 
  '[', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '9', '3', '\020', ']', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', 
  '9', '4', '\020', '^', '\022', '\n', '\n', '\005', 'I', 'D', 'E', 'N', 'T', '\020', '\202', '\002', '\022', '\013', '\n', '\006', 'U', 'I', 'D', 'E', 'N', 
  'T', '\020', '\203', '\002', '\022', '\013', '\n', '\006', 'F', 'C', 'O', 'N', 'S', 'T', '\020', '\204', '\002', '\022', '\013', '\n', '\006', 'S', 'C', 'O', 'N', 
  'S', 'T', '\020', '\205', '\002', '\022', '\014', '\n', '\007', 'U', 'S', 'C', 'O', 'N', 'S', 'T', '\020', '\206', '\002', '\022', '\013', '\n', '\006', 'B', 'C', 
  'O', 'N', 'S', 'T', '\020', '\207', '\002', '\022', '\013', '\n', '\006', 'X', 'C', 'O', 'N', 'S', 'T', '\020', '\210', '\002', '\022', '\007', '\n', '\002', 'O', 
  'p', '\020', '\211', '\002', '\022', '\013', '\n', '\006', 'I', 'C', 'O', 'N', 'S', 'T', '\020', '\212', '\002', '\022', '\n', '\n', '\005', 'P', 'A', 'R', 'A', 
  'M', '\020', '\213', '\002', '\022', '\r', '\n', '\010', 'T', 'Y', 'P', 'E', 'C', 'A', 'S', 'T', '\020', '\214', '\002', '\022', '\014', '\n', '\007', 'D', 'O', 
  'T', '_', 'D', 'O', 'T', '\020', '\215', '\002', '\022', '\021', '\n', '\014', 'C', 'O', 'L', 'O', 'N', '_', 'E', 'Q', 'U', 'A', 'L', 'S', '\020', 
  '\216', '\002', '\022', '\023', '\n', '\016', 'E', 'Q', 'U', 'A', 'L', 'S', '_', 'G', 'R', 'E', 'A', 'T', 'E', 'R', '\020', '\217', '\002', '\022', '\020', 
  '\n', '\013', 'L', 'E', 'S', 'S', '_', 'E', 'Q', 'U', 'A', 'L', 'S', '\020', '\220', '\002', '\022', '\023', '\n', '\016', 'G', 'R', 'E', 'A', 'T', 
  'E', 'R', '_', 'E', 'Q', 'U', 'A', 'L', 'S', '\020', '\221', '\002', '\022', '\017', '\n', '\n', 'N', 'O', 'T', '_', 'E', 'Q', 'U', 'A', 'L', 
  'S', '\020', '\222', '\002', '\022', '\020', '\n', '\013', 'S', 'Q', 'L', '_', 'C', 'O', 'M', 'M', 'E', 'N', 'T', '\020', '\223', '\002', '\022', '\016', '\n', 
  '\t', 'C', '_', 'C', 'O', 'M', 'M', 'E', 'N', 'T', '\020', '\224', '\002', '\022', '\014', '\n', '\007', 'A', 'B', 'O', 'R', 'T', '_', 'P', '\020', 
  '\225', '\002', '\022', '\017', '\n', '\n', 'A', 'B', 'S', 'O', 'L', 'U', 'T', 'E', '_', 'P', '\020', '\226', '\002', '\022', '\013', '\n', '\006', 'A', 'C', 
  'C', 'E', 'S', 'S', '\020', '\227', '\002', '\022', '\013', '\n', '\006', 'A', 'C', 'T', 'I', 'O', 'N', '\020', '\230', '\002', '\022', '\n', '\n', '\005', 'A', 
  'D', 'D', '_', 'P', '\020', '\231', '\002', '\022', '\n', '\n', '\005', 'A', 'D', 'M', 'I', 'N', '\020', '\232', '\002', '\022', '\n', '\n', '\005', 'A', 'F', 
  'T', 'E', 'R', '\020', '\233', '\002', '\022', '\016', '\n', '\t', 'A', 'G', 'G', 'R', 'E', 'G', 'A', 'T', 'E', '\020', '\234', '\002', '\022', '\010', '\n', 
  '\003', 'A', 'L', 'L', '\020', '\235', '\002', '\022', '\t', '\n', '\004', 'A', 'L', 'S', 'O', '\020', '\236', '\002', '\022', '\n', '\n', '\005', 'A', 'L', 'T', 
  'E', 'R', '\020', '\237', '\002', '\022', '\013', '\n', '\006', 'A', 'L', 'W', 'A', 'Y', 'S', '\020', '\240', '\002', '\022', '\014', '\n', '\007', 'A', 'N', 'A', 
  'L', 'Y', 'S', 'E', '\020', '\241', '\002', '\022', '\014', '\n', '\007', 'A', 'N', 'A', 'L', 'Y', 'Z', 'E', '\020', '\242', '\002', '\022', '\010', '\n', '\003', 
  'A', 'N', 'D', '\020', '\243', '\002', '\022', '\010', '\n', '\003', 'A', 'N', 'Y', '\020', '\244', '\002', '\022', '\n', '\n', '\005', 'A', 'R', 'R', 'A', 'Y', 
  '\020', '\245', '\002', '\022', '\007', '\n', '\002', 'A', 'S', '\020', '\246', '\002', '\022', '\010', '\n', '\003', 'A', 'S', 'C', '\020', '\247', '\002', '\022', '\016', '\n', 
  '\t', 'A', 'S', 'S', 'E', 'R', 'T', 'I', 'O', 'N', '\020', '\250', '\002', '\022', '\017', '\n', '\n', 'A', 'S', 'S', 'I', 'G', 'N', 'M', 'E', 
  'N', 'T', '\020', '\251', '\002', '\022', '\017', '\n', '\n', 'A', 'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'I', 'C', '\020', '\252', '\002', '\022', '\007', '\n', 
  '\002', 'A', 'T', '\020', '\253', '\002', '\022', '\013', '\n', '\006', 'A', 'T', 'T', 'A', 'C', 'H', '\020', '\254', '\002', '\022', '\016', '\n', '\t', 'A', 'T', 
  'T', 'R', 'I', 'B', 'U', 'T', 'E', '\020', '\255', '\002', '\022', '\022', '\n', '\r', 'A', 'U', 'T', 'H', 'O', 'R', 'I', 'Z', 'A', 'T', 'I', 
  'O', 'N', '\020', '\256', '\002', '\022', '\r', '\n', '\010', 'B', 'A', 'C', 'K', 'W', 'A', 'R', 'D', '\020', '\257', '\002', '\022', '\013', '\n', '\006', 'B', 
  'E', 'F', 'O', 'R', 'E', '\020', '\260', '\002', '\022', '\014', '\n', '\007', 'B', 'E', 'G', 'I', 'N', '_', 'P', '\020', '\261', '\002', '\022', '\014', '\n', 
  '\007', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\262', '\002', '\022', '\013', '\n', '\006', 'B', 'I', 'G', 'I', 'N', 'T', '\020', '\263', '\002', '\022', 
  '\013', '\n', '\006', 'B', 'I', 'N', 'A', 'R', 'Y', '\020', '\264', '\002', '\022', '\010', '\n', '\003', 'B', 'I', 'T', '\020', '\265', '\002', '\022', '\016', '\n', 
  '\t', 'B', 'O', 'O', 'L', 'E', 'A', 'N', '_', 'P', '\020', '\266', '\002', '\022', '\t', '\n', '\004', 'B', 'O', 'T', 'H', '\020', '\267', '\002', '\022', 
  '\007', '\n', '\002', 'B', 'Y', '\020', '\270', '\002', '\022', '\n', '\n', '\005', 'C', 'A', 'C', 'H', 'E', '\020', '\271', '\002', '\022', '\t', '\n', '\004', 'C', 
  'A', 'L', 'L', '\020', '\272', '\002', '\022', '\013', '\n', '\006', 'C', 'A', 'L', 'L', 'E', 'D', '\020', '\273', '\002', '\022', '\014', '\n', '\007', 'C', 'A', 
  'S', 'C', 'A', 'D', 'E', '\020', '\274', '\002', '\022', '\r', '\n', '\010', 'C', 'A', 'S', 'C', 'A', 'D', 'E', 'D', '\020', '\275', '\002', '\022', '\t', 
  '\n', '\004', 'C', 'A', 'S', 'E', '\020', '\276', '\002', '\022', '\t', '\n', '\004', 'C', 'A', 'S', 'T', '\020', '\277', '\002', '\022', '\016', '\n', '\t', 'C', 
  'A', 'T', 'A', 'L', 'O', 'G', '_', 'P', '\020', '\300', '\002', '\022', '\n', '\n', '\005', 'C', 'H', 'A', 'I', 'N', '\020', '\301', '\002', '\022', '\013', 
  '\n', '\006', 'C', 'H', 'A', 'R', '_', 'P', '\020', '\302', '\002', '\022', '\016', '\n', '\t', 'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R', '\020', 
  '\303', '\002', '\022', '\024', '\n', '\017', 'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R', 'I', 'S', 'T', 'I', 'C', 'S', '\020', '\304', '\002', '\022', 
  '\n', '\n', '\005', 'C', 'H', 'E', 'C', 'K', '\020', '\305', '\002', '\022', '\017', '\n', '\n', 'C', 'H', 'E', 'C', 'K', 'P', 'O', 'I', 'N', 'T', 
  '\020', '\306', '\002', '\022', '\n', '\n', '\005', 'C', 'L', 'A', 'S', 'S', '\020', '\307', '\002', '\022', '\n', '\n', '\005', 'C', 'L', 'O', 'S', 'E', '\020', 
  '\310', '\002', '\022', '\014', '\n', '\007', 'C', 'L', 'U', 'S', 'T', 'E', 'R', '\020', '\311', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'A', 'L', 'E', 
  'S', 'C', 'E', '\020', '\312', '\002', '\022', '\014', '\n', '\007', 'C', 'O', 'L', 'L', 'A', 'T', 'E', '\020', '\313', '\002', '\022', '\016', '\n', '\t', 'C', 
  'O', 'L', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\314', '\002', '\022', '\013', '\n', '\006', 'C', 'O', 'L', 'U', 'M', 'N', '\020', '\315', '\002', '\022', 
  '\014', '\n', '\007', 'C', 'O', 'L', 'U', 'M', 'N', 'S', '\020', '\316', '\002', '\022', '\014', '\n', '\007', 'C', 'O', 'M', 'M', 'E', 'N', 'T', '\020', 
  '\317', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'M', 'M', 'E', 'N', 'T', 'S', '\020', '\320', '\002', '\022', '\013', '\n', '\006', 'C', 'O', 'M', 'M', 
  'I', 'T', '\020', '\321', '\002', '\022', '\016', '\n', '\t', 'C', 'O', 'M', 'M', 'I', 'T', 'T', 'E', 'D', '\020', '\322', '\002', '\022', '\021', '\n', '\014', 
  'C', 'O', 'N', 'C', 'U', 'R', 'R', 'E', 'N', 'T', 'L', 'Y', '\020', '\323', '\002', '\022', '\022', '\n', '\r', 'C', 'O', 'N', 'F', 'I', 'G', 
  'U', 'R', 'A', 'T', 'I', 'O', 'N', '\020', '\324', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '\020', '\325', '\002', 
  '\022', '\017', '\n', '\n', 'C', 'O', 'N', 'N', 'E', 'C', 'T', 'I', 'O', 'N', '\020', '\326', '\002', '\022', '\017', '\n', '\n', 'C', 'O', 'N', 'S', 
  'T', 'R', 'A', 'I', 'N', 'T', '\020', '\327', '\002', '\022', '\020', '\n', '\013', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', 'S', '\020', 
  '\330', '\002', '\022', '\016', '\n', '\t', 'C', 'O', 'N', 'T', 'E', 'N', 'T', '_', 'P', '\020', '\331', '\002', '\022', '\017', '\n', '\n', 'C', 'O', 'N', 
  'T', 'I', 'N', 'U', 'E', '_', 'P', '\020', '\332', '\002', '\022', '\021', '\n', '\014', 'C', 'O', 'N', 'V', 'E', 'R', 'S', 'I', 'O', 'N', '_', 
  'P', '\020', '\333', '\002', '\022', '\t', '\n', '\004', 'C', 'O', 'P', 'Y', '\020', '\334', '\002', '\022', '\t', '\n', '\004', 'C', 'O', 'S', 'T', '\020', '\335', 
  '\002', '\022', '\013', '\n', '\006', 'C', 'R', 'E', 'A', 'T', 'E', '\020', '\336', '\002', '\022', '\n', '\n', '\005', 'C', 'R', 'O', 'S', 'S', '\020', '\337', 
  '\002', '\022', '\010', '\n', '\003', 'C', 'S', 'V', '\020', '\340', '\002', '\022', '\t', '\n', '\004', 'C', 'U', 'B', 'E', '\020', '\341', '\002', '\022', '\016', '\n', 
  '\t', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'P', '\020', '\342', '\002', '\022', '\024', '\n', '\017', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 
  'C', 'A', 'T', 'A', 'L', 'O', 'G', '\020', '\343', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'D', 'A', 'T', 
  'E', '\020', '\344', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'R', 'O', 'L', 'E', '\020', '\345', '\002', '\022', '\023', 
  '\n', '\016', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\346', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 
  'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 'E', '\020', '\347', '\002', '\022', '\026', '\n', '\021', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 
  'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\350', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 
  'S', 'E', 'R', '\020', '\351', '\002', '\022', '\013', '\n', '\006', 'C', 'U', 'R', 'S', 'O', 'R', '\020', '\352', '\002', '\022', '\n', '\n', '\005', 'C', 'Y', 
  'C', 'L', 'E', '\020', '\353', '\002', '\022', '\013', '\n', '\006', 'D', 'A', 'T', 'A', '_', 'P', '\020', '\354', '\002', '\022', '\r', '\n', '\010', 'D', 'A', 
  'T', 'A', 'B', 'A', 'S', 'E', '\020', '\355', '\002', '\022', '\n', '\n', '\005', 'D', 'A', 'Y', '_', 'P', '\020', '\356', '\002', '\022', '\017', '\n', '\n', 
  'D', 'E', 'A', 'L', 'L', 'O', 'C', 'A', 'T', 'E', '\020', '\357', '\002', '\022', '\010', '\n', '\003', 'D', 'E', 'C', '\020', '\360', '\002', '\022', '\016', 
  '\n', '\t', 'D', 'E', 'C', 'I', 'M', 'A', 'L', '_', 'P', '\020', '\361', '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'C', 'L', 'A', 'R', 'E', 
  '\020', '\362', '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\363', '\002', '\022', '\r', '\n', '\010', 'D', 'E', 'F', 'A', 
  'U', 'L', 'T', 'S', '\020', '\364', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'F', 'E', 'R', 'R', 'A', 'B', 'L', 'E', '\020', '\365', '\002', '\022', 
  '\r', '\n', '\010', 'D', 'E', 'F', 'E', 'R', 'R', 'E', 'D', '\020', '\366', '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'F', 'I', 'N', 'E', 'R', 
  '\020', '\367', '\002', '\022', '\r', '\n', '\010', 'D', 'E', 'L', 'E', 'T', 'E', '_', 'P', '\020', '\370', '\002', '\022', '\016', '\n', '\t', 'D', 'E', 'L', 
  'I', 'M', 'I', 'T', 'E', 'R', '\020', '\371', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'L', 'I', 'M', 'I', 'T', 'E', 'R', 'S', '\020', '\372', 
  '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'P', 'E', 'N', 'D', 'S', '\020', '\373', '\002', '\022', '\t', '\n', '\004', 'D', 'E', 'S', 'C', '\020', '\374', 
  '\002', '\022', '\013', '\n', '\006', 'D', 'E', 'T', 'A', 'C', 'H', '\020', '\375', '\002', '\022', '\017', '\n', '\n', 'D', 'I', 'C', 'T', 'I', 'O', 'N', 
  'A', 'R', 'Y', '\020', '\376', '\002', '\022', '\016', '\n', '\t', 'D', 'I', 'S', 'A', 'B', 'L', 'E', '_', 'P', '\020', '\377', '\002', '\022', '\014', '\n', 
  '\007', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '\020', '\200', '\003', '\022', '\r', '\n', '\010', 'D', 'I', 'S', 'T', 'I', 'N', 'C', 'T', '\020', '\201', 
  '\003', '\022', '\007', '\n', '\002', 'D', 'O', '\020', '\202', '\003', '\022', '\017', '\n', '\n', 'D', 'O', 'C', 'U', 'M', 'E', 'N', 'T', '_', 'P', '\020', 
  '\203', '\003', '\022', '\r', '\n', '\010', 'D', 'O', 'M', 'A', 'I', 'N', '_', 'P', '\020', '\204', '\003', '\022', '\r', '\n', '\010', 'D', 'O', 'U', 'B', 
  'L', 'E', '_', 'P', '\020', '\205', '\003', '\022', '\t', '\n', '\004', 'D', 'R', 'O', 'P', '\020', '\206', '\003', '\022', '\t', '\n', '\004', 'E', 'A', 'C', 
  'H', '\020', '\207', '\003', '\022', '\t', '\n', '\004', 'E', 'L', 'S', 'E', '\020', '\210', '\003', '\022', '\r', '\n', '\010', 'E', 'N', 'A', 'B', 'L', 'E', 
  '_', 'P', '\020', '\211', '\003', '\022', '\r', '\n', '\010', 'E', 'N', 'C', 'O', 'D', 'I', 'N', 'G', '\020', '\212', '\003', '\022', '\016', '\n', '\t', 'E', 
  'N', 'C', 'R', 'Y', 'P', 'T', 'E', 'D', '\020', '\213', '\003', '\022', '\n', '\n', '\005', 'E', 'N', 'D', '_', 'P', '\020', '\214', '\003', '\022', '\013', 
  '\n', '\006', 'E', 'N', 'U', 'M', '_', 'P', '\020', '\215', '\003', '\022', '\013', '\n', '\006', 'E', 'S', 'C', 'A', 'P', 'E', '\020', '\216', '\003', '\022', 
  '\n', '\n', '\005', 'E', 'V', 'E', 'N', 'T', '\020', '\217', '\003', '\022', '\013', '\n', '\006', 'E', 'X', 'C', 'E', 'P', 'T', '\020', '\220', '\003', '\022', 
  '\014', '\n', '\007', 'E', 'X', 'C', 'L', 'U', 'D', 'E', '\020', '\221', '\003', '\022', '\016', '\n', '\t', 'E', 'X', 'C', 'L', 'U', 'D', 'I', 'N', 
  'G', '\020', '\222', '\003', '\022', '\016', '\n', '\t', 'E', 'X', 'C', 'L', 'U', 'S', 'I', 'V', 'E', '\020', '\223', '\003', '\022', '\014', '\n', '\007', 'E', 
  'X', 'E', 'C', 'U', 'T', 'E', '\020', '\224', '\003', '\022', '\013', '\n', '\006', 'E', 'X', 'I', 'S', 'T', 'S', '\020', '\225', '\003', '\022', '\014', '\n', 
  '\007', 'E', 'X', 'P', 'L', 'A', 'I', 'N', '\020', '\226', '\003', '\022', '\017', '\n', '\n', 'E', 'X', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', 
  '\020', '\227', '\003', '\022', '\016', '\n', '\t', 'E', 'X', 'T', 'E', 'N', 'S', 'I', 'O', 'N', '\020', '\230', '\003', '\022', '\r', '\n', '\010', 'E', 'X', 
  'T', 'E', 'R', 'N', 'A', 'L', '\020', '\231', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'T', 'R', 'A', 'C', 'T', '\020', '\232', '\003', '\022', '\014', 
  '\n', '\007', 'F', 'A', 'L', 'S', 'E', '_', 'P', '\020', '\233', '\003', '\022', '\013', '\n', '\006', 'F', 'A', 'M', 'I', 'L', 'Y', '\020', '\234', '\003', 
  '\022', '\n', '\n', '\005', 'F', 'E', 'T', 'C', 'H', '\020', '\235', '\003', '\022', '\013', '\n', '\006', 'F', 'I', 'L', 'T', 'E', 'R', '\020', '\236', '\003', 
  '\022', '\014', '\n', '\007', 'F', 'I', 'R', 'S', 'T', '_', 'P', '\020', '\237', '\003', '\022', '\014', '\n', '\007', 'F', 'L', 'O', 'A', 'T', '_', 'P', 
  '\020', '\240', '\003', '\022', '\016', '\n', '\t', 'F', 'O', 'L', 'L', 'O', 'W', 'I', 'N', 'G', '\020', '\241', '\003', '\022', '\010', '\n', '\003', 'F', 'O', 
  'R', '\020', '\242', '\003', '\022', '\n', '\n', '\005', 'F', 'O', 'R', 'C', 'E', '\020', '\243', '\003', '\022', '\014', '\n', '\007', 'F', 'O', 'R', 'E', 'I', 
  'G', 'N', '\020', '\244', '\003', '\022', '\014', '\n', '\007', 'F', 'O', 'R', 'W', 'A', 'R', 'D', '\020', '\245', '\003', '\022', '\013', '\n', '\006', 'F', 'R', 
  'E', 'E', 'Z', 'E', '\020', '\246', '\003', '\022', '\t', '\n', '\004', 'F', 'R', 'O', 'M', '\020', '\247', '\003', '\022', '\t', '\n', '\004', 'F', 'U', 'L', 
  'L', '\020', '\250', '\003', '\022', '\r', '\n', '\010', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', '\020', '\251', '\003', '\022', '\016', '\n', '\t', 'F', 'U', 
  'N', 'C', 'T', 'I', 'O', 'N', 'S', '\020', '\252', '\003', '\022', '\016', '\n', '\t', 'G', 'E', 'N', 'E', 'R', 'A', 'T', 'E', 'D', '\020', '\253', 
  '\003', '\022', '\013', '\n', '\006', 'G', 'L', 'O', 'B', 'A', 'L', '\020', '\254', '\003', '\022', '\n', '\n', '\005', 'G', 'R', 'A', 'N', 'T', '\020', '\255', 
  '\003', '\022', '\014', '\n', '\007', 'G', 'R', 'A', 'N', 'T', 'E', 'D', '\020', '\256', '\003', '\022', '\r', '\n', '\010', 'G', 'R', 'E', 'A', 'T', 'E', 
  'S', 'T', '\020', '\257', '\003', '\022', '\014', '\n', '\007', 'G', 'R', 'O', 'U', 'P', '_', 'P', '\020', '\260', '\003', '\022', '\r', '\n', '\010', 'G', 'R', 
  'O', 'U', 'P', 'I', 'N', 'G', '\020', '\261', '\003', '\022', '\013', '\n', '\006', 'G', 'R', 'O', 'U', 'P', 'S', '\020', '\262', '\003', '\022', '\014', '\n', 
  '\007', 'H', 'A', 'N', 'D', 'L', 'E', 'R', '\020', '\263', '\003', '\022', '\013', '\n', '\006', 'H', 'A', 'V', 'I', 'N', 'G', '\020', '\264', '\003', '\022', 
  '\r', '\n', '\010', 'H', 'E', 'A', 'D', 'E', 'R', '_', 'P', '\020', '\265', '\003', '\022', '\t', '\n', '\004', 'H', 'O', 'L', 'D', '\020', '\266', '\003', 
  '\022', '\013', '\n', '\006', 'H', 'O', 'U', 'R', '_', 'P', '\020', '\267', '\003', '\022', '\017', '\n', '\n', 'I', 'D', 'E', 'N', 'T', 'I', 'T', 'Y', 
  '_', 'P', '\020', '\270', '\003', '\022', '\t', '\n', '\004', 'I', 'F', '_', 'P', '\020', '\271', '\003', '\022', '\n', '\n', '\005', 'I', 'L', 'I', 'K', 'E', 
  '\020', '\272', '\003', '\022', '\016', '\n', '\t', 'I', 'M', 'M', 'E', 'D', 'I', 'A', 'T', 'E', '\020', '\273', '\003', '\022', '\016', '\n', '\t', 'I', 'M', 
  'M', 'U', 'T', 'A', 'B', 'L', 'E', '\020', '\274', '\003', '\022', '\017', '\n', '\n', 'I', 'M', 'P', 'L', 'I', 'C', 'I', 'T', '_', 'P', '\020', 
  '\275', '\003', '\022', '\r', '\n', '\010', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'P', '\020', '\276', '\003', '\022', '\t', '\n', '\004', 'I', 'N', '_', 'P', 
  '\020', '\277', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'C', 'L', 'U', 'D', 'E', '\020', '\300', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'C', 'L', 
  'U', 'D', 'I', 'N', 'G', '\020', '\301', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'C', 'R', 'E', 'M', 'E', 'N', 'T', '\020', '\302', '\003', '\022', 
  '\n', '\n', '\005', 'I', 'N', 'D', 'E', 'X', '\020', '\303', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'D', 'E', 'X', 'E', 'S', '\020', '\304', '\003', 
  '\022', '\014', '\n', '\007', 'I', 'N', 'H', 'E', 'R', 'I', 'T', '\020', '\305', '\003', '\022', '\r', '\n', '\010', 'I', 'N', 'H', 'E', 'R', 'I', 'T', 
  'S', '\020', '\306', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'I', 'T', 'I', 'A', 'L', 'L', 'Y', '\020', '\307', '\003', '\022', '\r', '\n', '\010', 'I', 
  'N', 'L', 'I', 'N', 'E', '_', 'P', '\020', '\310', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'N', 'E', 'R', '_', 'P', '\020', '\311', '\003', '\022', 
  '\n', '\n', '\005', 'I', 'N', 'O', 'U', 'T', '\020', '\312', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'P', 'U', 'T', '_', 'P', '\020', '\313', '\003', 
  '\022', '\020', '\n', '\013', 'I', 'N', 'S', 'E', 'N', 'S', 'I', 'T', 'I', 'V', 'E', '\020', '\314', '\003', '\022', '\013', '\n', '\006', 'I', 'N', 'S', 
  'E', 'R', 'T', '\020', '\315', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'S', 'T', 'E', 'A', 'D', '\020', '\316', '\003', '\022', '\n', '\n', '\005', 'I', 
  'N', 'T', '_', 'P', '\020', '\317', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'T', 'E', 'G', 'E', 'R', '\020', '\320', '\003', '\022', '\016', '\n', '\t', 
  'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '\020', '\321', '\003', '\022', '\r', '\n', '\010', 'I', 'N', 'T', 'E', 'R', 'V', 'A', 'L', '\020', 
  '\322', '\003', '\022', '\t', '\n', '\004', 'I', 'N', 'T', 'O', '\020', '\323', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'V', 'O', 'K', 'E', 'R', '\020', 
  '\324', '\003', '\022', '\007', '\n', '\002', 'I', 'S', '\020', '\325', '\003', '\022', '\013', '\n', '\006', 'I', 'S', 'N', 'U', 'L', 'L', '\020', '\326', '\003', '\022', 
  '\016', '\n', '\t', 'I', 'S', 'O', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\327', '\003', '\022', '\t', '\n', '\004', 'J', 'O', 'I', 'N', '\020', '\330', 
  '\003', '\022', '\010', '\n', '\003', 'K', 'E', 'Y', '\020', '\331', '\003', '\022', '\n', '\n', '\005', 'L', 'A', 'B', 'E', 'L', '\020', '\332', '\003', '\022', '\r', 
  '\n', '\010', 'L', 'A', 'N', 'G', 'U', 'A', 'G', 'E', '\020', '\333', '\003', '\022', '\014', '\n', '\007', 'L', 'A', 'R', 'G', 'E', '_', 'P', '\020', 
  '\334', '\003', '\022', '\013', '\n', '\006', 'L', 'A', 'S', 'T', '_', 'P', '\020', '\335', '\003', '\022', '\016', '\n', '\t', 'L', 'A', 'T', 'E', 'R', 'A', 
  'L', '_', 'P', '\020', '\336', '\003', '\022', '\014', '\n', '\007', 'L', 'E', 'A', 'D', 'I', 'N', 'G', '\020', '\337', '\003', '\022', '\016', '\n', '\t', 'L', 
  'E', 'A', 'K', 'P', 'R', 'O', 'O', 'F', '\020', '\340', '\003', '\022', '\n', '\n', '\005', 'L', 'E', 'A', 'S', 'T', '\020', '\341', '\003', '\022', '\t', 
  '\n', '\004', 'L', 'E', 'F', 'T', '\020', '\342', '\003', '\022', '\n', '\n', '\005', 'L', 'E', 'V', 'E', 'L', '\020', '\343', '\003', '\022', '\t', '\n', '\004', 
  'L', 'I', 'K', 'E', '\020', '\344', '\003', '\022', '\n', '\n', '\005', 'L', 'I', 'M', 'I', 'T', '\020', '\345', '\003', '\022', '\013', '\n', '\006', 'L', 'I', 
  'S', 'T', 'E', 'N', '\020', '\346', '\003', '\022', '\t', '\n', '\004', 'L', 'O', 'A', 'D', '\020', '\347', '\003', '\022', '\n', '\n', '\005', 'L', 'O', 'C', 
  'A', 'L', '\020', '\350', '\003', '\022', '\016', '\n', '\t', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', '\020', '\351', '\003', '\022', '\023', '\n', '\016', 
  'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\352', '\003', '\022', '\r', '\n', '\010', 'L', 'O', 'C', 'A', 
  'T', 'I', 'O', 'N', '\020', '\353', '\003', '\022', '\013', '\n', '\006', 'L', 'O', 'C', 'K', '_', 'P', '\020', '\354', '\003', '\022', '\013', '\n', '\006', 'L', 
  'O', 'C', 'K', 'E', 'D', '\020', '\355', '\003', '\022', '\013', '\n', '\006', 'L', 'O', 'G', 'G', 'E', 'D', '\020', '\356', '\003', '\022', '\014', '\n', '\007', 
  'M', 'A', 'P', 'P', 'I', 'N', 'G', '\020', '\357', '\003', '\022', '\n', '\n', '\005', 'M', 'A', 'T', 'C', 'H', '\020', '\360', '\003', '\022', '\021', '\n', 
  '\014', 'M', 'A', 'T', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', 'D', '\020', '\361', '\003', '\022', '\r', '\n', '\010', 'M', 'A', 'X', 'V', 'A', 
  'L', 'U', 'E', '\020', '\362', '\003', '\022', '\013', '\n', '\006', 'M', 'E', 'T', 'H', 'O', 'D', '\020', '\363', '\003', '\022', '\r', '\n', '\010', 'M', 'I', 
  'N', 'U', 'T', 'E', '_', 'P', '\020', '\364', '\003', '\022', '\r', '\n', '\010', 'M', 'I', 'N', 'V', 'A', 'L', 'U', 'E', '\020', '\365', '\003', '\022', 
  '\t', '\n', '\004', 'M', 'O', 'D', 'E', '\020', '\366', '\003', '\022', '\014', '\n', '\007', 'M', 'O', 'N', 'T', 'H', '_', 'P', '\020', '\367', '\003', '\022', 
  '\t', '\n', '\004', 'M', 'O', 'V', 'E', '\020', '\370', '\003', '\022', '\013', '\n', '\006', 'N', 'A', 'M', 'E', '_', 'P', '\020', '\371', '\003', '\022', '\n', 
  '\n', '\005', 'N', 'A', 'M', 'E', 'S', '\020', '\372', '\003', '\022', '\r', '\n', '\010', 'N', 'A', 'T', 'I', 'O', 'N', 'A', 'L', '\020', '\373', '\003', 
  '\022', '\014', '\n', '\007', 'N', 'A', 'T', 'U', 'R', 'A', 'L', '\020', '\374', '\003', '\022', '\n', '\n', '\005', 'N', 'C', 'H', 'A', 'R', '\020', '\375', 
  '\003', '\022', '\010', '\n', '\003', 'N', 'E', 'W', '\020', '\376', '\003', '\022', '\t', '\n', '\004', 'N', 'E', 'X', 'T', '\020', '\377', '\003', '\022', '\010', '\n', 
  '\003', 'N', 'F', 'C', '\020', '\200', '\004', '\022', '\010', '\n', '\003', 'N', 'F', 'D', '\020', '\201', '\004', '\022', '\t', '\n', '\004', 'N', 'F', 'K', 'C', 
  '\020', '\202', '\004', '\022', '\t', '\n', '\004', 'N', 'F', 'K', 'D', '\020', '\203', '\004', '\022', '\007', '\n', '\002', 'N', 'O', '\020', '\204', '\004', '\022', '\t', 
  '\n', '\004', 'N', 'O', 'N', 'E', '\020', '\205', '\004', '\022', '\016', '\n', '\t', 'N', 'O', 'R', 'M', 'A', 'L', 'I', 'Z', 'E', '\020', '\206', '\004', 
  '\022', '\017', '\n', '\n', 'N', 'O', 'R', 'M', 'A', 'L', 'I', 'Z', 'E', 'D', '\020', '\207', '\004', '\022', '\010', '\n', '\003', 'N', 'O', 'T', '\020', 
  '\210', '\004', '\022', '\014', '\n', '\007', 'N', 'O', 'T', 'H', 'I', 'N', 'G', '\020', '\211', '\004', '\022', '\013', '\n', '\006', 'N', 'O', 'T', 'I', 'F', 
  'Y', '\020', '\212', '\004', '\022', '\014', '\n', '\007', 'N', 'O', 'T', 'N', 'U', 'L', 'L', '\020', '\213', '\004', '\022', '\013', '\n', '\006', 'N', 'O', 'W', 
  'A', 'I', 'T', '\020', '\214', '\004', '\022', '\013', '\n', '\006', 'N', 'U', 'L', 'L', '_', 'P', '\020', '\215', '\004', '\022', '\013', '\n', '\006', 'N', 'U', 
  'L', 'L', 'I', 'F', '\020', '\216', '\004', '\022', '\014', '\n', '\007', 'N', 'U', 'L', 'L', 'S', '_', 'P', '\020', '\217', '\004', '\022', '\014', '\n', '\007', 
  'N', 'U', 'M', 'E', 'R', 'I', 'C', '\020', '\220', '\004', '\022', '\r', '\n', '\010', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', '\020', '\221', '\004', 
  '\022', '\007', '\n', '\002', 'O', 'F', '\020', '\222', '\004', '\022', '\010', '\n', '\003', 'O', 'F', 'F', '\020', '\223', '\004', '\022', '\013', '\n', '\006', 'O', 'F', 
  'F', 'S', 'E', 'T', '\020', '\224', '\004', '\022', '\t', '\n', '\004', 'O', 'I', 'D', 'S', '\020', '\225', '\004', '\022', '\010', '\n', '\003', 'O', 'L', 'D', 
  '\020', '\226', '\004', '\022', '\007', '\n', '\002', 'O', 'N', '\020', '\227', '\004', '\022', '\t', '\n', '\004', 'O', 'N', 'L', 'Y', '\020', '\230', '\004', '\022', '\r', 
  '\n', '\010', 'O', 'P', 'E', 'R', 'A', 'T', 'O', 'R', '\020', '\231', '\004', '\022', '\013', '\n', '\006', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\232', 
  '\004', '\022', '\014', '\n', '\007', 'O', 'P', 'T', 'I', 'O', 'N', 'S', '\020', '\233', '\004', '\022', '\007', '\n', '\002', 'O', 'R', '\020', '\234', '\004', '\022', 
  '\n', '\n', '\005', 'O', 'R', 'D', 'E', 'R', '\020', '\235', '\004', '\022', '\017', '\n', '\n', 'O', 'R', 'D', 'I', 'N', 'A', 'L', 'I', 'T', 'Y', 
  '\020', '\236', '\004', '\022', '\013', '\n', '\006', 'O', 'T', 'H', 'E', 'R', 'S', '\020', '\237', '\004', '\022', '\n', '\n', '\005', 'O', 'U', 'T', '_', 'P', 
  '\020', '\240', '\004', '\022', '\014', '\n', '\007', 'O', 'U', 'T', 'E', 'R', '_', 'P', '\020', '\241', '\004', '\022', '\t', '\n', '\004', 'O', 'V', 'E', 'R', 
  '\020', '\242', '\004', '\022', '\r', '\n', '\010', 'O', 'V', 'E', 'R', 'L', 'A', 'P', 'S', '\020', '\243', '\004', '\022', '\014', '\n', '\007', 'O', 'V', 'E', 
  'R', 'L', 'A', 'Y', '\020', '\244', '\004', '\022', '\017', '\n', '\n', 'O', 'V', 'E', 'R', 'R', 'I', 'D', 'I', 'N', 'G', '\020', '\245', '\004', '\022', 
  '\n', '\n', '\005', 'O', 'W', 'N', 'E', 'D', '\020', '\246', '\004', '\022', '\n', '\n', '\005', 'O', 'W', 'N', 'E', 'R', '\020', '\247', '\004', '\022', '\r', 
  '\n', '\010', 'P', 'A', 'R', 'A', 'L', 'L', 'E', 'L', '\020', '\250', '\004', '\022', '\013', '\n', '\006', 'P', 'A', 'R', 'S', 'E', 'R', '\020', '\251', 
  '\004', '\022', '\014', '\n', '\007', 'P', 'A', 'R', 'T', 'I', 'A', 'L', '\020', '\252', '\004', '\022', '\016', '\n', '\t', 'P', 'A', 'R', 'T', 'I', 'T', 
  'I', 'O', 'N', '\020', '\253', '\004', '\022', '\014', '\n', '\007', 'P', 'A', 'S', 'S', 'I', 'N', 'G', '\020', '\254', '\004', '\022', '\r', '\n', '\010', 'P', 
  'A', 'S', 'S', 'W', 'O', 'R', 'D', '\020', '\255', '\004', '\022', '\014', '\n', '\007', 'P', 'L', 'A', 'C', 'I', 'N', 'G', '\020', '\256', '\004', '\022', 
  '\n', '\n', '\005', 'P', 'L', 'A', 'N', 'S', '\020', '\257', '\004', '\022', '\013', '\n', '\006', 'P', 'O', 'L', 'I', 'C', 'Y', '\020', '\260', '\004', '\022', 
  '\r', '\n', '\010', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', '\020', '\261', '\004', '\022', '\016', '\n', '\t', 'P', 'R', 'E', 'C', 'E', 'D', 'I', 
  'N', 'G', '\020', '\262', '\004', '\022', '\016', '\n', '\t', 'P', 'R', 'E', 'C', 'I', 'S', 'I', 'O', 'N', '\020', '\263', '\004', '\022', '\r', '\n', '\010', 
  'P', 'R', 'E', 'S', 'E', 'R', 'V', 'E', '\020', '\264', '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'E', 'P', 'A', 'R', 'E', '\020', '\265', '\004', 
  '\022', '\r', '\n', '\010', 'P', 'R', 'E', 'P', 'A', 'R', 'E', 'D', '\020', '\266', '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'I', 'M', 'A', 'R', 
  'Y', '\020', '\267', '\004', '\022', '\n', '\n', '\005', 'P', 'R', 'I', 'O', 'R', '\020', '\270', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'I', 'V', 'I', 
  'L', 'E', 'G', 'E', 'S', '\020', '\271', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'A', 'L', '\020', '\272', '\004', 
  '\022', '\016', '\n', '\t', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'E', '\020', '\273', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'O', 'C', 'E', 
  'D', 'U', 'R', 'E', 'S', '\020', '\274', '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'O', 'G', 'R', 'A', 'M', '\020', '\275', '\004', '\022', '\020', '\n', 
  '\013', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\276', '\004', '\022', '\n', '\n', '\005', 'Q', 'U', 'O', 'T', 'E', '\020', 
  '\277', '\004', '\022', '\n', '\n', '\005', 'R', 'A', 'N', 'G', 'E', '\020', '\300', '\004', '\022', '\t', '\n', '\004', 'R', 'E', 'A', 'D', '\020', '\301', '\004', 
  '\022', '\t', '\n', '\004', 'R', 'E', 'A', 'L', '\020', '\302', '\004', '\022', '\r', '\n', '\010', 'R', 'E', 'A', 'S', 'S', 'I', 'G', 'N', '\020', '\303', 
  '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'C', 'H', 'E', 'C', 'K', '\020', '\304', '\004', '\022', '\016', '\n', '\t', 'R', 'E', 'C', 'U', 'R', 'S', 
  'I', 'V', 'E', '\020', '\305', '\004', '\022', '\010', '\n', '\003', 'R', 'E', 'F', '\020', '\306', '\004', '\022', '\017', '\n', '\n', 'R', 'E', 'F', 'E', 'R', 
  'E', 'N', 'C', 'E', 'S', '\020', '\307', '\004', '\022', '\020', '\n', '\013', 'R', 'E', 'F', 'E', 'R', 'E', 'N', 'C', 'I', 'N', 'G', '\020', '\310', 
  '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'F', 'R', 'E', 'S', 'H', '\020', '\311', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'I', 'N', 'D', 'E', 
  'X', '\020', '\312', '\004', '\022', '\017', '\n', '\n', 'R', 'E', 'L', 'A', 'T', 'I', 'V', 'E', '_', 'P', '\020', '\313', '\004', '\022', '\014', '\n', '\007', 
  'R', 'E', 'L', 'E', 'A', 'S', 'E', '\020', '\314', '\004', '\022', '\013', '\n', '\006', 'R', 'E', 'N', 'A', 'M', 'E', '\020', '\315', '\004', '\022', '\017', 
  '\n', '\n', 'R', 'E', 'P', 'E', 'A', 'T', 'A', 'B', 'L', 'E', '\020', '\316', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'P', 'L', 'A', 'C', 
  'E', '\020', '\317', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'P', 'L', 'I', 'C', 'A', '\020', '\320', '\004', '\022', '\n', '\n', '\005', 'R', 'E', 'S', 
  'E', 'T', '\020', '\321', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'S', 'T', 'A', 'R', 'T', '\020', '\322', '\004', '\022', '\r', '\n', '\010', 'R', 'E', 
  'S', 'T', 'R', 'I', 'C', 'T', '\020', '\323', '\004', '\022', '\016', '\n', '\t', 'R', 'E', 'T', 'U', 'R', 'N', 'I', 'N', 'G', '\020', '\324', '\004', 
  '\022', '\014', '\n', '\007', 'R', 'E', 'T', 'U', 'R', 'N', 'S', '\020', '\325', '\004', '\022', '\013', '\n', '\006', 'R', 'E', 'V', 'O', 'K', 'E', '\020', 
  '\326', '\004', '\022', '\n', '\n', '\005', 'R', 'I', 'G', 'H', 'T', '\020', '\327', '\004', '\022', '\t', '\n', '\004', 'R', 'O', 'L', 'E', '\020', '\330', '\004', 
  '\022', '\r', '\n', '\010', 'R', 'O', 'L', 'L', 'B', 'A', 'C', 'K', '\020', '\331', '\004', '\022', '\013', '\n', '\006', 'R', 'O', 'L', 'L', 'U', 'P', 
  '\020', '\332', '\004', '\022', '\014', '\n', '\007', 'R', 'O', 'U', 'T', 'I', 'N', 'E', '\020', '\333', '\004', '\022', '\r', '\n', '\010', 'R', 'O', 'U', 'T', 
  'I', 'N', 'E', 'S', '\020', '\334', '\004', '\022', '\010', '\n', '\003', 'R', 'O', 'W', '\020', '\335', '\004', '\022', '\t', '\n', '\004', 'R', 'O', 'W', 'S', 
  '\020', '\336', '\004', '\022', '\t', '\n', '\004', 'R', 'U', 'L', 'E', '\020', '\337', '\004', '\022', '\016', '\n', '\t', 'S', 'A', 'V', 'E', 'P', 'O', 'I', 
  'N', 'T', '\020', '\340', '\004', '\022', '\013', '\n', '\006', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\341', '\004', '\022', '\014', '\n', '\007', 'S', 'C', 'H', 
  'E', 'M', 'A', 'S', '\020', '\342', '\004', '\022', '\013', '\n', '\006', 'S', 'C', 'R', 'O', 'L', 'L', '\020', '\343', '\004', '\022', '\013', '\n', '\006', 'S', 
  'E', 'A', 'R', 'C', 'H', '\020', '\344', '\004', '\022', '\r', '\n', '\010', 'S', 'E', 'C', 'O', 'N', 'D', '_', 'P', '\020', '\345', '\004', '\022', '\r', 
  '\n', '\010', 'S', 'E', 'C', 'U', 'R', 'I', 'T', 'Y', '\020', '\346', '\004', '\022', '\013', '\n', '\006', 'S', 'E', 'L', 'E', 'C', 'T', '\020', '\347', 
  '\004', '\022', '\r', '\n', '\010', 'S', 'E', 'Q', 'U', 'E', 'N', 'C', 'E', '\020', '\350', '\004', '\022', '\016', '\n', '\t', 'S', 'E', 'Q', 'U', 'E', 
  'N', 'C', 'E', 'S', '\020', '\351', '\004', '\022', '\021', '\n', '\014', 'S', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'A', 'B', 'L', 'E', '\020', '\352', 
  '\004', '\022', '\013', '\n', '\006', 'S', 'E', 'R', 'V', 'E', 'R', '\020', '\353', '\004', '\022', '\014', '\n', '\007', 'S', 'E', 'S', 'S', 'I', 'O', 'N', 
  '\020', '\354', '\004', '\022', '\021', '\n', '\014', 'S', 'E', 'S', 'S', 'I', 'O', 'N', '_', 'U', 'S', 'E', 'R', '\020', '\355', '\004', '\022', '\010', '\n', 
  '\003', 'S', 'E', 'T', '\020', '\356', '\004', '\022', '\t', '\n', '\004', 'S', 'E', 'T', 'S', '\020', '\357', '\004', '\022', '\n', '\n', '\005', 'S', 'E', 'T', 
  'O', 'F', '\020', '\360', '\004', '\022', '\n', '\n', '\005', 'S', 'H', 'A', 'R', 'E', '\020', '\361', '\004', '\022', '\t', '\n', '\004', 'S', 'H', 'O', 'W', 
  '\020', '\362', '\004', '\022', '\014', '\n', '\007', 'S', 'I', 'M', 'I', 'L', 'A', 'R', '\020', '\363', '\004', '\022', '\013', '\n', '\006', 'S', 'I', 'M', 'P', 
  'L', 'E', '\020', '\364', '\004', '\022', '\t', '\n', '\004', 'S', 'K', 'I', 'P', '\020', '\365', '\004', '\022', '\r', '\n', '\010', 'S', 'M', 'A', 'L', 'L', 
  'I', 'N', 'T', '\020', '\366', '\004', '\022', '\r', '\n', '\010', 'S', 'N', 'A', 'P', 'S', 'H', 'O', 'T', '\020', '\367', '\004', '\022', '\t', '\n', '\004', 
  'S', 'O', 'M', 'E', '\020', '\370', '\004', '\022', '\n', '\n', '\005', 'S', 'Q', 'L', '_', 'P', '\020', '\371', '\004', '\022', '\013', '\n', '\006', 'S', 'T', 
  'A', 'B', 'L', 'E', '\020', '\372', '\004', '\022', '\021', '\n', '\014', 'S', 'T', 'A', 'N', 'D', 'A', 'L', 'O', 'N', 'E', '_', 'P', '\020', '\373', 
  '\004', '\022', '\n', '\n', '\005', 'S', 'T', 'A', 'R', 'T', '\020', '\374', '\004', '\022', '\016', '\n', '\t', 'S', 'T', 'A', 'T', 'E', 'M', 'E', 'N', 
  'T', '\020', '\375', '\004', '\022', '\017', '\n', '\n', 'S', 'T', 'A', 'T', 'I', 'S', 'T', 'I', 'C', 'S', '\020', '\376', '\004', '\022', '\n', '\n', '\005', 
  'S', 'T', 'D', 'I', 'N', '\020', '\377', '\004', '\022', '\013', '\n', '\006', 'S', 'T', 'D', 'O', 'U', 'T', '\020', '\200', '\005', '\022', '\014', '\n', '\007', 
  'S', 'T', 'O', 'R', 'A', 'G', 'E', '\020', '\201', '\005', '\022', '\013', '\n', '\006', 'S', 'T', 'O', 'R', 'E', 'D', '\020', '\202', '\005', '\022', '\r', 
  '\n', '\010', 'S', 'T', 'R', 'I', 'C', 'T', '_', 'P', '\020', '\203', '\005', '\022', '\014', '\n', '\007', 'S', 'T', 'R', 'I', 'P', '_', 'P', '\020', 
  '\204', '\005', '\022', '\021', '\n', '\014', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '\020', '\205', '\005', '\022', '\016', '\n', '\t', 
  'S', 'U', 'B', 'S', 'T', 'R', 'I', 'N', 'G', '\020', '\206', '\005', '\022', '\014', '\n', '\007', 'S', 'U', 'P', 'P', 'O', 'R', 'T', '\020', '\207', 
  '\005', '\022', '\016', '\n', '\t', 'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'I', 'C', '\020', '\210', '\005', '\022', '\n', '\n', '\005', 'S', 'Y', 'S', 'I', 
  'D', '\020', '\211', '\005', '\022', '\r', '\n', '\010', 'S', 'Y', 'S', 'T', 'E', 'M', '_', 'P', '\020', '\212', '\005', '\022', '\n', '\n', '\005', 'T', 'A', 
  'B', 'L', 'E', '\020', '\213', '\005', '\022', '\013', '\n', '\006', 'T', 'A', 'B', 'L', 'E', 'S', '\020', '\214', '\005', '\022', '\020', '\n', '\013', 'T', 'A', 
  'B', 'L', 'E', 'S', 'A', 'M', 'P', 'L', 'E', '\020', '\215', '\005', '\022', '\017', '\n', '\n', 'T', 'A', 'B', 'L', 'E', 'S', 'P', 'A', 'C', 
  'E', '\020', '\216', '\005', '\022', '\t', '\n', '\004', 'T', 'E', 'M', 'P', '\020', '\217', '\005', '\022', '\r', '\n', '\010', 'T', 'E', 'M', 'P', 'L', 'A', 
  'T', 'E', '\020', '\220', '\005', '\022', '\016', '\n', '\t', 'T', 'E', 'M', 'P', 'O', 'R', 'A', 'R', 'Y', '\020', '\221', '\005', '\022', '\013', '\n', '\006', 
  'T', 'E', 'X', 'T', '_', 'P', '\020', '\222', '\005', '\022', '\t', '\n', '\004', 'T', 'H', 'E', 'N', '\020', '\223', '\005', '\022', '\t', '\n', '\004', 'T', 
  'I', 'E', 'S', '\020', '\224', '\005', '\022', '\t', '\n', '\004', 'T', 'I', 'M', 'E', '\020', '\225', '\005', '\022', '\016', '\n', '\t', 'T', 'I', 'M', 'E', 
  'S', 'T', 'A', 'M', 'P', '\020', '\226', '\005', '\022', '\007', '\n', '\002', 'T', 'O', '\020', '\227', '\005', '\022', '\r', '\n', '\010', 'T', 'R', 'A', 'I', 
  'L', 'I', 'N', 'G', '\020', '\230', '\005', '\022', '\020', '\n', '\013', 'T', 'R', 'A', 'N', 'S', 'A', 'C', 'T', 'I', 'O', 'N', '\020', '\231', '\005', 
  '\022', '\016', '\n', '\t', 'T', 'R', 'A', 'N', 'S', 'F', 'O', 'R', 'M', '\020', '\232', '\005', '\022', '\n', '\n', '\005', 'T', 'R', 'E', 'A', 'T', 
  '\020', '\233', '\005', '\022', '\014', '\n', '\007', 'T', 'R', 'I', 'G', 'G', 'E', 'R', '\020', '\234', '\005', '\022', '\t', '\n', '\004', 'T', 'R', 'I', 'M', 
  '\020', '\235', '\005', '\022', '\013', '\n', '\006', 'T', 'R', 'U', 'E', '_', 'P', '\020', '\236', '\005', '\022', '\r', '\n', '\010', 'T', 'R', 'U', 'N', 'C', 
  'A', 'T', 'E', '\020', '\237', '\005', '\022', '\014', '\n', '\007', 'T', 'R', 'U', 'S', 'T', 'E', 'D', '\020', '\240', '\005', '\022', '\013', '\n', '\006', 'T', 
  'Y', 'P', 'E', '_', 'P', '\020', '\241', '\005', '\022', '\014', '\n', '\007', 'T', 'Y', 'P', 'E', 'S', '_', 'P', '\020', '\242', '\005', '\022', '\014', '\n', 
  '\007', 'U', 'E', 'S', 'C', 'A', 'P', 'E', '\020', '\243', '\005', '\022', '\016', '\n', '\t', 'U', 'N', 'B', 'O', 'U', 'N', 'D', 'E', 'D', '\020', 
  '\244', '\005', '\022', '\020', '\n', '\013', 'U', 'N', 'C', 'O', 'M', 'M', 'I', 'T', 'T', 'E', 'D', '\020', '\245', '\005', '\022', '\020', '\n', '\013', 'U', 
  'N', 'E', 'N', 'C', 'R', 'Y', 'P', 'T', 'E', 'D', '\020', '\246', '\005', '\022', '\n', '\n', '\005', 'U', 'N', 'I', 'O', 'N', '\020', '\247', '\005', 
  '\022', '\013', '\n', '\006', 'U', 'N', 'I', 'Q', 'U', 'E', '\020', '\250', '\005', '\022', '\014', '\n', '\007', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', 
  '\251', '\005', '\022', '\r', '\n', '\010', 'U', 'N', 'L', 'I', 'S', 'T', 'E', 'N', '\020', '\252', '\005', '\022', '\r', '\n', '\010', 'U', 'N', 'L', 'O', 
  'G', 'G', 'E', 'D', '\020', '\253', '\005', '\022', '\n', '\n', '\005', 'U', 'N', 'T', 'I', 'L', '\020', '\254', '\005', '\022', '\013', '\n', '\006', 'U', 'P', 
  'D', 'A', 'T', 'E', '\020', '\255', '\005', '\022', '\t', '\n', '\004', 'U', 'S', 'E', 'R', '\020', '\256', '\005', '\022', '\n', '\n', '\005', 'U', 'S', 'I', 
  'N', 'G', '\020', '\257', '\005', '\022', '\013', '\n', '\006', 'V', 'A', 'C', 'U', 'U', 'M', '\020', '\260', '\005', '\022', '\n', '\n', '\005', 'V', 'A', 'L', 
  'I', 'D', '\020', '\261', '\005', '\022', '\r', '\n', '\010', 'V', 'A', 'L', 'I', 'D', 'A', 'T', 'E', '\020', '\262', '\005', '\022', '\016', '\n', '\t', 'V', 
  'A', 'L', 'I', 'D', 'A', 'T', 'O', 'R', '\020', '\263', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'L', 'U', 'E', '_', 'P', '\020', '\264', '\005', 
  '\022', '\013', '\n', '\006', 'V', 'A', 'L', 'U', 'E', 'S', '\020', '\265', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'R', 'C', 'H', 'A', 'R', '\020', 
  '\266', '\005', '\022', '\r', '\n', '\010', 'V', 'A', 'R', 'I', 'A', 'D', 'I', 'C', '\020', '\267', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'R', 'Y', 
  'I', 'N', 'G', '\020', '\270', '\005', '\022', '\014', '\n', '\007', 'V', 'E', 'R', 'B', 'O', 'S', 'E', '\020', '\271', '\005', '\022', '\016', '\n', '\t', 'V', 
  'E', 'R', 'S', 'I', 'O', 'N', '_', 'P', '\020', '\272', '\005', '\022', '\t', '\n', '\004', 'V', 'I', 'E', 'W', '\020', '\273', '\005', '\022', '\n', '\n', 
  '\005', 'V', 'I', 'E', 'W', 'S', '\020', '\274', '\005', '\022', '\r', '\n', '\010', 'V', 'O', 'L', 'A', 'T', 'I', 'L', 'E', '\020', '\275', '\005', '\022', 
  '\t', '\n', '\004', 'W', 'H', 'E', 'N', '\020', '\276', '\005', '\022', '\n', '\n', '\005', 'W', 'H', 'E', 'R', 'E', '\020', '\277', '\005', '\022', '\021', '\n', 
  '\014', 'W', 'H', 'I', 'T', 'E', 'S', 'P', 'A', 'C', 'E', '_', 'P', '\020', '\300', '\005', '\022', '\013', '\n', '\006', 'W', 'I', 'N', 'D', 'O', 
  'W', '\020', '\301', '\005', '\022', '\t', '\n', '\004', 'W', 'I', 'T', 'H', '\020', '\302', '\005', '\022', '\013', '\n', '\006', 'W', 'I', 'T', 'H', 'I', 'N', 
  '\020', '\303', '\005', '\022', '\014', '\n', '\007', 'W', 'I', 'T', 'H', 'O', 'U', 'T', '\020', '\304', '\005', '\022', '\t', '\n', '\004', 'W', 'O', 'R', 'K', 
  '\020', '\305', '\005', '\022', '\014', '\n', '\007', 'W', 'R', 'A', 'P', 'P', 'E', 'R', '\020', '\306', '\005', '\022', '\n', '\n', '\005', 'W', 'R', 'I', 'T', 
  'E', '\020', '\307', '\005', '\022', '\n', '\n', '\005', 'X', 'M', 'L', '_', 'P', '\020', '\310', '\005', '\022', '\022', '\n', '\r', 'X', 'M', 'L', 'A', 'T', 
  'T', 'R', 'I', 'B', 'U', 'T', 'E', 'S', '\020', '\311', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 'L', 'C', 'O', 'N', 'C', 'A', 'T', '\020', 
  '\312', '\005', '\022', '\017', '\n', '\n', 'X', 'M', 'L', 'E', 'L', 'E', 'M', 'E', 'N', 'T', '\020', '\313', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 
  'L', 'E', 'X', 'I', 'S', 'T', 'S', '\020', '\314', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 'L', 'F', 'O', 'R', 'E', 'S', 'T', '\020', '\315', 
  '\005', '\022', '\022', '\n', '\r', 'X', 'M', 'L', 'N', 'A', 'M', 'E', 'S', 'P', 'A', 'C', 'E', 'S', '\020', '\316', '\005', '\022', '\r', '\n', '\010', 
  'X', 'M', 'L', 'P', 'A', 'R', 'S', 'E', '\020', '\317', '\005', '\022', '\n', '\n', '\005', 'X', 'M', 'L', 'P', 'I', '\020', '\320', '\005', '\022', '\014', 
  '\n', '\007', 'X', 'M', 'L', 'R', 'O', 'O', 'T', '\020', '\321', '\005', '\022', '\021', '\n', '\014', 'X', 'M', 'L', 'S', 'E', 'R', 'I', 'A', 'L', 
  'I', 'Z', 'E', '\020', '\322', '\005', '\022', '\r', '\n', '\010', 'X', 'M', 'L', 'T', 'A', 'B', 'L', 'E', '\020', '\323', '\005', '\022', '\013', '\n', '\006', 
  'Y', 'E', 'A', 'R', '_', 'P', '\020', '\324', '\005', '\022', '\n', '\n', '\005', 'Y', 'E', 'S', '_', 'P', '\020', '\325', '\005', '\022', '\t', '\n', '\004', 
  'Z', 'O', 'N', 'E', '\020', '\326', '\005', '\022', '\013', '\n', '\006', 'N', 'O', 'T', '_', 'L', 'A', '\020', '\327', '\005', '\022', '\r', '\n', '\010', 'N', 
  'U', 'L', 'L', 'S', '_', 'L', 'A', '\020', '\330', '\005', '\022', '\014', '\n', '\007', 'W', 'I', 'T', 'H', '_', 'L', 'A', '\020', '\331', '\005', '\022', 
  '\016', '\n', '\t', 'P', 'O', 'S', 'T', 'F', 'I', 'X', 'O', 'P', '\020', '\332', '\005', '\022', '\013', '\n', '\006', 'U', 'M', 'I', 'N', 'U', 'S', 
  '\020', '\333', '\005', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3', 
  '\0' };
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_protobuf_2fpg_5fquery_2eproto_deps[1] = {
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_protobuf_2fpg_5fquery_2eproto_sccs[35] = {
  &scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_A_Star_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_BitString_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_Bitmapset_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_CallContext_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_CheckPointStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_DiscardStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_Expr_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_Float_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_Integer_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_Null_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_ParamRef_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_ParseResult_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_RangeTblRef_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_RowMarkClause_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_ScanResult_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_ScanToken_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_SortGroupClause_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_String_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto.base,
  &scc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_protobuf_2fpg_5fquery_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protobuf_2fpg_5fquery_2eproto = {
  false, false, descriptor_table_protodef_protobuf_2fpg_5fquery_2eproto, "protobuf/pg_query.proto", 82111,
  &descriptor_table_protobuf_2fpg_5fquery_2eproto_once, descriptor_table_protobuf_2fpg_5fquery_2eproto_sccs, descriptor_table_protobuf_2fpg_5fquery_2eproto_deps, 35, 0,
  schemas, file_default_instances, TableStruct_protobuf_2fpg_5fquery_2eproto::offsets,
  file_level_metadata_protobuf_2fpg_5fquery_2eproto, 233, file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto, file_level_service_descriptors_protobuf_2fpg_5fquery_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_protobuf_2fpg_5fquery_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto)), true);
namespace pg_query {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OverridingKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[0];
}
bool OverridingKind_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* QuerySource_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[1];
}
bool QuerySource_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SortByDir_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[2];
}
bool SortByDir_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SortByNulls_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[3];
}
bool SortByNulls_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

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

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoleSpecType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[5];
}
bool RoleSpecType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TableLikeOption_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[6];
}
bool TableLikeOption_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:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DefElemAction_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[7];
}
bool DefElemAction_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PartitionRangeDatumKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[8];
}
bool PartitionRangeDatumKind_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RTEKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[9];
}
bool RTEKind_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:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* WCOKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[10];
}
bool WCOKind_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GroupingSetKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[11];
}
bool GroupingSetKind_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CTEMaterialize_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[12];
}
bool CTEMaterialize_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SetOperation_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[13];
}
bool SetOperation_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ObjectType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[14];
}
bool ObjectType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
    case 25:
    case 26:
    case 27:
    case 28:
    case 29:
    case 30:
    case 31:
    case 32:
    case 33:
    case 34:
    case 35:
    case 36:
    case 37:
    case 38:
    case 39:
    case 40:
    case 41:
    case 42:
    case 43:
    case 44:
    case 45:
    case 46:
    case 47:
    case 48:
    case 49:
    case 50:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DropBehavior_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[15];
}
bool DropBehavior_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AlterTableType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[16];
}
bool AlterTableType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
    case 25:
    case 26:
    case 27:
    case 28:
    case 29:
    case 30:
    case 31:
    case 32:
    case 33:
    case 34:
    case 35:
    case 36:
    case 37:
    case 38:
    case 39:
    case 40:
    case 41:
    case 42:
    case 43:
    case 44:
    case 45:
    case 46:
    case 47:
    case 48:
    case 49:
    case 50:
    case 51:
    case 52:
    case 53:
    case 54:
    case 55:
    case 56:
    case 57:
    case 58:
    case 59:
    case 60:
    case 61:
    case 62:
    case 63:
    case 64:
    case 65:
    case 66:
    case 67:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GrantTargetType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[17];
}
bool GrantTargetType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* VariableSetKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[18];
}
bool VariableSetKind_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ConstrType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[19];
}
bool ConstrType_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* ImportForeignSchemaType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[20];
}
bool ImportForeignSchemaType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoleStmtType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[21];
}
bool RoleStmtType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FetchDirection_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[22];
}
bool FetchDirection_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FunctionParameterMode_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[23];
}
bool FunctionParameterMode_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TransactionStmtKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[24];
}
bool TransactionStmtKind_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:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ViewCheckOption_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[25];
}
bool ViewCheckOption_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ClusterOption_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[26];
}
bool ClusterOption_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DiscardMode_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[27];
}
bool DiscardMode_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ReindexObjectType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[28];
}
bool ReindexObjectType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AlterTSConfigType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[29];
}
bool AlterTSConfigType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AlterSubscriptionType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[30];
}
bool AlterSubscriptionType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OnCommitAction_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[31];
}
bool OnCommitAction_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ParamKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[32];
}
bool ParamKind_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CoercionContext_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[33];
}
bool CoercionContext_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CoercionForm_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[34];
}
bool CoercionForm_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BoolExprType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[35];
}
bool BoolExprType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SubLinkType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[36];
}
bool SubLinkType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RowCompareType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[37];
}
bool RowCompareType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MinMaxOp_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[38];
}
bool MinMaxOp_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

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

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* XmlExprOp_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[40];
}
bool XmlExprOp_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* XmlOptionType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[41];
}
bool XmlOptionType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* NullTestType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[42];
}
bool NullTestType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BoolTestType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[43];
}
bool BoolTestType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CmdType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[44];
}
bool CmdType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* JoinType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[45];
}
bool JoinType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AggStrategy_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[46];
}
bool AggStrategy_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AggSplit_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[47];
}
bool AggSplit_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SetOpCmd_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[48];
}
bool SetOpCmd_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SetOpStrategy_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[49];
}
bool SetOpStrategy_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OnConflictAction_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[50];
}
bool OnConflictAction_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LimitOption_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[51];
}
bool LimitOption_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LockClauseStrength_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[52];
}
bool LockClauseStrength_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LockWaitPolicy_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[53];
}
bool LockWaitPolicy_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LockTupleMode_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[54];
}
bool LockTupleMode_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* KeywordKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[55];
}
bool KeywordKind_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Token_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[56];
}
bool Token_IsValid(int value) {
  switch (value) {
    case 0:
    case 37:
    case 40:
    case 41:
    case 42:
    case 43:
    case 44:
    case 45:
    case 46:
    case 47:
    case 58:
    case 59:
    case 60:
    case 61:
    case 62:
    case 63:
    case 91:
    case 93:
    case 94:
    case 258:
    case 259:
    case 260:
    case 261:
    case 262:
    case 263:
    case 264:
    case 265:
    case 266:
    case 267:
    case 268:
    case 269:
    case 270:
    case 271:
    case 272:
    case 273:
    case 274:
    case 275:
    case 276:
    case 277:
    case 278:
    case 279:
    case 280:
    case 281:
    case 282:
    case 283:
    case 284:
    case 285:
    case 286:
    case 287:
    case 288:
    case 289:
    case 290:
    case 291:
    case 292:
    case 293:
    case 294:
    case 295:
    case 296:
    case 297:
    case 298:
    case 299:
    case 300:
    case 301:
    case 302:
    case 303:
    case 304:
    case 305:
    case 306:
    case 307:
    case 308:
    case 309:
    case 310:
    case 311:
    case 312:
    case 313:
    case 314:
    case 315:
    case 316:
    case 317:
    case 318:
    case 319:
    case 320:
    case 321:
    case 322:
    case 323:
    case 324:
    case 325:
    case 326:
    case 327:
    case 328:
    case 329:
    case 330:
    case 331:
    case 332:
    case 333:
    case 334:
    case 335:
    case 336:
    case 337:
    case 338:
    case 339:
    case 340:
    case 341:
    case 342:
    case 343:
    case 344:
    case 345:
    case 346:
    case 347:
    case 348:
    case 349:
    case 350:
    case 351:
    case 352:
    case 353:
    case 354:
    case 355:
    case 356:
    case 357:
    case 358:
    case 359:
    case 360:
    case 361:
    case 362:
    case 363:
    case 364:
    case 365:
    case 366:
    case 367:
    case 368:
    case 369:
    case 370:
    case 371:
    case 372:
    case 373:
    case 374:
    case 375:
    case 376:
    case 377:
    case 378:
    case 379:
    case 380:
    case 381:
    case 382:
    case 383:
    case 384:
    case 385:
    case 386:
    case 387:
    case 388:
    case 389:
    case 390:
    case 391:
    case 392:
    case 393:
    case 394:
    case 395:
    case 396:
    case 397:
    case 398:
    case 399:
    case 400:
    case 401:
    case 402:
    case 403:
    case 404:
    case 405:
    case 406:
    case 407:
    case 408:
    case 409:
    case 410:
    case 411:
    case 412:
    case 413:
    case 414:
    case 415:
    case 416:
    case 417:
    case 418:
    case 419:
    case 420:
    case 421:
    case 422:
    case 423:
    case 424:
    case 425:
    case 426:
    case 427:
    case 428:
    case 429:
    case 430:
    case 431:
    case 432:
    case 433:
    case 434:
    case 435:
    case 436:
    case 437:
    case 438:
    case 439:
    case 440:
    case 441:
    case 442:
    case 443:
    case 444:
    case 445:
    case 446:
    case 447:
    case 448:
    case 449:
    case 450:
    case 451:
    case 452:
    case 453:
    case 454:
    case 455:
    case 456:
    case 457:
    case 458:
    case 459:
    case 460:
    case 461:
    case 462:
    case 463:
    case 464:
    case 465:
    case 466:
    case 467:
    case 468:
    case 469:
    case 470:
    case 471:
    case 472:
    case 473:
    case 474:
    case 475:
    case 476:
    case 477:
    case 478:
    case 479:
    case 480:
    case 481:
    case 482:
    case 483:
    case 484:
    case 485:
    case 486:
    case 487:
    case 488:
    case 489:
    case 490:
    case 491:
    case 492:
    case 493:
    case 494:
    case 495:
    case 496:
    case 497:
    case 498:
    case 499:
    case 500:
    case 501:
    case 502:
    case 503:
    case 504:
    case 505:
    case 506:
    case 507:
    case 508:
    case 509:
    case 510:
    case 511:
    case 512:
    case 513:
    case 514:
    case 515:
    case 516:
    case 517:
    case 518:
    case 519:
    case 520:
    case 521:
    case 522:
    case 523:
    case 524:
    case 525:
    case 526:
    case 527:
    case 528:
    case 529:
    case 530:
    case 531:
    case 532:
    case 533:
    case 534:
    case 535:
    case 536:
    case 537:
    case 538:
    case 539:
    case 540:
    case 541:
    case 542:
    case 543:
    case 544:
    case 545:
    case 546:
    case 547:
    case 548:
    case 549:
    case 550:
    case 551:
    case 552:
    case 553:
    case 554:
    case 555:
    case 556:
    case 557:
    case 558:
    case 559:
    case 560:
    case 561:
    case 562:
    case 563:
    case 564:
    case 565:
    case 566:
    case 567:
    case 568:
    case 569:
    case 570:
    case 571:
    case 572:
    case 573:
    case 574:
    case 575:
    case 576:
    case 577:
    case 578:
    case 579:
    case 580:
    case 581:
    case 582:
    case 583:
    case 584:
    case 585:
    case 586:
    case 587:
    case 588:
    case 589:
    case 590:
    case 591:
    case 592:
    case 593:
    case 594:
    case 595:
    case 596:
    case 597:
    case 598:
    case 599:
    case 600:
    case 601:
    case 602:
    case 603:
    case 604:
    case 605:
    case 606:
    case 607:
    case 608:
    case 609:
    case 610:
    case 611:
    case 612:
    case 613:
    case 614:
    case 615:
    case 616:
    case 617:
    case 618:
    case 619:
    case 620:
    case 621:
    case 622:
    case 623:
    case 624:
    case 625:
    case 626:
    case 627:
    case 628:
    case 629:
    case 630:
    case 631:
    case 632:
    case 633:
    case 634:
    case 635:
    case 636:
    case 637:
    case 638:
    case 639:
    case 640:
    case 641:
    case 642:
    case 643:
    case 644:
    case 645:
    case 646:
    case 647:
    case 648:
    case 649:
    case 650:
    case 651:
    case 652:
    case 653:
    case 654:
    case 655:
    case 656:
    case 657:
    case 658:
    case 659:
    case 660:
    case 661:
    case 662:
    case 663:
    case 664:
    case 665:
    case 666:
    case 667:
    case 668:
    case 669:
    case 670:
    case 671:
    case 672:
    case 673:
    case 674:
    case 675:
    case 676:
    case 677:
    case 678:
    case 679:
    case 680:
    case 681:
    case 682:
    case 683:
    case 684:
    case 685:
    case 686:
    case 687:
    case 688:
    case 689:
    case 690:
    case 691:
    case 692:
    case 693:
    case 694:
    case 695:
    case 696:
    case 697:
    case 698:
    case 699:
    case 700:
    case 701:
    case 702:
    case 703:
    case 704:
    case 705:
    case 706:
    case 707:
    case 708:
    case 709:
    case 710:
    case 711:
    case 712:
    case 713:
    case 714:
    case 715:
    case 716:
    case 717:
    case 718:
    case 719:
    case 720:
    case 721:
    case 722:
    case 723:
    case 724:
    case 725:
    case 726:
    case 727:
    case 728:
    case 729:
    case 730:
    case 731:
      return true;
    default:
      return false;
  }
}


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

class ParseResult::_Internal {
 public:
};

ParseResult::ParseResult(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  stmts_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ParseResult)
}
ParseResult::ParseResult(const ParseResult& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      stmts_(from.stmts_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  version_ = from.version_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ParseResult)
}

void ParseResult::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ParseResult_protobuf_2fpg_5fquery_2eproto.base);
  version_ = 0;
}

ParseResult::~ParseResult() {
  // @@protoc_insertion_point(destructor:pg_query.ParseResult)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void ParseResult::ArenaDtor(void* object) {
  ParseResult* _this = reinterpret_cast< ParseResult* >(object);
  (void)_this;
}
void ParseResult::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ParseResult::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ParseResult& ParseResult::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ParseResult_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  stmts_.Clear();
  version_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ParseResult::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.RawStmt stmts = 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_stmts(), 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 & 7) == 4 || tag == 0) {
          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* ParseResult::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ParseResult)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 version = 1;
  if (this->version() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_version(), target);
  }

  // repeated .pg_query.RawStmt stmts = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_stmts_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_stmts(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:pg_query.ParseResult)
  return target;
}

size_t ParseResult::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ParseResult)
  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 .pg_query.RawStmt stmts = 2;
  total_size += 1UL * this->_internal_stmts_size();
  for (const auto& msg : this->stmts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 version = 1;
  if (this->version() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_version());
  }

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

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

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

  stmts_.MergeFrom(from.stmts_);
  if (from.version() != 0) {
    _internal_set_version(from._internal_version());
  }
}

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

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

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

void ParseResult::InternalSwap(ParseResult* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  stmts_.InternalSwap(&other->stmts_);
  swap(version_, other->version_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ParseResult::GetMetadata() const {
  return GetMetadataStatic();
}


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

class ScanResult::_Internal {
 public:
};

ScanResult::ScanResult(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  tokens_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScanResult)
}
ScanResult::ScanResult(const ScanResult& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      tokens_(from.tokens_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  version_ = from.version_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ScanResult)
}

void ScanResult::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ScanResult_protobuf_2fpg_5fquery_2eproto.base);
  version_ = 0;
}

ScanResult::~ScanResult() {
  // @@protoc_insertion_point(destructor:pg_query.ScanResult)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void ScanResult::ArenaDtor(void* object) {
  ScanResult* _this = reinterpret_cast< ScanResult* >(object);
  (void)_this;
}
void ScanResult::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ScanResult::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ScanResult& ScanResult::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ScanResult_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  tokens_.Clear();
  version_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ScanResult::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.ScanToken tokens = 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_tokens(), 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 & 7) == 4 || tag == 0) {
          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* ScanResult::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ScanResult)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 version = 1;
  if (this->version() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_version(), target);
  }

  // repeated .pg_query.ScanToken tokens = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_tokens_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_tokens(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:pg_query.ScanResult)
  return target;
}

size_t ScanResult::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ScanResult)
  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 .pg_query.ScanToken tokens = 2;
  total_size += 1UL * this->_internal_tokens_size();
  for (const auto& msg : this->tokens_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 version = 1;
  if (this->version() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_version());
  }

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

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

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

  tokens_.MergeFrom(from.tokens_);
  if (from.version() != 0) {
    _internal_set_version(from._internal_version());
  }
}

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

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

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

void ScanResult::InternalSwap(ScanResult* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  tokens_.InternalSwap(&other->tokens_);
  swap(version_, other->version_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ScanResult::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Node::_Internal {
 public:
  static const ::pg_query::Alias& alias(const Node* msg);
  static const ::pg_query::RangeVar& range_var(const Node* msg);
  static const ::pg_query::TableFunc& table_func(const Node* msg);
  static const ::pg_query::Expr& expr(const Node* msg);
  static const ::pg_query::Var& var(const Node* msg);
  static const ::pg_query::Param& param(const Node* msg);
  static const ::pg_query::Aggref& aggref(const Node* msg);
  static const ::pg_query::GroupingFunc& grouping_func(const Node* msg);
  static const ::pg_query::WindowFunc& window_func(const Node* msg);
  static const ::pg_query::SubscriptingRef& subscripting_ref(const Node* msg);
  static const ::pg_query::FuncExpr& func_expr(const Node* msg);
  static const ::pg_query::NamedArgExpr& named_arg_expr(const Node* msg);
  static const ::pg_query::OpExpr& op_expr(const Node* msg);
  static const ::pg_query::DistinctExpr& distinct_expr(const Node* msg);
  static const ::pg_query::NullIfExpr& null_if_expr(const Node* msg);
  static const ::pg_query::ScalarArrayOpExpr& scalar_array_op_expr(const Node* msg);
  static const ::pg_query::BoolExpr& bool_expr(const Node* msg);
  static const ::pg_query::SubLink& sub_link(const Node* msg);
  static const ::pg_query::SubPlan& sub_plan(const Node* msg);
  static const ::pg_query::AlternativeSubPlan& alternative_sub_plan(const Node* msg);
  static const ::pg_query::FieldSelect& field_select(const Node* msg);
  static const ::pg_query::FieldStore& field_store(const Node* msg);
  static const ::pg_query::RelabelType& relabel_type(const Node* msg);
  static const ::pg_query::CoerceViaIO& coerce_via_io(const Node* msg);
  static const ::pg_query::ArrayCoerceExpr& array_coerce_expr(const Node* msg);
  static const ::pg_query::ConvertRowtypeExpr& convert_rowtype_expr(const Node* msg);
  static const ::pg_query::CollateExpr& collate_expr(const Node* msg);
  static const ::pg_query::CaseExpr& case_expr(const Node* msg);
  static const ::pg_query::CaseWhen& case_when(const Node* msg);
  static const ::pg_query::CaseTestExpr& case_test_expr(const Node* msg);
  static const ::pg_query::ArrayExpr& array_expr(const Node* msg);
  static const ::pg_query::RowExpr& row_expr(const Node* msg);
  static const ::pg_query::RowCompareExpr& row_compare_expr(const Node* msg);
  static const ::pg_query::CoalesceExpr& coalesce_expr(const Node* msg);
  static const ::pg_query::MinMaxExpr& min_max_expr(const Node* msg);
  static const ::pg_query::SQLValueFunction& sqlvalue_function(const Node* msg);
  static const ::pg_query::XmlExpr& xml_expr(const Node* msg);
  static const ::pg_query::NullTest& null_test(const Node* msg);
  static const ::pg_query::BooleanTest& boolean_test(const Node* msg);
  static const ::pg_query::CoerceToDomain& coerce_to_domain(const Node* msg);
  static const ::pg_query::CoerceToDomainValue& coerce_to_domain_value(const Node* msg);
  static const ::pg_query::SetToDefault& set_to_default(const Node* msg);
  static const ::pg_query::CurrentOfExpr& current_of_expr(const Node* msg);
  static const ::pg_query::NextValueExpr& next_value_expr(const Node* msg);
  static const ::pg_query::InferenceElem& inference_elem(const Node* msg);
  static const ::pg_query::TargetEntry& target_entry(const Node* msg);
  static const ::pg_query::RangeTblRef& range_tbl_ref(const Node* msg);
  static const ::pg_query::JoinExpr& join_expr(const Node* msg);
  static const ::pg_query::FromExpr& from_expr(const Node* msg);
  static const ::pg_query::OnConflictExpr& on_conflict_expr(const Node* msg);
  static const ::pg_query::IntoClause& into_clause(const Node* msg);
  static const ::pg_query::RawStmt& raw_stmt(const Node* msg);
  static const ::pg_query::Query& query(const Node* msg);
  static const ::pg_query::InsertStmt& insert_stmt(const Node* msg);
  static const ::pg_query::DeleteStmt& delete_stmt(const Node* msg);
  static const ::pg_query::UpdateStmt& update_stmt(const Node* msg);
  static const ::pg_query::SelectStmt& select_stmt(const Node* msg);
  static const ::pg_query::AlterTableStmt& alter_table_stmt(const Node* msg);
  static const ::pg_query::AlterTableCmd& alter_table_cmd(const Node* msg);
  static const ::pg_query::AlterDomainStmt& alter_domain_stmt(const Node* msg);
  static const ::pg_query::SetOperationStmt& set_operation_stmt(const Node* msg);
  static const ::pg_query::GrantStmt& grant_stmt(const Node* msg);
  static const ::pg_query::GrantRoleStmt& grant_role_stmt(const Node* msg);
  static const ::pg_query::AlterDefaultPrivilegesStmt& alter_default_privileges_stmt(const Node* msg);
  static const ::pg_query::ClosePortalStmt& close_portal_stmt(const Node* msg);
  static const ::pg_query::ClusterStmt& cluster_stmt(const Node* msg);
  static const ::pg_query::CopyStmt& copy_stmt(const Node* msg);
  static const ::pg_query::CreateStmt& create_stmt(const Node* msg);
  static const ::pg_query::DefineStmt& define_stmt(const Node* msg);
  static const ::pg_query::DropStmt& drop_stmt(const Node* msg);
  static const ::pg_query::TruncateStmt& truncate_stmt(const Node* msg);
  static const ::pg_query::CommentStmt& comment_stmt(const Node* msg);
  static const ::pg_query::FetchStmt& fetch_stmt(const Node* msg);
  static const ::pg_query::IndexStmt& index_stmt(const Node* msg);
  static const ::pg_query::CreateFunctionStmt& create_function_stmt(const Node* msg);
  static const ::pg_query::AlterFunctionStmt& alter_function_stmt(const Node* msg);
  static const ::pg_query::DoStmt& do_stmt(const Node* msg);
  static const ::pg_query::RenameStmt& rename_stmt(const Node* msg);
  static const ::pg_query::RuleStmt& rule_stmt(const Node* msg);
  static const ::pg_query::NotifyStmt& notify_stmt(const Node* msg);
  static const ::pg_query::ListenStmt& listen_stmt(const Node* msg);
  static const ::pg_query::UnlistenStmt& unlisten_stmt(const Node* msg);
  static const ::pg_query::TransactionStmt& transaction_stmt(const Node* msg);
  static const ::pg_query::ViewStmt& view_stmt(const Node* msg);
  static const ::pg_query::LoadStmt& load_stmt(const Node* msg);
  static const ::pg_query::CreateDomainStmt& create_domain_stmt(const Node* msg);
  static const ::pg_query::CreatedbStmt& createdb_stmt(const Node* msg);
  static const ::pg_query::DropdbStmt& dropdb_stmt(const Node* msg);
  static const ::pg_query::VacuumStmt& vacuum_stmt(const Node* msg);
  static const ::pg_query::ExplainStmt& explain_stmt(const Node* msg);
  static const ::pg_query::CreateTableAsStmt& create_table_as_stmt(const Node* msg);
  static const ::pg_query::CreateSeqStmt& create_seq_stmt(const Node* msg);
  static const ::pg_query::AlterSeqStmt& alter_seq_stmt(const Node* msg);
  static const ::pg_query::VariableSetStmt& variable_set_stmt(const Node* msg);
  static const ::pg_query::VariableShowStmt& variable_show_stmt(const Node* msg);
  static const ::pg_query::DiscardStmt& discard_stmt(const Node* msg);
  static const ::pg_query::CreateTrigStmt& create_trig_stmt(const Node* msg);
  static const ::pg_query::CreatePLangStmt& create_plang_stmt(const Node* msg);
  static const ::pg_query::CreateRoleStmt& create_role_stmt(const Node* msg);
  static const ::pg_query::AlterRoleStmt& alter_role_stmt(const Node* msg);
  static const ::pg_query::DropRoleStmt& drop_role_stmt(const Node* msg);
  static const ::pg_query::LockStmt& lock_stmt(const Node* msg);
  static const ::pg_query::ConstraintsSetStmt& constraints_set_stmt(const Node* msg);
  static const ::pg_query::ReindexStmt& reindex_stmt(const Node* msg);
  static const ::pg_query::CheckPointStmt& check_point_stmt(const Node* msg);
  static const ::pg_query::CreateSchemaStmt& create_schema_stmt(const Node* msg);
  static const ::pg_query::AlterDatabaseStmt& alter_database_stmt(const Node* msg);
  static const ::pg_query::AlterDatabaseSetStmt& alter_database_set_stmt(const Node* msg);
  static const ::pg_query::AlterRoleSetStmt& alter_role_set_stmt(const Node* msg);
  static const ::pg_query::CreateConversionStmt& create_conversion_stmt(const Node* msg);
  static const ::pg_query::CreateCastStmt& create_cast_stmt(const Node* msg);
  static const ::pg_query::CreateOpClassStmt& create_op_class_stmt(const Node* msg);
  static const ::pg_query::CreateOpFamilyStmt& create_op_family_stmt(const Node* msg);
  static const ::pg_query::AlterOpFamilyStmt& alter_op_family_stmt(const Node* msg);
  static const ::pg_query::PrepareStmt& prepare_stmt(const Node* msg);
  static const ::pg_query::ExecuteStmt& execute_stmt(const Node* msg);
  static const ::pg_query::DeallocateStmt& deallocate_stmt(const Node* msg);
  static const ::pg_query::DeclareCursorStmt& declare_cursor_stmt(const Node* msg);
  static const ::pg_query::CreateTableSpaceStmt& create_table_space_stmt(const Node* msg);
  static const ::pg_query::DropTableSpaceStmt& drop_table_space_stmt(const Node* msg);
  static const ::pg_query::AlterObjectDependsStmt& alter_object_depends_stmt(const Node* msg);
  static const ::pg_query::AlterObjectSchemaStmt& alter_object_schema_stmt(const Node* msg);
  static const ::pg_query::AlterOwnerStmt& alter_owner_stmt(const Node* msg);
  static const ::pg_query::AlterOperatorStmt& alter_operator_stmt(const Node* msg);
  static const ::pg_query::AlterTypeStmt& alter_type_stmt(const Node* msg);
  static const ::pg_query::DropOwnedStmt& drop_owned_stmt(const Node* msg);
  static const ::pg_query::ReassignOwnedStmt& reassign_owned_stmt(const Node* msg);
  static const ::pg_query::CompositeTypeStmt& composite_type_stmt(const Node* msg);
  static const ::pg_query::CreateEnumStmt& create_enum_stmt(const Node* msg);
  static const ::pg_query::CreateRangeStmt& create_range_stmt(const Node* msg);
  static const ::pg_query::AlterEnumStmt& alter_enum_stmt(const Node* msg);
  static const ::pg_query::AlterTSDictionaryStmt& alter_tsdictionary_stmt(const Node* msg);
  static const ::pg_query::AlterTSConfigurationStmt& alter_tsconfiguration_stmt(const Node* msg);
  static const ::pg_query::CreateFdwStmt& create_fdw_stmt(const Node* msg);
  static const ::pg_query::AlterFdwStmt& alter_fdw_stmt(const Node* msg);
  static const ::pg_query::CreateForeignServerStmt& create_foreign_server_stmt(const Node* msg);
  static const ::pg_query::AlterForeignServerStmt& alter_foreign_server_stmt(const Node* msg);
  static const ::pg_query::CreateUserMappingStmt& create_user_mapping_stmt(const Node* msg);
  static const ::pg_query::AlterUserMappingStmt& alter_user_mapping_stmt(const Node* msg);
  static const ::pg_query::DropUserMappingStmt& drop_user_mapping_stmt(const Node* msg);
  static const ::pg_query::AlterTableSpaceOptionsStmt& alter_table_space_options_stmt(const Node* msg);
  static const ::pg_query::AlterTableMoveAllStmt& alter_table_move_all_stmt(const Node* msg);
  static const ::pg_query::SecLabelStmt& sec_label_stmt(const Node* msg);
  static const ::pg_query::CreateForeignTableStmt& create_foreign_table_stmt(const Node* msg);
  static const ::pg_query::ImportForeignSchemaStmt& import_foreign_schema_stmt(const Node* msg);
  static const ::pg_query::CreateExtensionStmt& create_extension_stmt(const Node* msg);
  static const ::pg_query::AlterExtensionStmt& alter_extension_stmt(const Node* msg);
  static const ::pg_query::AlterExtensionContentsStmt& alter_extension_contents_stmt(const Node* msg);
  static const ::pg_query::CreateEventTrigStmt& create_event_trig_stmt(const Node* msg);
  static const ::pg_query::AlterEventTrigStmt& alter_event_trig_stmt(const Node* msg);
  static const ::pg_query::RefreshMatViewStmt& refresh_mat_view_stmt(const Node* msg);
  static const ::pg_query::ReplicaIdentityStmt& replica_identity_stmt(const Node* msg);
  static const ::pg_query::AlterSystemStmt& alter_system_stmt(const Node* msg);
  static const ::pg_query::CreatePolicyStmt& create_policy_stmt(const Node* msg);
  static const ::pg_query::AlterPolicyStmt& alter_policy_stmt(const Node* msg);
  static const ::pg_query::CreateTransformStmt& create_transform_stmt(const Node* msg);
  static const ::pg_query::CreateAmStmt& create_am_stmt(const Node* msg);
  static const ::pg_query::CreatePublicationStmt& create_publication_stmt(const Node* msg);
  static const ::pg_query::AlterPublicationStmt& alter_publication_stmt(const Node* msg);
  static const ::pg_query::CreateSubscriptionStmt& create_subscription_stmt(const Node* msg);
  static const ::pg_query::AlterSubscriptionStmt& alter_subscription_stmt(const Node* msg);
  static const ::pg_query::DropSubscriptionStmt& drop_subscription_stmt(const Node* msg);
  static const ::pg_query::CreateStatsStmt& create_stats_stmt(const Node* msg);
  static const ::pg_query::AlterCollationStmt& alter_collation_stmt(const Node* msg);
  static const ::pg_query::CallStmt& call_stmt(const Node* msg);
  static const ::pg_query::AlterStatsStmt& alter_stats_stmt(const Node* msg);
  static const ::pg_query::A_Expr& a_expr(const Node* msg);
  static const ::pg_query::ColumnRef& column_ref(const Node* msg);
  static const ::pg_query::ParamRef& param_ref(const Node* msg);
  static const ::pg_query::A_Const& a_const(const Node* msg);
  static const ::pg_query::FuncCall& func_call(const Node* msg);
  static const ::pg_query::A_Star& a_star(const Node* msg);
  static const ::pg_query::A_Indices& a_indices(const Node* msg);
  static const ::pg_query::A_Indirection& a_indirection(const Node* msg);
  static const ::pg_query::A_ArrayExpr& a_array_expr(const Node* msg);
  static const ::pg_query::ResTarget& res_target(const Node* msg);
  static const ::pg_query::MultiAssignRef& multi_assign_ref(const Node* msg);
  static const ::pg_query::TypeCast& type_cast(const Node* msg);
  static const ::pg_query::CollateClause& collate_clause(const Node* msg);
  static const ::pg_query::SortBy& sort_by(const Node* msg);
  static const ::pg_query::WindowDef& window_def(const Node* msg);
  static const ::pg_query::RangeSubselect& range_subselect(const Node* msg);
  static const ::pg_query::RangeFunction& range_function(const Node* msg);
  static const ::pg_query::RangeTableSample& range_table_sample(const Node* msg);
  static const ::pg_query::RangeTableFunc& range_table_func(const Node* msg);
  static const ::pg_query::RangeTableFuncCol& range_table_func_col(const Node* msg);
  static const ::pg_query::TypeName& type_name(const Node* msg);
  static const ::pg_query::ColumnDef& column_def(const Node* msg);
  static const ::pg_query::IndexElem& index_elem(const Node* msg);
  static const ::pg_query::Constraint& constraint(const Node* msg);
  static const ::pg_query::DefElem& def_elem(const Node* msg);
  static const ::pg_query::RangeTblEntry& range_tbl_entry(const Node* msg);
  static const ::pg_query::RangeTblFunction& range_tbl_function(const Node* msg);
  static const ::pg_query::TableSampleClause& table_sample_clause(const Node* msg);
  static const ::pg_query::WithCheckOption& with_check_option(const Node* msg);
  static const ::pg_query::SortGroupClause& sort_group_clause(const Node* msg);
  static const ::pg_query::GroupingSet& grouping_set(const Node* msg);
  static const ::pg_query::WindowClause& window_clause(const Node* msg);
  static const ::pg_query::ObjectWithArgs& object_with_args(const Node* msg);
  static const ::pg_query::AccessPriv& access_priv(const Node* msg);
  static const ::pg_query::CreateOpClassItem& create_op_class_item(const Node* msg);
  static const ::pg_query::TableLikeClause& table_like_clause(const Node* msg);
  static const ::pg_query::FunctionParameter& function_parameter(const Node* msg);
  static const ::pg_query::LockingClause& locking_clause(const Node* msg);
  static const ::pg_query::RowMarkClause& row_mark_clause(const Node* msg);
  static const ::pg_query::XmlSerialize& xml_serialize(const Node* msg);
  static const ::pg_query::WithClause& with_clause(const Node* msg);
  static const ::pg_query::InferClause& infer_clause(const Node* msg);
  static const ::pg_query::OnConflictClause& on_conflict_clause(const Node* msg);
  static const ::pg_query::CommonTableExpr& common_table_expr(const Node* msg);
  static const ::pg_query::RoleSpec& role_spec(const Node* msg);
  static const ::pg_query::TriggerTransition& trigger_transition(const Node* msg);
  static const ::pg_query::PartitionElem& partition_elem(const Node* msg);
  static const ::pg_query::PartitionSpec& partition_spec(const Node* msg);
  static const ::pg_query::PartitionBoundSpec& partition_bound_spec(const Node* msg);
  static const ::pg_query::PartitionRangeDatum& partition_range_datum(const Node* msg);
  static const ::pg_query::PartitionCmd& partition_cmd(const Node* msg);
  static const ::pg_query::VacuumRelation& vacuum_relation(const Node* msg);
  static const ::pg_query::InlineCodeBlock& inline_code_block(const Node* msg);
  static const ::pg_query::CallContext& call_context(const Node* msg);
  static const ::pg_query::Integer& integer(const Node* msg);
  static const ::pg_query::Float& float_(const Node* msg);
  static const ::pg_query::String& string(const Node* msg);
  static const ::pg_query::BitString& bit_string(const Node* msg);
  static const ::pg_query::Null& null(const Node* msg);
  static const ::pg_query::List& list(const Node* msg);
  static const ::pg_query::IntList& int_list(const Node* msg);
  static const ::pg_query::OidList& oid_list(const Node* msg);
};

const ::pg_query::Alias&
Node::_Internal::alias(const Node* msg) {
  return *msg->node_.alias_;
}
const ::pg_query::RangeVar&
Node::_Internal::range_var(const Node* msg) {
  return *msg->node_.range_var_;
}
const ::pg_query::TableFunc&
Node::_Internal::table_func(const Node* msg) {
  return *msg->node_.table_func_;
}
const ::pg_query::Expr&
Node::_Internal::expr(const Node* msg) {
  return *msg->node_.expr_;
}
const ::pg_query::Var&
Node::_Internal::var(const Node* msg) {
  return *msg->node_.var_;
}
const ::pg_query::Param&
Node::_Internal::param(const Node* msg) {
  return *msg->node_.param_;
}
const ::pg_query::Aggref&
Node::_Internal::aggref(const Node* msg) {
  return *msg->node_.aggref_;
}
const ::pg_query::GroupingFunc&
Node::_Internal::grouping_func(const Node* msg) {
  return *msg->node_.grouping_func_;
}
const ::pg_query::WindowFunc&
Node::_Internal::window_func(const Node* msg) {
  return *msg->node_.window_func_;
}
const ::pg_query::SubscriptingRef&
Node::_Internal::subscripting_ref(const Node* msg) {
  return *msg->node_.subscripting_ref_;
}
const ::pg_query::FuncExpr&
Node::_Internal::func_expr(const Node* msg) {
  return *msg->node_.func_expr_;
}
const ::pg_query::NamedArgExpr&
Node::_Internal::named_arg_expr(const Node* msg) {
  return *msg->node_.named_arg_expr_;
}
const ::pg_query::OpExpr&
Node::_Internal::op_expr(const Node* msg) {
  return *msg->node_.op_expr_;
}
const ::pg_query::DistinctExpr&
Node::_Internal::distinct_expr(const Node* msg) {
  return *msg->node_.distinct_expr_;
}
const ::pg_query::NullIfExpr&
Node::_Internal::null_if_expr(const Node* msg) {
  return *msg->node_.null_if_expr_;
}
const ::pg_query::ScalarArrayOpExpr&
Node::_Internal::scalar_array_op_expr(const Node* msg) {
  return *msg->node_.scalar_array_op_expr_;
}
const ::pg_query::BoolExpr&
Node::_Internal::bool_expr(const Node* msg) {
  return *msg->node_.bool_expr_;
}
const ::pg_query::SubLink&
Node::_Internal::sub_link(const Node* msg) {
  return *msg->node_.sub_link_;
}
const ::pg_query::SubPlan&
Node::_Internal::sub_plan(const Node* msg) {
  return *msg->node_.sub_plan_;
}
const ::pg_query::AlternativeSubPlan&
Node::_Internal::alternative_sub_plan(const Node* msg) {
  return *msg->node_.alternative_sub_plan_;
}
const ::pg_query::FieldSelect&
Node::_Internal::field_select(const Node* msg) {
  return *msg->node_.field_select_;
}
const ::pg_query::FieldStore&
Node::_Internal::field_store(const Node* msg) {
  return *msg->node_.field_store_;
}
const ::pg_query::RelabelType&
Node::_Internal::relabel_type(const Node* msg) {
  return *msg->node_.relabel_type_;
}
const ::pg_query::CoerceViaIO&
Node::_Internal::coerce_via_io(const Node* msg) {
  return *msg->node_.coerce_via_io_;
}
const ::pg_query::ArrayCoerceExpr&
Node::_Internal::array_coerce_expr(const Node* msg) {
  return *msg->node_.array_coerce_expr_;
}
const ::pg_query::ConvertRowtypeExpr&
Node::_Internal::convert_rowtype_expr(const Node* msg) {
  return *msg->node_.convert_rowtype_expr_;
}
const ::pg_query::CollateExpr&
Node::_Internal::collate_expr(const Node* msg) {
  return *msg->node_.collate_expr_;
}
const ::pg_query::CaseExpr&
Node::_Internal::case_expr(const Node* msg) {
  return *msg->node_.case_expr_;
}
const ::pg_query::CaseWhen&
Node::_Internal::case_when(const Node* msg) {
  return *msg->node_.case_when_;
}
const ::pg_query::CaseTestExpr&
Node::_Internal::case_test_expr(const Node* msg) {
  return *msg->node_.case_test_expr_;
}
const ::pg_query::ArrayExpr&
Node::_Internal::array_expr(const Node* msg) {
  return *msg->node_.array_expr_;
}
const ::pg_query::RowExpr&
Node::_Internal::row_expr(const Node* msg) {
  return *msg->node_.row_expr_;
}
const ::pg_query::RowCompareExpr&
Node::_Internal::row_compare_expr(const Node* msg) {
  return *msg->node_.row_compare_expr_;
}
const ::pg_query::CoalesceExpr&
Node::_Internal::coalesce_expr(const Node* msg) {
  return *msg->node_.coalesce_expr_;
}
const ::pg_query::MinMaxExpr&
Node::_Internal::min_max_expr(const Node* msg) {
  return *msg->node_.min_max_expr_;
}
const ::pg_query::SQLValueFunction&
Node::_Internal::sqlvalue_function(const Node* msg) {
  return *msg->node_.sqlvalue_function_;
}
const ::pg_query::XmlExpr&
Node::_Internal::xml_expr(const Node* msg) {
  return *msg->node_.xml_expr_;
}
const ::pg_query::NullTest&
Node::_Internal::null_test(const Node* msg) {
  return *msg->node_.null_test_;
}
const ::pg_query::BooleanTest&
Node::_Internal::boolean_test(const Node* msg) {
  return *msg->node_.boolean_test_;
}
const ::pg_query::CoerceToDomain&
Node::_Internal::coerce_to_domain(const Node* msg) {
  return *msg->node_.coerce_to_domain_;
}
const ::pg_query::CoerceToDomainValue&
Node::_Internal::coerce_to_domain_value(const Node* msg) {
  return *msg->node_.coerce_to_domain_value_;
}
const ::pg_query::SetToDefault&
Node::_Internal::set_to_default(const Node* msg) {
  return *msg->node_.set_to_default_;
}
const ::pg_query::CurrentOfExpr&
Node::_Internal::current_of_expr(const Node* msg) {
  return *msg->node_.current_of_expr_;
}
const ::pg_query::NextValueExpr&
Node::_Internal::next_value_expr(const Node* msg) {
  return *msg->node_.next_value_expr_;
}
const ::pg_query::InferenceElem&
Node::_Internal::inference_elem(const Node* msg) {
  return *msg->node_.inference_elem_;
}
const ::pg_query::TargetEntry&
Node::_Internal::target_entry(const Node* msg) {
  return *msg->node_.target_entry_;
}
const ::pg_query::RangeTblRef&
Node::_Internal::range_tbl_ref(const Node* msg) {
  return *msg->node_.range_tbl_ref_;
}
const ::pg_query::JoinExpr&
Node::_Internal::join_expr(const Node* msg) {
  return *msg->node_.join_expr_;
}
const ::pg_query::FromExpr&
Node::_Internal::from_expr(const Node* msg) {
  return *msg->node_.from_expr_;
}
const ::pg_query::OnConflictExpr&
Node::_Internal::on_conflict_expr(const Node* msg) {
  return *msg->node_.on_conflict_expr_;
}
const ::pg_query::IntoClause&
Node::_Internal::into_clause(const Node* msg) {
  return *msg->node_.into_clause_;
}
const ::pg_query::RawStmt&
Node::_Internal::raw_stmt(const Node* msg) {
  return *msg->node_.raw_stmt_;
}
const ::pg_query::Query&
Node::_Internal::query(const Node* msg) {
  return *msg->node_.query_;
}
const ::pg_query::InsertStmt&
Node::_Internal::insert_stmt(const Node* msg) {
  return *msg->node_.insert_stmt_;
}
const ::pg_query::DeleteStmt&
Node::_Internal::delete_stmt(const Node* msg) {
  return *msg->node_.delete_stmt_;
}
const ::pg_query::UpdateStmt&
Node::_Internal::update_stmt(const Node* msg) {
  return *msg->node_.update_stmt_;
}
const ::pg_query::SelectStmt&
Node::_Internal::select_stmt(const Node* msg) {
  return *msg->node_.select_stmt_;
}
const ::pg_query::AlterTableStmt&
Node::_Internal::alter_table_stmt(const Node* msg) {
  return *msg->node_.alter_table_stmt_;
}
const ::pg_query::AlterTableCmd&
Node::_Internal::alter_table_cmd(const Node* msg) {
  return *msg->node_.alter_table_cmd_;
}
const ::pg_query::AlterDomainStmt&
Node::_Internal::alter_domain_stmt(const Node* msg) {
  return *msg->node_.alter_domain_stmt_;
}
const ::pg_query::SetOperationStmt&
Node::_Internal::set_operation_stmt(const Node* msg) {
  return *msg->node_.set_operation_stmt_;
}
const ::pg_query::GrantStmt&
Node::_Internal::grant_stmt(const Node* msg) {
  return *msg->node_.grant_stmt_;
}
const ::pg_query::GrantRoleStmt&
Node::_Internal::grant_role_stmt(const Node* msg) {
  return *msg->node_.grant_role_stmt_;
}
const ::pg_query::AlterDefaultPrivilegesStmt&
Node::_Internal::alter_default_privileges_stmt(const Node* msg) {
  return *msg->node_.alter_default_privileges_stmt_;
}
const ::pg_query::ClosePortalStmt&
Node::_Internal::close_portal_stmt(const Node* msg) {
  return *msg->node_.close_portal_stmt_;
}
const ::pg_query::ClusterStmt&
Node::_Internal::cluster_stmt(const Node* msg) {
  return *msg->node_.cluster_stmt_;
}
const ::pg_query::CopyStmt&
Node::_Internal::copy_stmt(const Node* msg) {
  return *msg->node_.copy_stmt_;
}
const ::pg_query::CreateStmt&
Node::_Internal::create_stmt(const Node* msg) {
  return *msg->node_.create_stmt_;
}
const ::pg_query::DefineStmt&
Node::_Internal::define_stmt(const Node* msg) {
  return *msg->node_.define_stmt_;
}
const ::pg_query::DropStmt&
Node::_Internal::drop_stmt(const Node* msg) {
  return *msg->node_.drop_stmt_;
}
const ::pg_query::TruncateStmt&
Node::_Internal::truncate_stmt(const Node* msg) {
  return *msg->node_.truncate_stmt_;
}
const ::pg_query::CommentStmt&
Node::_Internal::comment_stmt(const Node* msg) {
  return *msg->node_.comment_stmt_;
}
const ::pg_query::FetchStmt&
Node::_Internal::fetch_stmt(const Node* msg) {
  return *msg->node_.fetch_stmt_;
}
const ::pg_query::IndexStmt&
Node::_Internal::index_stmt(const Node* msg) {
  return *msg->node_.index_stmt_;
}
const ::pg_query::CreateFunctionStmt&
Node::_Internal::create_function_stmt(const Node* msg) {
  return *msg->node_.create_function_stmt_;
}
const ::pg_query::AlterFunctionStmt&
Node::_Internal::alter_function_stmt(const Node* msg) {
  return *msg->node_.alter_function_stmt_;
}
const ::pg_query::DoStmt&
Node::_Internal::do_stmt(const Node* msg) {
  return *msg->node_.do_stmt_;
}
const ::pg_query::RenameStmt&
Node::_Internal::rename_stmt(const Node* msg) {
  return *msg->node_.rename_stmt_;
}
const ::pg_query::RuleStmt&
Node::_Internal::rule_stmt(const Node* msg) {
  return *msg->node_.rule_stmt_;
}
const ::pg_query::NotifyStmt&
Node::_Internal::notify_stmt(const Node* msg) {
  return *msg->node_.notify_stmt_;
}
const ::pg_query::ListenStmt&
Node::_Internal::listen_stmt(const Node* msg) {
  return *msg->node_.listen_stmt_;
}
const ::pg_query::UnlistenStmt&
Node::_Internal::unlisten_stmt(const Node* msg) {
  return *msg->node_.unlisten_stmt_;
}
const ::pg_query::TransactionStmt&
Node::_Internal::transaction_stmt(const Node* msg) {
  return *msg->node_.transaction_stmt_;
}
const ::pg_query::ViewStmt&
Node::_Internal::view_stmt(const Node* msg) {
  return *msg->node_.view_stmt_;
}
const ::pg_query::LoadStmt&
Node::_Internal::load_stmt(const Node* msg) {
  return *msg->node_.load_stmt_;
}
const ::pg_query::CreateDomainStmt&
Node::_Internal::create_domain_stmt(const Node* msg) {
  return *msg->node_.create_domain_stmt_;
}
const ::pg_query::CreatedbStmt&
Node::_Internal::createdb_stmt(const Node* msg) {
  return *msg->node_.createdb_stmt_;
}
const ::pg_query::DropdbStmt&
Node::_Internal::dropdb_stmt(const Node* msg) {
  return *msg->node_.dropdb_stmt_;
}
const ::pg_query::VacuumStmt&
Node::_Internal::vacuum_stmt(const Node* msg) {
  return *msg->node_.vacuum_stmt_;
}
const ::pg_query::ExplainStmt&
Node::_Internal::explain_stmt(const Node* msg) {
  return *msg->node_.explain_stmt_;
}
const ::pg_query::CreateTableAsStmt&
Node::_Internal::create_table_as_stmt(const Node* msg) {
  return *msg->node_.create_table_as_stmt_;
}
const ::pg_query::CreateSeqStmt&
Node::_Internal::create_seq_stmt(const Node* msg) {
  return *msg->node_.create_seq_stmt_;
}
const ::pg_query::AlterSeqStmt&
Node::_Internal::alter_seq_stmt(const Node* msg) {
  return *msg->node_.alter_seq_stmt_;
}
const ::pg_query::VariableSetStmt&
Node::_Internal::variable_set_stmt(const Node* msg) {
  return *msg->node_.variable_set_stmt_;
}
const ::pg_query::VariableShowStmt&
Node::_Internal::variable_show_stmt(const Node* msg) {
  return *msg->node_.variable_show_stmt_;
}
const ::pg_query::DiscardStmt&
Node::_Internal::discard_stmt(const Node* msg) {
  return *msg->node_.discard_stmt_;
}
const ::pg_query::CreateTrigStmt&
Node::_Internal::create_trig_stmt(const Node* msg) {
  return *msg->node_.create_trig_stmt_;
}
const ::pg_query::CreatePLangStmt&
Node::_Internal::create_plang_stmt(const Node* msg) {
  return *msg->node_.create_plang_stmt_;
}
const ::pg_query::CreateRoleStmt&
Node::_Internal::create_role_stmt(const Node* msg) {
  return *msg->node_.create_role_stmt_;
}
const ::pg_query::AlterRoleStmt&
Node::_Internal::alter_role_stmt(const Node* msg) {
  return *msg->node_.alter_role_stmt_;
}
const ::pg_query::DropRoleStmt&
Node::_Internal::drop_role_stmt(const Node* msg) {
  return *msg->node_.drop_role_stmt_;
}
const ::pg_query::LockStmt&
Node::_Internal::lock_stmt(const Node* msg) {
  return *msg->node_.lock_stmt_;
}
const ::pg_query::ConstraintsSetStmt&
Node::_Internal::constraints_set_stmt(const Node* msg) {
  return *msg->node_.constraints_set_stmt_;
}
const ::pg_query::ReindexStmt&
Node::_Internal::reindex_stmt(const Node* msg) {
  return *msg->node_.reindex_stmt_;
}
const ::pg_query::CheckPointStmt&
Node::_Internal::check_point_stmt(const Node* msg) {
  return *msg->node_.check_point_stmt_;
}
const ::pg_query::CreateSchemaStmt&
Node::_Internal::create_schema_stmt(const Node* msg) {
  return *msg->node_.create_schema_stmt_;
}
const ::pg_query::AlterDatabaseStmt&
Node::_Internal::alter_database_stmt(const Node* msg) {
  return *msg->node_.alter_database_stmt_;
}
const ::pg_query::AlterDatabaseSetStmt&
Node::_Internal::alter_database_set_stmt(const Node* msg) {
  return *msg->node_.alter_database_set_stmt_;
}
const ::pg_query::AlterRoleSetStmt&
Node::_Internal::alter_role_set_stmt(const Node* msg) {
  return *msg->node_.alter_role_set_stmt_;
}
const ::pg_query::CreateConversionStmt&
Node::_Internal::create_conversion_stmt(const Node* msg) {
  return *msg->node_.create_conversion_stmt_;
}
const ::pg_query::CreateCastStmt&
Node::_Internal::create_cast_stmt(const Node* msg) {
  return *msg->node_.create_cast_stmt_;
}
const ::pg_query::CreateOpClassStmt&
Node::_Internal::create_op_class_stmt(const Node* msg) {
  return *msg->node_.create_op_class_stmt_;
}
const ::pg_query::CreateOpFamilyStmt&
Node::_Internal::create_op_family_stmt(const Node* msg) {
  return *msg->node_.create_op_family_stmt_;
}
const ::pg_query::AlterOpFamilyStmt&
Node::_Internal::alter_op_family_stmt(const Node* msg) {
  return *msg->node_.alter_op_family_stmt_;
}
const ::pg_query::PrepareStmt&
Node::_Internal::prepare_stmt(const Node* msg) {
  return *msg->node_.prepare_stmt_;
}
const ::pg_query::ExecuteStmt&
Node::_Internal::execute_stmt(const Node* msg) {
  return *msg->node_.execute_stmt_;
}
const ::pg_query::DeallocateStmt&
Node::_Internal::deallocate_stmt(const Node* msg) {
  return *msg->node_.deallocate_stmt_;
}
const ::pg_query::DeclareCursorStmt&
Node::_Internal::declare_cursor_stmt(const Node* msg) {
  return *msg->node_.declare_cursor_stmt_;
}
const ::pg_query::CreateTableSpaceStmt&
Node::_Internal::create_table_space_stmt(const Node* msg) {
  return *msg->node_.create_table_space_stmt_;
}
const ::pg_query::DropTableSpaceStmt&
Node::_Internal::drop_table_space_stmt(const Node* msg) {
  return *msg->node_.drop_table_space_stmt_;
}
const ::pg_query::AlterObjectDependsStmt&
Node::_Internal::alter_object_depends_stmt(const Node* msg) {
  return *msg->node_.alter_object_depends_stmt_;
}
const ::pg_query::AlterObjectSchemaStmt&
Node::_Internal::alter_object_schema_stmt(const Node* msg) {
  return *msg->node_.alter_object_schema_stmt_;
}
const ::pg_query::AlterOwnerStmt&
Node::_Internal::alter_owner_stmt(const Node* msg) {
  return *msg->node_.alter_owner_stmt_;
}
const ::pg_query::AlterOperatorStmt&
Node::_Internal::alter_operator_stmt(const Node* msg) {
  return *msg->node_.alter_operator_stmt_;
}
const ::pg_query::AlterTypeStmt&
Node::_Internal::alter_type_stmt(const Node* msg) {
  return *msg->node_.alter_type_stmt_;
}
const ::pg_query::DropOwnedStmt&
Node::_Internal::drop_owned_stmt(const Node* msg) {
  return *msg->node_.drop_owned_stmt_;
}
const ::pg_query::ReassignOwnedStmt&
Node::_Internal::reassign_owned_stmt(const Node* msg) {
  return *msg->node_.reassign_owned_stmt_;
}
const ::pg_query::CompositeTypeStmt&
Node::_Internal::composite_type_stmt(const Node* msg) {
  return *msg->node_.composite_type_stmt_;
}
const ::pg_query::CreateEnumStmt&
Node::_Internal::create_enum_stmt(const Node* msg) {
  return *msg->node_.create_enum_stmt_;
}
const ::pg_query::CreateRangeStmt&
Node::_Internal::create_range_stmt(const Node* msg) {
  return *msg->node_.create_range_stmt_;
}
const ::pg_query::AlterEnumStmt&
Node::_Internal::alter_enum_stmt(const Node* msg) {
  return *msg->node_.alter_enum_stmt_;
}
const ::pg_query::AlterTSDictionaryStmt&
Node::_Internal::alter_tsdictionary_stmt(const Node* msg) {
  return *msg->node_.alter_tsdictionary_stmt_;
}
const ::pg_query::AlterTSConfigurationStmt&
Node::_Internal::alter_tsconfiguration_stmt(const Node* msg) {
  return *msg->node_.alter_tsconfiguration_stmt_;
}
const ::pg_query::CreateFdwStmt&
Node::_Internal::create_fdw_stmt(const Node* msg) {
  return *msg->node_.create_fdw_stmt_;
}
const ::pg_query::AlterFdwStmt&
Node::_Internal::alter_fdw_stmt(const Node* msg) {
  return *msg->node_.alter_fdw_stmt_;
}
const ::pg_query::CreateForeignServerStmt&
Node::_Internal::create_foreign_server_stmt(const Node* msg) {
  return *msg->node_.create_foreign_server_stmt_;
}
const ::pg_query::AlterForeignServerStmt&
Node::_Internal::alter_foreign_server_stmt(const Node* msg) {
  return *msg->node_.alter_foreign_server_stmt_;
}
const ::pg_query::CreateUserMappingStmt&
Node::_Internal::create_user_mapping_stmt(const Node* msg) {
  return *msg->node_.create_user_mapping_stmt_;
}
const ::pg_query::AlterUserMappingStmt&
Node::_Internal::alter_user_mapping_stmt(const Node* msg) {
  return *msg->node_.alter_user_mapping_stmt_;
}
const ::pg_query::DropUserMappingStmt&
Node::_Internal::drop_user_mapping_stmt(const Node* msg) {
  return *msg->node_.drop_user_mapping_stmt_;
}
const ::pg_query::AlterTableSpaceOptionsStmt&
Node::_Internal::alter_table_space_options_stmt(const Node* msg) {
  return *msg->node_.alter_table_space_options_stmt_;
}
const ::pg_query::AlterTableMoveAllStmt&
Node::_Internal::alter_table_move_all_stmt(const Node* msg) {
  return *msg->node_.alter_table_move_all_stmt_;
}
const ::pg_query::SecLabelStmt&
Node::_Internal::sec_label_stmt(const Node* msg) {
  return *msg->node_.sec_label_stmt_;
}
const ::pg_query::CreateForeignTableStmt&
Node::_Internal::create_foreign_table_stmt(const Node* msg) {
  return *msg->node_.create_foreign_table_stmt_;
}
const ::pg_query::ImportForeignSchemaStmt&
Node::_Internal::import_foreign_schema_stmt(const Node* msg) {
  return *msg->node_.import_foreign_schema_stmt_;
}
const ::pg_query::CreateExtensionStmt&
Node::_Internal::create_extension_stmt(const Node* msg) {
  return *msg->node_.create_extension_stmt_;
}
const ::pg_query::AlterExtensionStmt&
Node::_Internal::alter_extension_stmt(const Node* msg) {
  return *msg->node_.alter_extension_stmt_;
}
const ::pg_query::AlterExtensionContentsStmt&
Node::_Internal::alter_extension_contents_stmt(const Node* msg) {
  return *msg->node_.alter_extension_contents_stmt_;
}
const ::pg_query::CreateEventTrigStmt&
Node::_Internal::create_event_trig_stmt(const Node* msg) {
  return *msg->node_.create_event_trig_stmt_;
}
const ::pg_query::AlterEventTrigStmt&
Node::_Internal::alter_event_trig_stmt(const Node* msg) {
  return *msg->node_.alter_event_trig_stmt_;
}
const ::pg_query::RefreshMatViewStmt&
Node::_Internal::refresh_mat_view_stmt(const Node* msg) {
  return *msg->node_.refresh_mat_view_stmt_;
}
const ::pg_query::ReplicaIdentityStmt&
Node::_Internal::replica_identity_stmt(const Node* msg) {
  return *msg->node_.replica_identity_stmt_;
}
const ::pg_query::AlterSystemStmt&
Node::_Internal::alter_system_stmt(const Node* msg) {
  return *msg->node_.alter_system_stmt_;
}
const ::pg_query::CreatePolicyStmt&
Node::_Internal::create_policy_stmt(const Node* msg) {
  return *msg->node_.create_policy_stmt_;
}
const ::pg_query::AlterPolicyStmt&
Node::_Internal::alter_policy_stmt(const Node* msg) {
  return *msg->node_.alter_policy_stmt_;
}
const ::pg_query::CreateTransformStmt&
Node::_Internal::create_transform_stmt(const Node* msg) {
  return *msg->node_.create_transform_stmt_;
}
const ::pg_query::CreateAmStmt&
Node::_Internal::create_am_stmt(const Node* msg) {
  return *msg->node_.create_am_stmt_;
}
const ::pg_query::CreatePublicationStmt&
Node::_Internal::create_publication_stmt(const Node* msg) {
  return *msg->node_.create_publication_stmt_;
}
const ::pg_query::AlterPublicationStmt&
Node::_Internal::alter_publication_stmt(const Node* msg) {
  return *msg->node_.alter_publication_stmt_;
}
const ::pg_query::CreateSubscriptionStmt&
Node::_Internal::create_subscription_stmt(const Node* msg) {
  return *msg->node_.create_subscription_stmt_;
}
const ::pg_query::AlterSubscriptionStmt&
Node::_Internal::alter_subscription_stmt(const Node* msg) {
  return *msg->node_.alter_subscription_stmt_;
}
const ::pg_query::DropSubscriptionStmt&
Node::_Internal::drop_subscription_stmt(const Node* msg) {
  return *msg->node_.drop_subscription_stmt_;
}
const ::pg_query::CreateStatsStmt&
Node::_Internal::create_stats_stmt(const Node* msg) {
  return *msg->node_.create_stats_stmt_;
}
const ::pg_query::AlterCollationStmt&
Node::_Internal::alter_collation_stmt(const Node* msg) {
  return *msg->node_.alter_collation_stmt_;
}
const ::pg_query::CallStmt&
Node::_Internal::call_stmt(const Node* msg) {
  return *msg->node_.call_stmt_;
}
const ::pg_query::AlterStatsStmt&
Node::_Internal::alter_stats_stmt(const Node* msg) {
  return *msg->node_.alter_stats_stmt_;
}
const ::pg_query::A_Expr&
Node::_Internal::a_expr(const Node* msg) {
  return *msg->node_.a_expr_;
}
const ::pg_query::ColumnRef&
Node::_Internal::column_ref(const Node* msg) {
  return *msg->node_.column_ref_;
}
const ::pg_query::ParamRef&
Node::_Internal::param_ref(const Node* msg) {
  return *msg->node_.param_ref_;
}
const ::pg_query::A_Const&
Node::_Internal::a_const(const Node* msg) {
  return *msg->node_.a_const_;
}
const ::pg_query::FuncCall&
Node::_Internal::func_call(const Node* msg) {
  return *msg->node_.func_call_;
}
const ::pg_query::A_Star&
Node::_Internal::a_star(const Node* msg) {
  return *msg->node_.a_star_;
}
const ::pg_query::A_Indices&
Node::_Internal::a_indices(const Node* msg) {
  return *msg->node_.a_indices_;
}
const ::pg_query::A_Indirection&
Node::_Internal::a_indirection(const Node* msg) {
  return *msg->node_.a_indirection_;
}
const ::pg_query::A_ArrayExpr&
Node::_Internal::a_array_expr(const Node* msg) {
  return *msg->node_.a_array_expr_;
}
const ::pg_query::ResTarget&
Node::_Internal::res_target(const Node* msg) {
  return *msg->node_.res_target_;
}
const ::pg_query::MultiAssignRef&
Node::_Internal::multi_assign_ref(const Node* msg) {
  return *msg->node_.multi_assign_ref_;
}
const ::pg_query::TypeCast&
Node::_Internal::type_cast(const Node* msg) {
  return *msg->node_.type_cast_;
}
const ::pg_query::CollateClause&
Node::_Internal::collate_clause(const Node* msg) {
  return *msg->node_.collate_clause_;
}
const ::pg_query::SortBy&
Node::_Internal::sort_by(const Node* msg) {
  return *msg->node_.sort_by_;
}
const ::pg_query::WindowDef&
Node::_Internal::window_def(const Node* msg) {
  return *msg->node_.window_def_;
}
const ::pg_query::RangeSubselect&
Node::_Internal::range_subselect(const Node* msg) {
  return *msg->node_.range_subselect_;
}
const ::pg_query::RangeFunction&
Node::_Internal::range_function(const Node* msg) {
  return *msg->node_.range_function_;
}
const ::pg_query::RangeTableSample&
Node::_Internal::range_table_sample(const Node* msg) {
  return *msg->node_.range_table_sample_;
}
const ::pg_query::RangeTableFunc&
Node::_Internal::range_table_func(const Node* msg) {
  return *msg->node_.range_table_func_;
}
const ::pg_query::RangeTableFuncCol&
Node::_Internal::range_table_func_col(const Node* msg) {
  return *msg->node_.range_table_func_col_;
}
const ::pg_query::TypeName&
Node::_Internal::type_name(const Node* msg) {
  return *msg->node_.type_name_;
}
const ::pg_query::ColumnDef&
Node::_Internal::column_def(const Node* msg) {
  return *msg->node_.column_def_;
}
const ::pg_query::IndexElem&
Node::_Internal::index_elem(const Node* msg) {
  return *msg->node_.index_elem_;
}
const ::pg_query::Constraint&
Node::_Internal::constraint(const Node* msg) {
  return *msg->node_.constraint_;
}
const ::pg_query::DefElem&
Node::_Internal::def_elem(const Node* msg) {
  return *msg->node_.def_elem_;
}
const ::pg_query::RangeTblEntry&
Node::_Internal::range_tbl_entry(const Node* msg) {
  return *msg->node_.range_tbl_entry_;
}
const ::pg_query::RangeTblFunction&
Node::_Internal::range_tbl_function(const Node* msg) {
  return *msg->node_.range_tbl_function_;
}
const ::pg_query::TableSampleClause&
Node::_Internal::table_sample_clause(const Node* msg) {
  return *msg->node_.table_sample_clause_;
}
const ::pg_query::WithCheckOption&
Node::_Internal::with_check_option(const Node* msg) {
  return *msg->node_.with_check_option_;
}
const ::pg_query::SortGroupClause&
Node::_Internal::sort_group_clause(const Node* msg) {
  return *msg->node_.sort_group_clause_;
}
const ::pg_query::GroupingSet&
Node::_Internal::grouping_set(const Node* msg) {
  return *msg->node_.grouping_set_;
}
const ::pg_query::WindowClause&
Node::_Internal::window_clause(const Node* msg) {
  return *msg->node_.window_clause_;
}
const ::pg_query::ObjectWithArgs&
Node::_Internal::object_with_args(const Node* msg) {
  return *msg->node_.object_with_args_;
}
const ::pg_query::AccessPriv&
Node::_Internal::access_priv(const Node* msg) {
  return *msg->node_.access_priv_;
}
const ::pg_query::CreateOpClassItem&
Node::_Internal::create_op_class_item(const Node* msg) {
  return *msg->node_.create_op_class_item_;
}
const ::pg_query::TableLikeClause&
Node::_Internal::table_like_clause(const Node* msg) {
  return *msg->node_.table_like_clause_;
}
const ::pg_query::FunctionParameter&
Node::_Internal::function_parameter(const Node* msg) {
  return *msg->node_.function_parameter_;
}
const ::pg_query::LockingClause&
Node::_Internal::locking_clause(const Node* msg) {
  return *msg->node_.locking_clause_;
}
const ::pg_query::RowMarkClause&
Node::_Internal::row_mark_clause(const Node* msg) {
  return *msg->node_.row_mark_clause_;
}
const ::pg_query::XmlSerialize&
Node::_Internal::xml_serialize(const Node* msg) {
  return *msg->node_.xml_serialize_;
}
const ::pg_query::WithClause&
Node::_Internal::with_clause(const Node* msg) {
  return *msg->node_.with_clause_;
}
const ::pg_query::InferClause&
Node::_Internal::infer_clause(const Node* msg) {
  return *msg->node_.infer_clause_;
}
const ::pg_query::OnConflictClause&
Node::_Internal::on_conflict_clause(const Node* msg) {
  return *msg->node_.on_conflict_clause_;
}
const ::pg_query::CommonTableExpr&
Node::_Internal::common_table_expr(const Node* msg) {
  return *msg->node_.common_table_expr_;
}
const ::pg_query::RoleSpec&
Node::_Internal::role_spec(const Node* msg) {
  return *msg->node_.role_spec_;
}
const ::pg_query::TriggerTransition&
Node::_Internal::trigger_transition(const Node* msg) {
  return *msg->node_.trigger_transition_;
}
const ::pg_query::PartitionElem&
Node::_Internal::partition_elem(const Node* msg) {
  return *msg->node_.partition_elem_;
}
const ::pg_query::PartitionSpec&
Node::_Internal::partition_spec(const Node* msg) {
  return *msg->node_.partition_spec_;
}
const ::pg_query::PartitionBoundSpec&
Node::_Internal::partition_bound_spec(const Node* msg) {
  return *msg->node_.partition_bound_spec_;
}
const ::pg_query::PartitionRangeDatum&
Node::_Internal::partition_range_datum(const Node* msg) {
  return *msg->node_.partition_range_datum_;
}
const ::pg_query::PartitionCmd&
Node::_Internal::partition_cmd(const Node* msg) {
  return *msg->node_.partition_cmd_;
}
const ::pg_query::VacuumRelation&
Node::_Internal::vacuum_relation(const Node* msg) {
  return *msg->node_.vacuum_relation_;
}
const ::pg_query::InlineCodeBlock&
Node::_Internal::inline_code_block(const Node* msg) {
  return *msg->node_.inline_code_block_;
}
const ::pg_query::CallContext&
Node::_Internal::call_context(const Node* msg) {
  return *msg->node_.call_context_;
}
const ::pg_query::Integer&
Node::_Internal::integer(const Node* msg) {
  return *msg->node_.integer_;
}
const ::pg_query::Float&
Node::_Internal::float_(const Node* msg) {
  return *msg->node_.float__;
}
const ::pg_query::String&
Node::_Internal::string(const Node* msg) {
  return *msg->node_.string_;
}
const ::pg_query::BitString&
Node::_Internal::bit_string(const Node* msg) {
  return *msg->node_.bit_string_;
}
const ::pg_query::Null&
Node::_Internal::null(const Node* msg) {
  return *msg->node_.null_;
}
const ::pg_query::List&
Node::_Internal::list(const Node* msg) {
  return *msg->node_.list_;
}
const ::pg_query::IntList&
Node::_Internal::int_list(const Node* msg) {
  return *msg->node_.int_list_;
}
const ::pg_query::OidList&
Node::_Internal::oid_list(const Node* msg) {
  return *msg->node_.oid_list_;
}
void Node::set_allocated_alias(::pg_query::Alias* alias) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alias) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alias);
    if (message_arena != submessage_arena) {
      alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alias, submessage_arena);
    }
    set_has_alias();
    node_.alias_ = alias;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alias)
}
void Node::set_allocated_range_var(::pg_query::RangeVar* range_var) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_var) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_var);
    if (message_arena != submessage_arena) {
      range_var = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_var, submessage_arena);
    }
    set_has_range_var();
    node_.range_var_ = range_var;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_var)
}
void Node::set_allocated_table_func(::pg_query::TableFunc* table_func) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (table_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(table_func);
    if (message_arena != submessage_arena) {
      table_func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, table_func, submessage_arena);
    }
    set_has_table_func();
    node_.table_func_ = table_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.table_func)
}
void Node::set_allocated_expr(::pg_query::Expr* expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(expr);
    if (message_arena != submessage_arena) {
      expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, expr, submessage_arena);
    }
    set_has_expr();
    node_.expr_ = expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.expr)
}
void Node::set_allocated_var(::pg_query::Var* var) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (var) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(var);
    if (message_arena != submessage_arena) {
      var = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, var, submessage_arena);
    }
    set_has_var();
    node_.var_ = var;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.var)
}
void Node::set_allocated_param(::pg_query::Param* param) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (param) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(param);
    if (message_arena != submessage_arena) {
      param = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, param, submessage_arena);
    }
    set_has_param();
    node_.param_ = param;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.param)
}
void Node::set_allocated_aggref(::pg_query::Aggref* aggref) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (aggref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(aggref);
    if (message_arena != submessage_arena) {
      aggref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, aggref, submessage_arena);
    }
    set_has_aggref();
    node_.aggref_ = aggref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.aggref)
}
void Node::set_allocated_grouping_func(::pg_query::GroupingFunc* grouping_func) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (grouping_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(grouping_func);
    if (message_arena != submessage_arena) {
      grouping_func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, grouping_func, submessage_arena);
    }
    set_has_grouping_func();
    node_.grouping_func_ = grouping_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grouping_func)
}
void Node::set_allocated_window_func(::pg_query::WindowFunc* window_func) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (window_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(window_func);
    if (message_arena != submessage_arena) {
      window_func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, window_func, submessage_arena);
    }
    set_has_window_func();
    node_.window_func_ = window_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.window_func)
}
void Node::set_allocated_subscripting_ref(::pg_query::SubscriptingRef* subscripting_ref) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (subscripting_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(subscripting_ref);
    if (message_arena != submessage_arena) {
      subscripting_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, subscripting_ref, submessage_arena);
    }
    set_has_subscripting_ref();
    node_.subscripting_ref_ = subscripting_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.subscripting_ref)
}
void Node::set_allocated_func_expr(::pg_query::FuncExpr* func_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (func_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(func_expr);
    if (message_arena != submessage_arena) {
      func_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, func_expr, submessage_arena);
    }
    set_has_func_expr();
    node_.func_expr_ = func_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.func_expr)
}
void Node::set_allocated_named_arg_expr(::pg_query::NamedArgExpr* named_arg_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (named_arg_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(named_arg_expr);
    if (message_arena != submessage_arena) {
      named_arg_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, named_arg_expr, submessage_arena);
    }
    set_has_named_arg_expr();
    node_.named_arg_expr_ = named_arg_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.named_arg_expr)
}
void Node::set_allocated_op_expr(::pg_query::OpExpr* op_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (op_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(op_expr);
    if (message_arena != submessage_arena) {
      op_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, op_expr, submessage_arena);
    }
    set_has_op_expr();
    node_.op_expr_ = op_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.op_expr)
}
void Node::set_allocated_distinct_expr(::pg_query::DistinctExpr* distinct_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (distinct_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(distinct_expr);
    if (message_arena != submessage_arena) {
      distinct_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, distinct_expr, submessage_arena);
    }
    set_has_distinct_expr();
    node_.distinct_expr_ = distinct_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.distinct_expr)
}
void Node::set_allocated_null_if_expr(::pg_query::NullIfExpr* null_if_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (null_if_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(null_if_expr);
    if (message_arena != submessage_arena) {
      null_if_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, null_if_expr, submessage_arena);
    }
    set_has_null_if_expr();
    node_.null_if_expr_ = null_if_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.null_if_expr)
}
void Node::set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* scalar_array_op_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (scalar_array_op_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(scalar_array_op_expr);
    if (message_arena != submessage_arena) {
      scalar_array_op_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, scalar_array_op_expr, submessage_arena);
    }
    set_has_scalar_array_op_expr();
    node_.scalar_array_op_expr_ = scalar_array_op_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.scalar_array_op_expr)
}
void Node::set_allocated_bool_expr(::pg_query::BoolExpr* bool_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (bool_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bool_expr);
    if (message_arena != submessage_arena) {
      bool_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, bool_expr, submessage_arena);
    }
    set_has_bool_expr();
    node_.bool_expr_ = bool_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.bool_expr)
}
void Node::set_allocated_sub_link(::pg_query::SubLink* sub_link) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (sub_link) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sub_link);
    if (message_arena != submessage_arena) {
      sub_link = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sub_link, submessage_arena);
    }
    set_has_sub_link();
    node_.sub_link_ = sub_link;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sub_link)
}
void Node::set_allocated_sub_plan(::pg_query::SubPlan* sub_plan) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (sub_plan) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sub_plan);
    if (message_arena != submessage_arena) {
      sub_plan = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sub_plan, submessage_arena);
    }
    set_has_sub_plan();
    node_.sub_plan_ = sub_plan;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sub_plan)
}
void Node::set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* alternative_sub_plan) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alternative_sub_plan) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alternative_sub_plan);
    if (message_arena != submessage_arena) {
      alternative_sub_plan = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alternative_sub_plan, submessage_arena);
    }
    set_has_alternative_sub_plan();
    node_.alternative_sub_plan_ = alternative_sub_plan;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alternative_sub_plan)
}
void Node::set_allocated_field_select(::pg_query::FieldSelect* field_select) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (field_select) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(field_select);
    if (message_arena != submessage_arena) {
      field_select = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, field_select, submessage_arena);
    }
    set_has_field_select();
    node_.field_select_ = field_select;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.field_select)
}
void Node::set_allocated_field_store(::pg_query::FieldStore* field_store) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (field_store) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(field_store);
    if (message_arena != submessage_arena) {
      field_store = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, field_store, submessage_arena);
    }
    set_has_field_store();
    node_.field_store_ = field_store;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.field_store)
}
void Node::set_allocated_relabel_type(::pg_query::RelabelType* relabel_type) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (relabel_type) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(relabel_type);
    if (message_arena != submessage_arena) {
      relabel_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, relabel_type, submessage_arena);
    }
    set_has_relabel_type();
    node_.relabel_type_ = relabel_type;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.relabel_type)
}
void Node::set_allocated_coerce_via_io(::pg_query::CoerceViaIO* coerce_via_io) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (coerce_via_io) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(coerce_via_io);
    if (message_arena != submessage_arena) {
      coerce_via_io = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, coerce_via_io, submessage_arena);
    }
    set_has_coerce_via_io();
    node_.coerce_via_io_ = coerce_via_io;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coerce_via_io)
}
void Node::set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* array_coerce_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (array_coerce_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(array_coerce_expr);
    if (message_arena != submessage_arena) {
      array_coerce_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, array_coerce_expr, submessage_arena);
    }
    set_has_array_coerce_expr();
    node_.array_coerce_expr_ = array_coerce_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.array_coerce_expr)
}
void Node::set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* convert_rowtype_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (convert_rowtype_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(convert_rowtype_expr);
    if (message_arena != submessage_arena) {
      convert_rowtype_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, convert_rowtype_expr, submessage_arena);
    }
    set_has_convert_rowtype_expr();
    node_.convert_rowtype_expr_ = convert_rowtype_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.convert_rowtype_expr)
}
void Node::set_allocated_collate_expr(::pg_query::CollateExpr* collate_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (collate_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(collate_expr);
    if (message_arena != submessage_arena) {
      collate_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, collate_expr, submessage_arena);
    }
    set_has_collate_expr();
    node_.collate_expr_ = collate_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.collate_expr)
}
void Node::set_allocated_case_expr(::pg_query::CaseExpr* case_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (case_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(case_expr);
    if (message_arena != submessage_arena) {
      case_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, case_expr, submessage_arena);
    }
    set_has_case_expr();
    node_.case_expr_ = case_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.case_expr)
}
void Node::set_allocated_case_when(::pg_query::CaseWhen* case_when) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (case_when) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(case_when);
    if (message_arena != submessage_arena) {
      case_when = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, case_when, submessage_arena);
    }
    set_has_case_when();
    node_.case_when_ = case_when;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.case_when)
}
void Node::set_allocated_case_test_expr(::pg_query::CaseTestExpr* case_test_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (case_test_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(case_test_expr);
    if (message_arena != submessage_arena) {
      case_test_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, case_test_expr, submessage_arena);
    }
    set_has_case_test_expr();
    node_.case_test_expr_ = case_test_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.case_test_expr)
}
void Node::set_allocated_array_expr(::pg_query::ArrayExpr* array_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (array_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(array_expr);
    if (message_arena != submessage_arena) {
      array_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, array_expr, submessage_arena);
    }
    set_has_array_expr();
    node_.array_expr_ = array_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.array_expr)
}
void Node::set_allocated_row_expr(::pg_query::RowExpr* row_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (row_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(row_expr);
    if (message_arena != submessage_arena) {
      row_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, row_expr, submessage_arena);
    }
    set_has_row_expr();
    node_.row_expr_ = row_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.row_expr)
}
void Node::set_allocated_row_compare_expr(::pg_query::RowCompareExpr* row_compare_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (row_compare_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(row_compare_expr);
    if (message_arena != submessage_arena) {
      row_compare_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, row_compare_expr, submessage_arena);
    }
    set_has_row_compare_expr();
    node_.row_compare_expr_ = row_compare_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.row_compare_expr)
}
void Node::set_allocated_coalesce_expr(::pg_query::CoalesceExpr* coalesce_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (coalesce_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(coalesce_expr);
    if (message_arena != submessage_arena) {
      coalesce_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, coalesce_expr, submessage_arena);
    }
    set_has_coalesce_expr();
    node_.coalesce_expr_ = coalesce_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coalesce_expr)
}
void Node::set_allocated_min_max_expr(::pg_query::MinMaxExpr* min_max_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (min_max_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(min_max_expr);
    if (message_arena != submessage_arena) {
      min_max_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, min_max_expr, submessage_arena);
    }
    set_has_min_max_expr();
    node_.min_max_expr_ = min_max_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.min_max_expr)
}
void Node::set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* sqlvalue_function) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (sqlvalue_function) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sqlvalue_function);
    if (message_arena != submessage_arena) {
      sqlvalue_function = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sqlvalue_function, submessage_arena);
    }
    set_has_sqlvalue_function();
    node_.sqlvalue_function_ = sqlvalue_function;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sqlvalue_function)
}
void Node::set_allocated_xml_expr(::pg_query::XmlExpr* xml_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (xml_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(xml_expr);
    if (message_arena != submessage_arena) {
      xml_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, xml_expr, submessage_arena);
    }
    set_has_xml_expr();
    node_.xml_expr_ = xml_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.xml_expr)
}
void Node::set_allocated_null_test(::pg_query::NullTest* null_test) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (null_test) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(null_test);
    if (message_arena != submessage_arena) {
      null_test = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, null_test, submessage_arena);
    }
    set_has_null_test();
    node_.null_test_ = null_test;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.null_test)
}
void Node::set_allocated_boolean_test(::pg_query::BooleanTest* boolean_test) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (boolean_test) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(boolean_test);
    if (message_arena != submessage_arena) {
      boolean_test = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, boolean_test, submessage_arena);
    }
    set_has_boolean_test();
    node_.boolean_test_ = boolean_test;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.boolean_test)
}
void Node::set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* coerce_to_domain) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (coerce_to_domain) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(coerce_to_domain);
    if (message_arena != submessage_arena) {
      coerce_to_domain = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, coerce_to_domain, submessage_arena);
    }
    set_has_coerce_to_domain();
    node_.coerce_to_domain_ = coerce_to_domain;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coerce_to_domain)
}
void Node::set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* coerce_to_domain_value) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (coerce_to_domain_value) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(coerce_to_domain_value);
    if (message_arena != submessage_arena) {
      coerce_to_domain_value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, coerce_to_domain_value, submessage_arena);
    }
    set_has_coerce_to_domain_value();
    node_.coerce_to_domain_value_ = coerce_to_domain_value;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coerce_to_domain_value)
}
void Node::set_allocated_set_to_default(::pg_query::SetToDefault* set_to_default) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (set_to_default) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(set_to_default);
    if (message_arena != submessage_arena) {
      set_to_default = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, set_to_default, submessage_arena);
    }
    set_has_set_to_default();
    node_.set_to_default_ = set_to_default;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.set_to_default)
}
void Node::set_allocated_current_of_expr(::pg_query::CurrentOfExpr* current_of_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (current_of_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(current_of_expr);
    if (message_arena != submessage_arena) {
      current_of_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, current_of_expr, submessage_arena);
    }
    set_has_current_of_expr();
    node_.current_of_expr_ = current_of_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.current_of_expr)
}
void Node::set_allocated_next_value_expr(::pg_query::NextValueExpr* next_value_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (next_value_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(next_value_expr);
    if (message_arena != submessage_arena) {
      next_value_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, next_value_expr, submessage_arena);
    }
    set_has_next_value_expr();
    node_.next_value_expr_ = next_value_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.next_value_expr)
}
void Node::set_allocated_inference_elem(::pg_query::InferenceElem* inference_elem) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (inference_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(inference_elem);
    if (message_arena != submessage_arena) {
      inference_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, inference_elem, submessage_arena);
    }
    set_has_inference_elem();
    node_.inference_elem_ = inference_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.inference_elem)
}
void Node::set_allocated_target_entry(::pg_query::TargetEntry* target_entry) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (target_entry) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(target_entry);
    if (message_arena != submessage_arena) {
      target_entry = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, target_entry, submessage_arena);
    }
    set_has_target_entry();
    node_.target_entry_ = target_entry;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.target_entry)
}
void Node::set_allocated_range_tbl_ref(::pg_query::RangeTblRef* range_tbl_ref) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_tbl_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_tbl_ref);
    if (message_arena != submessage_arena) {
      range_tbl_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_tbl_ref, submessage_arena);
    }
    set_has_range_tbl_ref();
    node_.range_tbl_ref_ = range_tbl_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_tbl_ref)
}
void Node::set_allocated_join_expr(::pg_query::JoinExpr* join_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (join_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(join_expr);
    if (message_arena != submessage_arena) {
      join_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, join_expr, submessage_arena);
    }
    set_has_join_expr();
    node_.join_expr_ = join_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.join_expr)
}
void Node::set_allocated_from_expr(::pg_query::FromExpr* from_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (from_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(from_expr);
    if (message_arena != submessage_arena) {
      from_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, from_expr, submessage_arena);
    }
    set_has_from_expr();
    node_.from_expr_ = from_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.from_expr)
}
void Node::set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* on_conflict_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (on_conflict_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(on_conflict_expr);
    if (message_arena != submessage_arena) {
      on_conflict_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, on_conflict_expr, submessage_arena);
    }
    set_has_on_conflict_expr();
    node_.on_conflict_expr_ = on_conflict_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.on_conflict_expr)
}
void Node::set_allocated_into_clause(::pg_query::IntoClause* into_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (into_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(into_clause);
    if (message_arena != submessage_arena) {
      into_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, into_clause, submessage_arena);
    }
    set_has_into_clause();
    node_.into_clause_ = into_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.into_clause)
}
void Node::set_allocated_raw_stmt(::pg_query::RawStmt* raw_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (raw_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(raw_stmt);
    if (message_arena != submessage_arena) {
      raw_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, raw_stmt, submessage_arena);
    }
    set_has_raw_stmt();
    node_.raw_stmt_ = raw_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.raw_stmt)
}
void Node::set_allocated_query(::pg_query::Query* query) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (query) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(query);
    if (message_arena != submessage_arena) {
      query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, query, submessage_arena);
    }
    set_has_query();
    node_.query_ = query;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.query)
}
void Node::set_allocated_insert_stmt(::pg_query::InsertStmt* insert_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (insert_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(insert_stmt);
    if (message_arena != submessage_arena) {
      insert_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, insert_stmt, submessage_arena);
    }
    set_has_insert_stmt();
    node_.insert_stmt_ = insert_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.insert_stmt)
}
void Node::set_allocated_delete_stmt(::pg_query::DeleteStmt* delete_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (delete_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(delete_stmt);
    if (message_arena != submessage_arena) {
      delete_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, delete_stmt, submessage_arena);
    }
    set_has_delete_stmt();
    node_.delete_stmt_ = delete_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.delete_stmt)
}
void Node::set_allocated_update_stmt(::pg_query::UpdateStmt* update_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (update_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(update_stmt);
    if (message_arena != submessage_arena) {
      update_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, update_stmt, submessage_arena);
    }
    set_has_update_stmt();
    node_.update_stmt_ = update_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.update_stmt)
}
void Node::set_allocated_select_stmt(::pg_query::SelectStmt* select_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (select_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(select_stmt);
    if (message_arena != submessage_arena) {
      select_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, select_stmt, submessage_arena);
    }
    set_has_select_stmt();
    node_.select_stmt_ = select_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.select_stmt)
}
void Node::set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* alter_table_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_table_stmt);
    if (message_arena != submessage_arena) {
      alter_table_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_table_stmt, submessage_arena);
    }
    set_has_alter_table_stmt();
    node_.alter_table_stmt_ = alter_table_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_stmt)
}
void Node::set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* alter_table_cmd) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_cmd) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_table_cmd);
    if (message_arena != submessage_arena) {
      alter_table_cmd = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_table_cmd, submessage_arena);
    }
    set_has_alter_table_cmd();
    node_.alter_table_cmd_ = alter_table_cmd;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_cmd)
}
void Node::set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* alter_domain_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_domain_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_domain_stmt);
    if (message_arena != submessage_arena) {
      alter_domain_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_domain_stmt, submessage_arena);
    }
    set_has_alter_domain_stmt();
    node_.alter_domain_stmt_ = alter_domain_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_domain_stmt)
}
void Node::set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* set_operation_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (set_operation_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(set_operation_stmt);
    if (message_arena != submessage_arena) {
      set_operation_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, set_operation_stmt, submessage_arena);
    }
    set_has_set_operation_stmt();
    node_.set_operation_stmt_ = set_operation_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.set_operation_stmt)
}
void Node::set_allocated_grant_stmt(::pg_query::GrantStmt* grant_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (grant_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(grant_stmt);
    if (message_arena != submessage_arena) {
      grant_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, grant_stmt, submessage_arena);
    }
    set_has_grant_stmt();
    node_.grant_stmt_ = grant_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grant_stmt)
}
void Node::set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* grant_role_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (grant_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(grant_role_stmt);
    if (message_arena != submessage_arena) {
      grant_role_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, grant_role_stmt, submessage_arena);
    }
    set_has_grant_role_stmt();
    node_.grant_role_stmt_ = grant_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grant_role_stmt)
}
void Node::set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_default_privileges_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_default_privileges_stmt);
    if (message_arena != submessage_arena) {
      alter_default_privileges_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_default_privileges_stmt, submessage_arena);
    }
    set_has_alter_default_privileges_stmt();
    node_.alter_default_privileges_stmt_ = alter_default_privileges_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_default_privileges_stmt)
}
void Node::set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* close_portal_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (close_portal_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(close_portal_stmt);
    if (message_arena != submessage_arena) {
      close_portal_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, close_portal_stmt, submessage_arena);
    }
    set_has_close_portal_stmt();
    node_.close_portal_stmt_ = close_portal_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.close_portal_stmt)
}
void Node::set_allocated_cluster_stmt(::pg_query::ClusterStmt* cluster_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (cluster_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(cluster_stmt);
    if (message_arena != submessage_arena) {
      cluster_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, cluster_stmt, submessage_arena);
    }
    set_has_cluster_stmt();
    node_.cluster_stmt_ = cluster_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.cluster_stmt)
}
void Node::set_allocated_copy_stmt(::pg_query::CopyStmt* copy_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (copy_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(copy_stmt);
    if (message_arena != submessage_arena) {
      copy_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, copy_stmt, submessage_arena);
    }
    set_has_copy_stmt();
    node_.copy_stmt_ = copy_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.copy_stmt)
}
void Node::set_allocated_create_stmt(::pg_query::CreateStmt* create_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_stmt);
    if (message_arena != submessage_arena) {
      create_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_stmt, submessage_arena);
    }
    set_has_create_stmt();
    node_.create_stmt_ = create_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_stmt)
}
void Node::set_allocated_define_stmt(::pg_query::DefineStmt* define_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (define_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(define_stmt);
    if (message_arena != submessage_arena) {
      define_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, define_stmt, submessage_arena);
    }
    set_has_define_stmt();
    node_.define_stmt_ = define_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.define_stmt)
}
void Node::set_allocated_drop_stmt(::pg_query::DropStmt* drop_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (drop_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(drop_stmt);
    if (message_arena != submessage_arena) {
      drop_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_stmt, submessage_arena);
    }
    set_has_drop_stmt();
    node_.drop_stmt_ = drop_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_stmt)
}
void Node::set_allocated_truncate_stmt(::pg_query::TruncateStmt* truncate_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (truncate_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(truncate_stmt);
    if (message_arena != submessage_arena) {
      truncate_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, truncate_stmt, submessage_arena);
    }
    set_has_truncate_stmt();
    node_.truncate_stmt_ = truncate_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.truncate_stmt)
}
void Node::set_allocated_comment_stmt(::pg_query::CommentStmt* comment_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (comment_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(comment_stmt);
    if (message_arena != submessage_arena) {
      comment_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, comment_stmt, submessage_arena);
    }
    set_has_comment_stmt();
    node_.comment_stmt_ = comment_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.comment_stmt)
}
void Node::set_allocated_fetch_stmt(::pg_query::FetchStmt* fetch_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (fetch_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(fetch_stmt);
    if (message_arena != submessage_arena) {
      fetch_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, fetch_stmt, submessage_arena);
    }
    set_has_fetch_stmt();
    node_.fetch_stmt_ = fetch_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.fetch_stmt)
}
void Node::set_allocated_index_stmt(::pg_query::IndexStmt* index_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (index_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(index_stmt);
    if (message_arena != submessage_arena) {
      index_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, index_stmt, submessage_arena);
    }
    set_has_index_stmt();
    node_.index_stmt_ = index_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.index_stmt)
}
void Node::set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* create_function_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_function_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_function_stmt);
    if (message_arena != submessage_arena) {
      create_function_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_function_stmt, submessage_arena);
    }
    set_has_create_function_stmt();
    node_.create_function_stmt_ = create_function_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_function_stmt)
}
void Node::set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* alter_function_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_function_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_function_stmt);
    if (message_arena != submessage_arena) {
      alter_function_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_function_stmt, submessage_arena);
    }
    set_has_alter_function_stmt();
    node_.alter_function_stmt_ = alter_function_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_function_stmt)
}
void Node::set_allocated_do_stmt(::pg_query::DoStmt* do_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (do_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(do_stmt);
    if (message_arena != submessage_arena) {
      do_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, do_stmt, submessage_arena);
    }
    set_has_do_stmt();
    node_.do_stmt_ = do_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.do_stmt)
}
void Node::set_allocated_rename_stmt(::pg_query::RenameStmt* rename_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (rename_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(rename_stmt);
    if (message_arena != submessage_arena) {
      rename_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rename_stmt, submessage_arena);
    }
    set_has_rename_stmt();
    node_.rename_stmt_ = rename_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.rename_stmt)
}
void Node::set_allocated_rule_stmt(::pg_query::RuleStmt* rule_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (rule_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(rule_stmt);
    if (message_arena != submessage_arena) {
      rule_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rule_stmt, submessage_arena);
    }
    set_has_rule_stmt();
    node_.rule_stmt_ = rule_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.rule_stmt)
}
void Node::set_allocated_notify_stmt(::pg_query::NotifyStmt* notify_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (notify_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(notify_stmt);
    if (message_arena != submessage_arena) {
      notify_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, notify_stmt, submessage_arena);
    }
    set_has_notify_stmt();
    node_.notify_stmt_ = notify_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.notify_stmt)
}
void Node::set_allocated_listen_stmt(::pg_query::ListenStmt* listen_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (listen_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(listen_stmt);
    if (message_arena != submessage_arena) {
      listen_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, listen_stmt, submessage_arena);
    }
    set_has_listen_stmt();
    node_.listen_stmt_ = listen_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.listen_stmt)
}
void Node::set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* unlisten_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (unlisten_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(unlisten_stmt);
    if (message_arena != submessage_arena) {
      unlisten_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, unlisten_stmt, submessage_arena);
    }
    set_has_unlisten_stmt();
    node_.unlisten_stmt_ = unlisten_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.unlisten_stmt)
}
void Node::set_allocated_transaction_stmt(::pg_query::TransactionStmt* transaction_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (transaction_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(transaction_stmt);
    if (message_arena != submessage_arena) {
      transaction_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, transaction_stmt, submessage_arena);
    }
    set_has_transaction_stmt();
    node_.transaction_stmt_ = transaction_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.transaction_stmt)
}
void Node::set_allocated_view_stmt(::pg_query::ViewStmt* view_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (view_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(view_stmt);
    if (message_arena != submessage_arena) {
      view_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, view_stmt, submessage_arena);
    }
    set_has_view_stmt();
    node_.view_stmt_ = view_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.view_stmt)
}
void Node::set_allocated_load_stmt(::pg_query::LoadStmt* load_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (load_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(load_stmt);
    if (message_arena != submessage_arena) {
      load_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, load_stmt, submessage_arena);
    }
    set_has_load_stmt();
    node_.load_stmt_ = load_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.load_stmt)
}
void Node::set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* create_domain_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_domain_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_domain_stmt);
    if (message_arena != submessage_arena) {
      create_domain_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_domain_stmt, submessage_arena);
    }
    set_has_create_domain_stmt();
    node_.create_domain_stmt_ = create_domain_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_domain_stmt)
}
void Node::set_allocated_createdb_stmt(::pg_query::CreatedbStmt* createdb_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (createdb_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(createdb_stmt);
    if (message_arena != submessage_arena) {
      createdb_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, createdb_stmt, submessage_arena);
    }
    set_has_createdb_stmt();
    node_.createdb_stmt_ = createdb_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.createdb_stmt)
}
void Node::set_allocated_dropdb_stmt(::pg_query::DropdbStmt* dropdb_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (dropdb_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(dropdb_stmt);
    if (message_arena != submessage_arena) {
      dropdb_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, dropdb_stmt, submessage_arena);
    }
    set_has_dropdb_stmt();
    node_.dropdb_stmt_ = dropdb_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.dropdb_stmt)
}
void Node::set_allocated_vacuum_stmt(::pg_query::VacuumStmt* vacuum_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (vacuum_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(vacuum_stmt);
    if (message_arena != submessage_arena) {
      vacuum_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, vacuum_stmt, submessage_arena);
    }
    set_has_vacuum_stmt();
    node_.vacuum_stmt_ = vacuum_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.vacuum_stmt)
}
void Node::set_allocated_explain_stmt(::pg_query::ExplainStmt* explain_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (explain_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(explain_stmt);
    if (message_arena != submessage_arena) {
      explain_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, explain_stmt, submessage_arena);
    }
    set_has_explain_stmt();
    node_.explain_stmt_ = explain_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.explain_stmt)
}
void Node::set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* create_table_as_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_table_as_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_table_as_stmt);
    if (message_arena != submessage_arena) {
      create_table_as_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_table_as_stmt, submessage_arena);
    }
    set_has_create_table_as_stmt();
    node_.create_table_as_stmt_ = create_table_as_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_table_as_stmt)
}
void Node::set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* create_seq_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_seq_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_seq_stmt);
    if (message_arena != submessage_arena) {
      create_seq_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_seq_stmt, submessage_arena);
    }
    set_has_create_seq_stmt();
    node_.create_seq_stmt_ = create_seq_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_seq_stmt)
}
void Node::set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* alter_seq_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_seq_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_seq_stmt);
    if (message_arena != submessage_arena) {
      alter_seq_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_seq_stmt, submessage_arena);
    }
    set_has_alter_seq_stmt();
    node_.alter_seq_stmt_ = alter_seq_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_seq_stmt)
}
void Node::set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* variable_set_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (variable_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(variable_set_stmt);
    if (message_arena != submessage_arena) {
      variable_set_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, variable_set_stmt, submessage_arena);
    }
    set_has_variable_set_stmt();
    node_.variable_set_stmt_ = variable_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.variable_set_stmt)
}
void Node::set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* variable_show_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (variable_show_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(variable_show_stmt);
    if (message_arena != submessage_arena) {
      variable_show_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, variable_show_stmt, submessage_arena);
    }
    set_has_variable_show_stmt();
    node_.variable_show_stmt_ = variable_show_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.variable_show_stmt)
}
void Node::set_allocated_discard_stmt(::pg_query::DiscardStmt* discard_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (discard_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(discard_stmt);
    if (message_arena != submessage_arena) {
      discard_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, discard_stmt, submessage_arena);
    }
    set_has_discard_stmt();
    node_.discard_stmt_ = discard_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.discard_stmt)
}
void Node::set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* create_trig_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_trig_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_trig_stmt);
    if (message_arena != submessage_arena) {
      create_trig_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_trig_stmt, submessage_arena);
    }
    set_has_create_trig_stmt();
    node_.create_trig_stmt_ = create_trig_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_trig_stmt)
}
void Node::set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* create_plang_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_plang_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_plang_stmt);
    if (message_arena != submessage_arena) {
      create_plang_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_plang_stmt, submessage_arena);
    }
    set_has_create_plang_stmt();
    node_.create_plang_stmt_ = create_plang_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_plang_stmt)
}
void Node::set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* create_role_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_role_stmt);
    if (message_arena != submessage_arena) {
      create_role_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_role_stmt, submessage_arena);
    }
    set_has_create_role_stmt();
    node_.create_role_stmt_ = create_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_role_stmt)
}
void Node::set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* alter_role_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_role_stmt);
    if (message_arena != submessage_arena) {
      alter_role_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_role_stmt, submessage_arena);
    }
    set_has_alter_role_stmt();
    node_.alter_role_stmt_ = alter_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_role_stmt)
}
void Node::set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* drop_role_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (drop_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(drop_role_stmt);
    if (message_arena != submessage_arena) {
      drop_role_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_role_stmt, submessage_arena);
    }
    set_has_drop_role_stmt();
    node_.drop_role_stmt_ = drop_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_role_stmt)
}
void Node::set_allocated_lock_stmt(::pg_query::LockStmt* lock_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (lock_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(lock_stmt);
    if (message_arena != submessage_arena) {
      lock_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, lock_stmt, submessage_arena);
    }
    set_has_lock_stmt();
    node_.lock_stmt_ = lock_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.lock_stmt)
}
void Node::set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* constraints_set_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (constraints_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(constraints_set_stmt);
    if (message_arena != submessage_arena) {
      constraints_set_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, constraints_set_stmt, submessage_arena);
    }
    set_has_constraints_set_stmt();
    node_.constraints_set_stmt_ = constraints_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.constraints_set_stmt)
}
void Node::set_allocated_reindex_stmt(::pg_query::ReindexStmt* reindex_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (reindex_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(reindex_stmt);
    if (message_arena != submessage_arena) {
      reindex_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, reindex_stmt, submessage_arena);
    }
    set_has_reindex_stmt();
    node_.reindex_stmt_ = reindex_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.reindex_stmt)
}
void Node::set_allocated_check_point_stmt(::pg_query::CheckPointStmt* check_point_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (check_point_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(check_point_stmt);
    if (message_arena != submessage_arena) {
      check_point_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, check_point_stmt, submessage_arena);
    }
    set_has_check_point_stmt();
    node_.check_point_stmt_ = check_point_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.check_point_stmt)
}
void Node::set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* create_schema_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_schema_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_schema_stmt);
    if (message_arena != submessage_arena) {
      create_schema_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_schema_stmt, submessage_arena);
    }
    set_has_create_schema_stmt();
    node_.create_schema_stmt_ = create_schema_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_schema_stmt)
}
void Node::set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* alter_database_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_database_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_database_stmt);
    if (message_arena != submessage_arena) {
      alter_database_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_database_stmt, submessage_arena);
    }
    set_has_alter_database_stmt();
    node_.alter_database_stmt_ = alter_database_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_database_stmt)
}
void Node::set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_database_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_database_set_stmt);
    if (message_arena != submessage_arena) {
      alter_database_set_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_database_set_stmt, submessage_arena);
    }
    set_has_alter_database_set_stmt();
    node_.alter_database_set_stmt_ = alter_database_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_database_set_stmt)
}
void Node::set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* alter_role_set_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_role_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_role_set_stmt);
    if (message_arena != submessage_arena) {
      alter_role_set_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_role_set_stmt, submessage_arena);
    }
    set_has_alter_role_set_stmt();
    node_.alter_role_set_stmt_ = alter_role_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_role_set_stmt)
}
void Node::set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* create_conversion_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_conversion_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_conversion_stmt);
    if (message_arena != submessage_arena) {
      create_conversion_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_conversion_stmt, submessage_arena);
    }
    set_has_create_conversion_stmt();
    node_.create_conversion_stmt_ = create_conversion_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_conversion_stmt)
}
void Node::set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* create_cast_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_cast_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_cast_stmt);
    if (message_arena != submessage_arena) {
      create_cast_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_cast_stmt, submessage_arena);
    }
    set_has_create_cast_stmt();
    node_.create_cast_stmt_ = create_cast_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_cast_stmt)
}
void Node::set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* create_op_class_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_op_class_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_op_class_stmt);
    if (message_arena != submessage_arena) {
      create_op_class_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_op_class_stmt, submessage_arena);
    }
    set_has_create_op_class_stmt();
    node_.create_op_class_stmt_ = create_op_class_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_op_class_stmt)
}
void Node::set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* create_op_family_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_op_family_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_op_family_stmt);
    if (message_arena != submessage_arena) {
      create_op_family_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_op_family_stmt, submessage_arena);
    }
    set_has_create_op_family_stmt();
    node_.create_op_family_stmt_ = create_op_family_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_op_family_stmt)
}
void Node::set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* alter_op_family_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_op_family_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_op_family_stmt);
    if (message_arena != submessage_arena) {
      alter_op_family_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_op_family_stmt, submessage_arena);
    }
    set_has_alter_op_family_stmt();
    node_.alter_op_family_stmt_ = alter_op_family_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_op_family_stmt)
}
void Node::set_allocated_prepare_stmt(::pg_query::PrepareStmt* prepare_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (prepare_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(prepare_stmt);
    if (message_arena != submessage_arena) {
      prepare_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, prepare_stmt, submessage_arena);
    }
    set_has_prepare_stmt();
    node_.prepare_stmt_ = prepare_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.prepare_stmt)
}
void Node::set_allocated_execute_stmt(::pg_query::ExecuteStmt* execute_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (execute_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(execute_stmt);
    if (message_arena != submessage_arena) {
      execute_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, execute_stmt, submessage_arena);
    }
    set_has_execute_stmt();
    node_.execute_stmt_ = execute_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.execute_stmt)
}
void Node::set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* deallocate_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (deallocate_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(deallocate_stmt);
    if (message_arena != submessage_arena) {
      deallocate_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, deallocate_stmt, submessage_arena);
    }
    set_has_deallocate_stmt();
    node_.deallocate_stmt_ = deallocate_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.deallocate_stmt)
}
void Node::set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* declare_cursor_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (declare_cursor_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(declare_cursor_stmt);
    if (message_arena != submessage_arena) {
      declare_cursor_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, declare_cursor_stmt, submessage_arena);
    }
    set_has_declare_cursor_stmt();
    node_.declare_cursor_stmt_ = declare_cursor_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.declare_cursor_stmt)
}
void Node::set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* create_table_space_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_table_space_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_table_space_stmt);
    if (message_arena != submessage_arena) {
      create_table_space_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_table_space_stmt, submessage_arena);
    }
    set_has_create_table_space_stmt();
    node_.create_table_space_stmt_ = create_table_space_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_table_space_stmt)
}
void Node::set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* drop_table_space_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (drop_table_space_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(drop_table_space_stmt);
    if (message_arena != submessage_arena) {
      drop_table_space_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_table_space_stmt, submessage_arena);
    }
    set_has_drop_table_space_stmt();
    node_.drop_table_space_stmt_ = drop_table_space_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_table_space_stmt)
}
void Node::set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_object_depends_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_object_depends_stmt);
    if (message_arena != submessage_arena) {
      alter_object_depends_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_object_depends_stmt, submessage_arena);
    }
    set_has_alter_object_depends_stmt();
    node_.alter_object_depends_stmt_ = alter_object_depends_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_object_depends_stmt)
}
void Node::set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_object_schema_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_object_schema_stmt);
    if (message_arena != submessage_arena) {
      alter_object_schema_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_object_schema_stmt, submessage_arena);
    }
    set_has_alter_object_schema_stmt();
    node_.alter_object_schema_stmt_ = alter_object_schema_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_object_schema_stmt)
}
void Node::set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* alter_owner_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_owner_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_owner_stmt);
    if (message_arena != submessage_arena) {
      alter_owner_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_owner_stmt, submessage_arena);
    }
    set_has_alter_owner_stmt();
    node_.alter_owner_stmt_ = alter_owner_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_owner_stmt)
}
void Node::set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* alter_operator_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_operator_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_operator_stmt);
    if (message_arena != submessage_arena) {
      alter_operator_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_operator_stmt, submessage_arena);
    }
    set_has_alter_operator_stmt();
    node_.alter_operator_stmt_ = alter_operator_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_operator_stmt)
}
void Node::set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* alter_type_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_type_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_type_stmt);
    if (message_arena != submessage_arena) {
      alter_type_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_type_stmt, submessage_arena);
    }
    set_has_alter_type_stmt();
    node_.alter_type_stmt_ = alter_type_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_type_stmt)
}
void Node::set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* drop_owned_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (drop_owned_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(drop_owned_stmt);
    if (message_arena != submessage_arena) {
      drop_owned_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_owned_stmt, submessage_arena);
    }
    set_has_drop_owned_stmt();
    node_.drop_owned_stmt_ = drop_owned_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_owned_stmt)
}
void Node::set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* reassign_owned_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (reassign_owned_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(reassign_owned_stmt);
    if (message_arena != submessage_arena) {
      reassign_owned_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, reassign_owned_stmt, submessage_arena);
    }
    set_has_reassign_owned_stmt();
    node_.reassign_owned_stmt_ = reassign_owned_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.reassign_owned_stmt)
}
void Node::set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* composite_type_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (composite_type_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(composite_type_stmt);
    if (message_arena != submessage_arena) {
      composite_type_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, composite_type_stmt, submessage_arena);
    }
    set_has_composite_type_stmt();
    node_.composite_type_stmt_ = composite_type_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.composite_type_stmt)
}
void Node::set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* create_enum_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_enum_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_enum_stmt);
    if (message_arena != submessage_arena) {
      create_enum_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_enum_stmt, submessage_arena);
    }
    set_has_create_enum_stmt();
    node_.create_enum_stmt_ = create_enum_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_enum_stmt)
}
void Node::set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* create_range_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_range_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_range_stmt);
    if (message_arena != submessage_arena) {
      create_range_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_range_stmt, submessage_arena);
    }
    set_has_create_range_stmt();
    node_.create_range_stmt_ = create_range_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_range_stmt)
}
void Node::set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* alter_enum_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_enum_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_enum_stmt);
    if (message_arena != submessage_arena) {
      alter_enum_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_enum_stmt, submessage_arena);
    }
    set_has_alter_enum_stmt();
    node_.alter_enum_stmt_ = alter_enum_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_enum_stmt)
}
void Node::set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_tsdictionary_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_tsdictionary_stmt);
    if (message_arena != submessage_arena) {
      alter_tsdictionary_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_tsdictionary_stmt, submessage_arena);
    }
    set_has_alter_tsdictionary_stmt();
    node_.alter_tsdictionary_stmt_ = alter_tsdictionary_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_tsdictionary_stmt)
}
void Node::set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_tsconfiguration_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_tsconfiguration_stmt);
    if (message_arena != submessage_arena) {
      alter_tsconfiguration_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_tsconfiguration_stmt, submessage_arena);
    }
    set_has_alter_tsconfiguration_stmt();
    node_.alter_tsconfiguration_stmt_ = alter_tsconfiguration_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_tsconfiguration_stmt)
}
void Node::set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* create_fdw_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_fdw_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_fdw_stmt);
    if (message_arena != submessage_arena) {
      create_fdw_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_fdw_stmt, submessage_arena);
    }
    set_has_create_fdw_stmt();
    node_.create_fdw_stmt_ = create_fdw_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_fdw_stmt)
}
void Node::set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* alter_fdw_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_fdw_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_fdw_stmt);
    if (message_arena != submessage_arena) {
      alter_fdw_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_fdw_stmt, submessage_arena);
    }
    set_has_alter_fdw_stmt();
    node_.alter_fdw_stmt_ = alter_fdw_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_fdw_stmt)
}
void Node::set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* create_foreign_server_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_foreign_server_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_foreign_server_stmt);
    if (message_arena != submessage_arena) {
      create_foreign_server_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_foreign_server_stmt, submessage_arena);
    }
    set_has_create_foreign_server_stmt();
    node_.create_foreign_server_stmt_ = create_foreign_server_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_foreign_server_stmt)
}
void Node::set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_foreign_server_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_foreign_server_stmt);
    if (message_arena != submessage_arena) {
      alter_foreign_server_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_foreign_server_stmt, submessage_arena);
    }
    set_has_alter_foreign_server_stmt();
    node_.alter_foreign_server_stmt_ = alter_foreign_server_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_foreign_server_stmt)
}
void Node::set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* create_user_mapping_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_user_mapping_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_user_mapping_stmt);
    if (message_arena != submessage_arena) {
      create_user_mapping_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_user_mapping_stmt, submessage_arena);
    }
    set_has_create_user_mapping_stmt();
    node_.create_user_mapping_stmt_ = create_user_mapping_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_user_mapping_stmt)
}
void Node::set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_user_mapping_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_user_mapping_stmt);
    if (message_arena != submessage_arena) {
      alter_user_mapping_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_user_mapping_stmt, submessage_arena);
    }
    set_has_alter_user_mapping_stmt();
    node_.alter_user_mapping_stmt_ = alter_user_mapping_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_user_mapping_stmt)
}
void Node::set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* drop_user_mapping_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (drop_user_mapping_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(drop_user_mapping_stmt);
    if (message_arena != submessage_arena) {
      drop_user_mapping_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_user_mapping_stmt, submessage_arena);
    }
    set_has_drop_user_mapping_stmt();
    node_.drop_user_mapping_stmt_ = drop_user_mapping_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_user_mapping_stmt)
}
void Node::set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_space_options_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_table_space_options_stmt);
    if (message_arena != submessage_arena) {
      alter_table_space_options_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_table_space_options_stmt, submessage_arena);
    }
    set_has_alter_table_space_options_stmt();
    node_.alter_table_space_options_stmt_ = alter_table_space_options_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_space_options_stmt)
}
void Node::set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_move_all_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_table_move_all_stmt);
    if (message_arena != submessage_arena) {
      alter_table_move_all_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_table_move_all_stmt, submessage_arena);
    }
    set_has_alter_table_move_all_stmt();
    node_.alter_table_move_all_stmt_ = alter_table_move_all_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_move_all_stmt)
}
void Node::set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* sec_label_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (sec_label_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sec_label_stmt);
    if (message_arena != submessage_arena) {
      sec_label_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sec_label_stmt, submessage_arena);
    }
    set_has_sec_label_stmt();
    node_.sec_label_stmt_ = sec_label_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sec_label_stmt)
}
void Node::set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* create_foreign_table_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_foreign_table_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_foreign_table_stmt);
    if (message_arena != submessage_arena) {
      create_foreign_table_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_foreign_table_stmt, submessage_arena);
    }
    set_has_create_foreign_table_stmt();
    node_.create_foreign_table_stmt_ = create_foreign_table_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_foreign_table_stmt)
}
void Node::set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (import_foreign_schema_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(import_foreign_schema_stmt);
    if (message_arena != submessage_arena) {
      import_foreign_schema_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, import_foreign_schema_stmt, submessage_arena);
    }
    set_has_import_foreign_schema_stmt();
    node_.import_foreign_schema_stmt_ = import_foreign_schema_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.import_foreign_schema_stmt)
}
void Node::set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* create_extension_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_extension_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_extension_stmt);
    if (message_arena != submessage_arena) {
      create_extension_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_extension_stmt, submessage_arena);
    }
    set_has_create_extension_stmt();
    node_.create_extension_stmt_ = create_extension_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_extension_stmt)
}
void Node::set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* alter_extension_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_extension_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_extension_stmt);
    if (message_arena != submessage_arena) {
      alter_extension_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_extension_stmt, submessage_arena);
    }
    set_has_alter_extension_stmt();
    node_.alter_extension_stmt_ = alter_extension_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_extension_stmt)
}
void Node::set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_extension_contents_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_extension_contents_stmt);
    if (message_arena != submessage_arena) {
      alter_extension_contents_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_extension_contents_stmt, submessage_arena);
    }
    set_has_alter_extension_contents_stmt();
    node_.alter_extension_contents_stmt_ = alter_extension_contents_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_extension_contents_stmt)
}
void Node::set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* create_event_trig_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_event_trig_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_event_trig_stmt);
    if (message_arena != submessage_arena) {
      create_event_trig_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_event_trig_stmt, submessage_arena);
    }
    set_has_create_event_trig_stmt();
    node_.create_event_trig_stmt_ = create_event_trig_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_event_trig_stmt)
}
void Node::set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* alter_event_trig_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_event_trig_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_event_trig_stmt);
    if (message_arena != submessage_arena) {
      alter_event_trig_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_event_trig_stmt, submessage_arena);
    }
    set_has_alter_event_trig_stmt();
    node_.alter_event_trig_stmt_ = alter_event_trig_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_event_trig_stmt)
}
void Node::set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (refresh_mat_view_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(refresh_mat_view_stmt);
    if (message_arena != submessage_arena) {
      refresh_mat_view_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, refresh_mat_view_stmt, submessage_arena);
    }
    set_has_refresh_mat_view_stmt();
    node_.refresh_mat_view_stmt_ = refresh_mat_view_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.refresh_mat_view_stmt)
}
void Node::set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* replica_identity_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (replica_identity_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(replica_identity_stmt);
    if (message_arena != submessage_arena) {
      replica_identity_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, replica_identity_stmt, submessage_arena);
    }
    set_has_replica_identity_stmt();
    node_.replica_identity_stmt_ = replica_identity_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.replica_identity_stmt)
}
void Node::set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* alter_system_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_system_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_system_stmt);
    if (message_arena != submessage_arena) {
      alter_system_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_system_stmt, submessage_arena);
    }
    set_has_alter_system_stmt();
    node_.alter_system_stmt_ = alter_system_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_system_stmt)
}
void Node::set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* create_policy_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_policy_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_policy_stmt);
    if (message_arena != submessage_arena) {
      create_policy_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_policy_stmt, submessage_arena);
    }
    set_has_create_policy_stmt();
    node_.create_policy_stmt_ = create_policy_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_policy_stmt)
}
void Node::set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* alter_policy_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_policy_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_policy_stmt);
    if (message_arena != submessage_arena) {
      alter_policy_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_policy_stmt, submessage_arena);
    }
    set_has_alter_policy_stmt();
    node_.alter_policy_stmt_ = alter_policy_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_policy_stmt)
}
void Node::set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* create_transform_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_transform_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_transform_stmt);
    if (message_arena != submessage_arena) {
      create_transform_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_transform_stmt, submessage_arena);
    }
    set_has_create_transform_stmt();
    node_.create_transform_stmt_ = create_transform_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_transform_stmt)
}
void Node::set_allocated_create_am_stmt(::pg_query::CreateAmStmt* create_am_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_am_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_am_stmt);
    if (message_arena != submessage_arena) {
      create_am_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_am_stmt, submessage_arena);
    }
    set_has_create_am_stmt();
    node_.create_am_stmt_ = create_am_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_am_stmt)
}
void Node::set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* create_publication_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_publication_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_publication_stmt);
    if (message_arena != submessage_arena) {
      create_publication_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_publication_stmt, submessage_arena);
    }
    set_has_create_publication_stmt();
    node_.create_publication_stmt_ = create_publication_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_publication_stmt)
}
void Node::set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* alter_publication_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_publication_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_publication_stmt);
    if (message_arena != submessage_arena) {
      alter_publication_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_publication_stmt, submessage_arena);
    }
    set_has_alter_publication_stmt();
    node_.alter_publication_stmt_ = alter_publication_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_publication_stmt)
}
void Node::set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* create_subscription_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_subscription_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_subscription_stmt);
    if (message_arena != submessage_arena) {
      create_subscription_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_subscription_stmt, submessage_arena);
    }
    set_has_create_subscription_stmt();
    node_.create_subscription_stmt_ = create_subscription_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_subscription_stmt)
}
void Node::set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* alter_subscription_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_subscription_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_subscription_stmt);
    if (message_arena != submessage_arena) {
      alter_subscription_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_subscription_stmt, submessage_arena);
    }
    set_has_alter_subscription_stmt();
    node_.alter_subscription_stmt_ = alter_subscription_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_subscription_stmt)
}
void Node::set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* drop_subscription_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (drop_subscription_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(drop_subscription_stmt);
    if (message_arena != submessage_arena) {
      drop_subscription_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_subscription_stmt, submessage_arena);
    }
    set_has_drop_subscription_stmt();
    node_.drop_subscription_stmt_ = drop_subscription_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_subscription_stmt)
}
void Node::set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* create_stats_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_stats_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_stats_stmt);
    if (message_arena != submessage_arena) {
      create_stats_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_stats_stmt, submessage_arena);
    }
    set_has_create_stats_stmt();
    node_.create_stats_stmt_ = create_stats_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_stats_stmt)
}
void Node::set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* alter_collation_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_collation_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_collation_stmt);
    if (message_arena != submessage_arena) {
      alter_collation_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_collation_stmt, submessage_arena);
    }
    set_has_alter_collation_stmt();
    node_.alter_collation_stmt_ = alter_collation_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_collation_stmt)
}
void Node::set_allocated_call_stmt(::pg_query::CallStmt* call_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (call_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(call_stmt);
    if (message_arena != submessage_arena) {
      call_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, call_stmt, submessage_arena);
    }
    set_has_call_stmt();
    node_.call_stmt_ = call_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.call_stmt)
}
void Node::set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* alter_stats_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (alter_stats_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(alter_stats_stmt);
    if (message_arena != submessage_arena) {
      alter_stats_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_stats_stmt, submessage_arena);
    }
    set_has_alter_stats_stmt();
    node_.alter_stats_stmt_ = alter_stats_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_stats_stmt)
}
void Node::set_allocated_a_expr(::pg_query::A_Expr* a_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (a_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(a_expr);
    if (message_arena != submessage_arena) {
      a_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_expr, submessage_arena);
    }
    set_has_a_expr();
    node_.a_expr_ = a_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_expr)
}
void Node::set_allocated_column_ref(::pg_query::ColumnRef* column_ref) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (column_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(column_ref);
    if (message_arena != submessage_arena) {
      column_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, column_ref, submessage_arena);
    }
    set_has_column_ref();
    node_.column_ref_ = column_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.column_ref)
}
void Node::set_allocated_param_ref(::pg_query::ParamRef* param_ref) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (param_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(param_ref);
    if (message_arena != submessage_arena) {
      param_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, param_ref, submessage_arena);
    }
    set_has_param_ref();
    node_.param_ref_ = param_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.param_ref)
}
void Node::set_allocated_a_const(::pg_query::A_Const* a_const) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (a_const) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(a_const);
    if (message_arena != submessage_arena) {
      a_const = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_const, submessage_arena);
    }
    set_has_a_const();
    node_.a_const_ = a_const;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_const)
}
void Node::set_allocated_func_call(::pg_query::FuncCall* func_call) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (func_call) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(func_call);
    if (message_arena != submessage_arena) {
      func_call = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, func_call, submessage_arena);
    }
    set_has_func_call();
    node_.func_call_ = func_call;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.func_call)
}
void Node::set_allocated_a_star(::pg_query::A_Star* a_star) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (a_star) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(a_star);
    if (message_arena != submessage_arena) {
      a_star = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_star, submessage_arena);
    }
    set_has_a_star();
    node_.a_star_ = a_star;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_star)
}
void Node::set_allocated_a_indices(::pg_query::A_Indices* a_indices) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (a_indices) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(a_indices);
    if (message_arena != submessage_arena) {
      a_indices = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_indices, submessage_arena);
    }
    set_has_a_indices();
    node_.a_indices_ = a_indices;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_indices)
}
void Node::set_allocated_a_indirection(::pg_query::A_Indirection* a_indirection) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (a_indirection) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(a_indirection);
    if (message_arena != submessage_arena) {
      a_indirection = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_indirection, submessage_arena);
    }
    set_has_a_indirection();
    node_.a_indirection_ = a_indirection;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_indirection)
}
void Node::set_allocated_a_array_expr(::pg_query::A_ArrayExpr* a_array_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (a_array_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(a_array_expr);
    if (message_arena != submessage_arena) {
      a_array_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_array_expr, submessage_arena);
    }
    set_has_a_array_expr();
    node_.a_array_expr_ = a_array_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_array_expr)
}
void Node::set_allocated_res_target(::pg_query::ResTarget* res_target) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (res_target) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(res_target);
    if (message_arena != submessage_arena) {
      res_target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, res_target, submessage_arena);
    }
    set_has_res_target();
    node_.res_target_ = res_target;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.res_target)
}
void Node::set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* multi_assign_ref) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (multi_assign_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(multi_assign_ref);
    if (message_arena != submessage_arena) {
      multi_assign_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, multi_assign_ref, submessage_arena);
    }
    set_has_multi_assign_ref();
    node_.multi_assign_ref_ = multi_assign_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.multi_assign_ref)
}
void Node::set_allocated_type_cast(::pg_query::TypeCast* type_cast) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (type_cast) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(type_cast);
    if (message_arena != submessage_arena) {
      type_cast = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, type_cast, submessage_arena);
    }
    set_has_type_cast();
    node_.type_cast_ = type_cast;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.type_cast)
}
void Node::set_allocated_collate_clause(::pg_query::CollateClause* collate_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (collate_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(collate_clause);
    if (message_arena != submessage_arena) {
      collate_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, collate_clause, submessage_arena);
    }
    set_has_collate_clause();
    node_.collate_clause_ = collate_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.collate_clause)
}
void Node::set_allocated_sort_by(::pg_query::SortBy* sort_by) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (sort_by) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sort_by);
    if (message_arena != submessage_arena) {
      sort_by = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sort_by, submessage_arena);
    }
    set_has_sort_by();
    node_.sort_by_ = sort_by;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sort_by)
}
void Node::set_allocated_window_def(::pg_query::WindowDef* window_def) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (window_def) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(window_def);
    if (message_arena != submessage_arena) {
      window_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, window_def, submessage_arena);
    }
    set_has_window_def();
    node_.window_def_ = window_def;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.window_def)
}
void Node::set_allocated_range_subselect(::pg_query::RangeSubselect* range_subselect) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_subselect) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_subselect);
    if (message_arena != submessage_arena) {
      range_subselect = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_subselect, submessage_arena);
    }
    set_has_range_subselect();
    node_.range_subselect_ = range_subselect;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_subselect)
}
void Node::set_allocated_range_function(::pg_query::RangeFunction* range_function) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_function) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_function);
    if (message_arena != submessage_arena) {
      range_function = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_function, submessage_arena);
    }
    set_has_range_function();
    node_.range_function_ = range_function;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_function)
}
void Node::set_allocated_range_table_sample(::pg_query::RangeTableSample* range_table_sample) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_table_sample) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_table_sample);
    if (message_arena != submessage_arena) {
      range_table_sample = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_table_sample, submessage_arena);
    }
    set_has_range_table_sample();
    node_.range_table_sample_ = range_table_sample;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_table_sample)
}
void Node::set_allocated_range_table_func(::pg_query::RangeTableFunc* range_table_func) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_table_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_table_func);
    if (message_arena != submessage_arena) {
      range_table_func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_table_func, submessage_arena);
    }
    set_has_range_table_func();
    node_.range_table_func_ = range_table_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_table_func)
}
void Node::set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* range_table_func_col) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_table_func_col) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_table_func_col);
    if (message_arena != submessage_arena) {
      range_table_func_col = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_table_func_col, submessage_arena);
    }
    set_has_range_table_func_col();
    node_.range_table_func_col_ = range_table_func_col;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_table_func_col)
}
void Node::set_allocated_type_name(::pg_query::TypeName* type_name) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (type_name) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(type_name);
    if (message_arena != submessage_arena) {
      type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, type_name, submessage_arena);
    }
    set_has_type_name();
    node_.type_name_ = type_name;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.type_name)
}
void Node::set_allocated_column_def(::pg_query::ColumnDef* column_def) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (column_def) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(column_def);
    if (message_arena != submessage_arena) {
      column_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, column_def, submessage_arena);
    }
    set_has_column_def();
    node_.column_def_ = column_def;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.column_def)
}
void Node::set_allocated_index_elem(::pg_query::IndexElem* index_elem) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (index_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(index_elem);
    if (message_arena != submessage_arena) {
      index_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, index_elem, submessage_arena);
    }
    set_has_index_elem();
    node_.index_elem_ = index_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.index_elem)
}
void Node::set_allocated_constraint(::pg_query::Constraint* constraint) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (constraint) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(constraint);
    if (message_arena != submessage_arena) {
      constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, constraint, submessage_arena);
    }
    set_has_constraint();
    node_.constraint_ = constraint;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.constraint)
}
void Node::set_allocated_def_elem(::pg_query::DefElem* def_elem) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (def_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(def_elem);
    if (message_arena != submessage_arena) {
      def_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, def_elem, submessage_arena);
    }
    set_has_def_elem();
    node_.def_elem_ = def_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.def_elem)
}
void Node::set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* range_tbl_entry) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_tbl_entry) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_tbl_entry);
    if (message_arena != submessage_arena) {
      range_tbl_entry = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_tbl_entry, submessage_arena);
    }
    set_has_range_tbl_entry();
    node_.range_tbl_entry_ = range_tbl_entry;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_tbl_entry)
}
void Node::set_allocated_range_tbl_function(::pg_query::RangeTblFunction* range_tbl_function) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (range_tbl_function) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(range_tbl_function);
    if (message_arena != submessage_arena) {
      range_tbl_function = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_tbl_function, submessage_arena);
    }
    set_has_range_tbl_function();
    node_.range_tbl_function_ = range_tbl_function;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_tbl_function)
}
void Node::set_allocated_table_sample_clause(::pg_query::TableSampleClause* table_sample_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (table_sample_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(table_sample_clause);
    if (message_arena != submessage_arena) {
      table_sample_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, table_sample_clause, submessage_arena);
    }
    set_has_table_sample_clause();
    node_.table_sample_clause_ = table_sample_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.table_sample_clause)
}
void Node::set_allocated_with_check_option(::pg_query::WithCheckOption* with_check_option) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (with_check_option) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(with_check_option);
    if (message_arena != submessage_arena) {
      with_check_option = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, with_check_option, submessage_arena);
    }
    set_has_with_check_option();
    node_.with_check_option_ = with_check_option;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.with_check_option)
}
void Node::set_allocated_sort_group_clause(::pg_query::SortGroupClause* sort_group_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (sort_group_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sort_group_clause);
    if (message_arena != submessage_arena) {
      sort_group_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sort_group_clause, submessage_arena);
    }
    set_has_sort_group_clause();
    node_.sort_group_clause_ = sort_group_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sort_group_clause)
}
void Node::set_allocated_grouping_set(::pg_query::GroupingSet* grouping_set) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (grouping_set) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(grouping_set);
    if (message_arena != submessage_arena) {
      grouping_set = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, grouping_set, submessage_arena);
    }
    set_has_grouping_set();
    node_.grouping_set_ = grouping_set;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grouping_set)
}
void Node::set_allocated_window_clause(::pg_query::WindowClause* window_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (window_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(window_clause);
    if (message_arena != submessage_arena) {
      window_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, window_clause, submessage_arena);
    }
    set_has_window_clause();
    node_.window_clause_ = window_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.window_clause)
}
void Node::set_allocated_object_with_args(::pg_query::ObjectWithArgs* object_with_args) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (object_with_args) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(object_with_args);
    if (message_arena != submessage_arena) {
      object_with_args = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, object_with_args, submessage_arena);
    }
    set_has_object_with_args();
    node_.object_with_args_ = object_with_args;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.object_with_args)
}
void Node::set_allocated_access_priv(::pg_query::AccessPriv* access_priv) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (access_priv) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(access_priv);
    if (message_arena != submessage_arena) {
      access_priv = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, access_priv, submessage_arena);
    }
    set_has_access_priv();
    node_.access_priv_ = access_priv;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.access_priv)
}
void Node::set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* create_op_class_item) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (create_op_class_item) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(create_op_class_item);
    if (message_arena != submessage_arena) {
      create_op_class_item = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_op_class_item, submessage_arena);
    }
    set_has_create_op_class_item();
    node_.create_op_class_item_ = create_op_class_item;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_op_class_item)
}
void Node::set_allocated_table_like_clause(::pg_query::TableLikeClause* table_like_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (table_like_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(table_like_clause);
    if (message_arena != submessage_arena) {
      table_like_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, table_like_clause, submessage_arena);
    }
    set_has_table_like_clause();
    node_.table_like_clause_ = table_like_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.table_like_clause)
}
void Node::set_allocated_function_parameter(::pg_query::FunctionParameter* function_parameter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (function_parameter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(function_parameter);
    if (message_arena != submessage_arena) {
      function_parameter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, function_parameter, submessage_arena);
    }
    set_has_function_parameter();
    node_.function_parameter_ = function_parameter;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.function_parameter)
}
void Node::set_allocated_locking_clause(::pg_query::LockingClause* locking_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (locking_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(locking_clause);
    if (message_arena != submessage_arena) {
      locking_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, locking_clause, submessage_arena);
    }
    set_has_locking_clause();
    node_.locking_clause_ = locking_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.locking_clause)
}
void Node::set_allocated_row_mark_clause(::pg_query::RowMarkClause* row_mark_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (row_mark_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(row_mark_clause);
    if (message_arena != submessage_arena) {
      row_mark_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, row_mark_clause, submessage_arena);
    }
    set_has_row_mark_clause();
    node_.row_mark_clause_ = row_mark_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.row_mark_clause)
}
void Node::set_allocated_xml_serialize(::pg_query::XmlSerialize* xml_serialize) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (xml_serialize) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(xml_serialize);
    if (message_arena != submessage_arena) {
      xml_serialize = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, xml_serialize, submessage_arena);
    }
    set_has_xml_serialize();
    node_.xml_serialize_ = xml_serialize;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.xml_serialize)
}
void Node::set_allocated_with_clause(::pg_query::WithClause* with_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (with_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(with_clause);
    if (message_arena != submessage_arena) {
      with_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, with_clause, submessage_arena);
    }
    set_has_with_clause();
    node_.with_clause_ = with_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.with_clause)
}
void Node::set_allocated_infer_clause(::pg_query::InferClause* infer_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (infer_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(infer_clause);
    if (message_arena != submessage_arena) {
      infer_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, infer_clause, submessage_arena);
    }
    set_has_infer_clause();
    node_.infer_clause_ = infer_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.infer_clause)
}
void Node::set_allocated_on_conflict_clause(::pg_query::OnConflictClause* on_conflict_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (on_conflict_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(on_conflict_clause);
    if (message_arena != submessage_arena) {
      on_conflict_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, on_conflict_clause, submessage_arena);
    }
    set_has_on_conflict_clause();
    node_.on_conflict_clause_ = on_conflict_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.on_conflict_clause)
}
void Node::set_allocated_common_table_expr(::pg_query::CommonTableExpr* common_table_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (common_table_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(common_table_expr);
    if (message_arena != submessage_arena) {
      common_table_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, common_table_expr, submessage_arena);
    }
    set_has_common_table_expr();
    node_.common_table_expr_ = common_table_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.common_table_expr)
}
void Node::set_allocated_role_spec(::pg_query::RoleSpec* role_spec) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (role_spec) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(role_spec);
    if (message_arena != submessage_arena) {
      role_spec = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, role_spec, submessage_arena);
    }
    set_has_role_spec();
    node_.role_spec_ = role_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.role_spec)
}
void Node::set_allocated_trigger_transition(::pg_query::TriggerTransition* trigger_transition) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (trigger_transition) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(trigger_transition);
    if (message_arena != submessage_arena) {
      trigger_transition = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, trigger_transition, submessage_arena);
    }
    set_has_trigger_transition();
    node_.trigger_transition_ = trigger_transition;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.trigger_transition)
}
void Node::set_allocated_partition_elem(::pg_query::PartitionElem* partition_elem) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (partition_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(partition_elem);
    if (message_arena != submessage_arena) {
      partition_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_elem, submessage_arena);
    }
    set_has_partition_elem();
    node_.partition_elem_ = partition_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_elem)
}
void Node::set_allocated_partition_spec(::pg_query::PartitionSpec* partition_spec) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (partition_spec) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(partition_spec);
    if (message_arena != submessage_arena) {
      partition_spec = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_spec, submessage_arena);
    }
    set_has_partition_spec();
    node_.partition_spec_ = partition_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_spec)
}
void Node::set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* partition_bound_spec) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (partition_bound_spec) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(partition_bound_spec);
    if (message_arena != submessage_arena) {
      partition_bound_spec = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_bound_spec, submessage_arena);
    }
    set_has_partition_bound_spec();
    node_.partition_bound_spec_ = partition_bound_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_bound_spec)
}
void Node::set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* partition_range_datum) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (partition_range_datum) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(partition_range_datum);
    if (message_arena != submessage_arena) {
      partition_range_datum = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_range_datum, submessage_arena);
    }
    set_has_partition_range_datum();
    node_.partition_range_datum_ = partition_range_datum;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_range_datum)
}
void Node::set_allocated_partition_cmd(::pg_query::PartitionCmd* partition_cmd) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (partition_cmd) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(partition_cmd);
    if (message_arena != submessage_arena) {
      partition_cmd = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_cmd, submessage_arena);
    }
    set_has_partition_cmd();
    node_.partition_cmd_ = partition_cmd;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_cmd)
}
void Node::set_allocated_vacuum_relation(::pg_query::VacuumRelation* vacuum_relation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (vacuum_relation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(vacuum_relation);
    if (message_arena != submessage_arena) {
      vacuum_relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, vacuum_relation, submessage_arena);
    }
    set_has_vacuum_relation();
    node_.vacuum_relation_ = vacuum_relation;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.vacuum_relation)
}
void Node::set_allocated_inline_code_block(::pg_query::InlineCodeBlock* inline_code_block) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (inline_code_block) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(inline_code_block);
    if (message_arena != submessage_arena) {
      inline_code_block = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, inline_code_block, submessage_arena);
    }
    set_has_inline_code_block();
    node_.inline_code_block_ = inline_code_block;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.inline_code_block)
}
void Node::set_allocated_call_context(::pg_query::CallContext* call_context) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (call_context) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(call_context);
    if (message_arena != submessage_arena) {
      call_context = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, call_context, submessage_arena);
    }
    set_has_call_context();
    node_.call_context_ = call_context;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.call_context)
}
void Node::set_allocated_integer(::pg_query::Integer* integer) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (integer) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(integer);
    if (message_arena != submessage_arena) {
      integer = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, integer, submessage_arena);
    }
    set_has_integer();
    node_.integer_ = integer;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.integer)
}
void Node::set_allocated_float_(::pg_query::Float* float_) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (float_) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(float_);
    if (message_arena != submessage_arena) {
      float_ = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, float_, submessage_arena);
    }
    set_has_float_();
    node_.float__ = float_;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.float)
}
void Node::set_allocated_string(::pg_query::String* string) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (string) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(string);
    if (message_arena != submessage_arena) {
      string = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, string, submessage_arena);
    }
    set_has_string();
    node_.string_ = string;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.string)
}
void Node::set_allocated_bit_string(::pg_query::BitString* bit_string) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (bit_string) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bit_string);
    if (message_arena != submessage_arena) {
      bit_string = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, bit_string, submessage_arena);
    }
    set_has_bit_string();
    node_.bit_string_ = bit_string;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.bit_string)
}
void Node::set_allocated_null(::pg_query::Null* null) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (null) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(null);
    if (message_arena != submessage_arena) {
      null = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, null, submessage_arena);
    }
    set_has_null();
    node_.null_ = null;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.null)
}
void Node::set_allocated_list(::pg_query::List* list) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (list) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(list);
    if (message_arena != submessage_arena) {
      list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, list, submessage_arena);
    }
    set_has_list();
    node_.list_ = list;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.list)
}
void Node::set_allocated_int_list(::pg_query::IntList* int_list) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (int_list) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(int_list);
    if (message_arena != submessage_arena) {
      int_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, int_list, submessage_arena);
    }
    set_has_int_list();
    node_.int_list_ = int_list;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.int_list)
}
void Node::set_allocated_oid_list(::pg_query::OidList* oid_list) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  clear_node();
  if (oid_list) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(oid_list);
    if (message_arena != submessage_arena) {
      oid_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, oid_list, submessage_arena);
    }
    set_has_oid_list();
    node_.oid_list_ = oid_list;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.oid_list)
}
Node::Node(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Node)
}
Node::Node(const Node& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  clear_has_node();
  switch (from.node_case()) {
    case kAlias: {
      _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
      break;
    }
    case kRangeVar: {
      _internal_mutable_range_var()->::pg_query::RangeVar::MergeFrom(from._internal_range_var());
      break;
    }
    case kTableFunc: {
      _internal_mutable_table_func()->::pg_query::TableFunc::MergeFrom(from._internal_table_func());
      break;
    }
    case kExpr: {
      _internal_mutable_expr()->::pg_query::Expr::MergeFrom(from._internal_expr());
      break;
    }
    case kVar: {
      _internal_mutable_var()->::pg_query::Var::MergeFrom(from._internal_var());
      break;
    }
    case kParam: {
      _internal_mutable_param()->::pg_query::Param::MergeFrom(from._internal_param());
      break;
    }
    case kAggref: {
      _internal_mutable_aggref()->::pg_query::Aggref::MergeFrom(from._internal_aggref());
      break;
    }
    case kGroupingFunc: {
      _internal_mutable_grouping_func()->::pg_query::GroupingFunc::MergeFrom(from._internal_grouping_func());
      break;
    }
    case kWindowFunc: {
      _internal_mutable_window_func()->::pg_query::WindowFunc::MergeFrom(from._internal_window_func());
      break;
    }
    case kSubscriptingRef: {
      _internal_mutable_subscripting_ref()->::pg_query::SubscriptingRef::MergeFrom(from._internal_subscripting_ref());
      break;
    }
    case kFuncExpr: {
      _internal_mutable_func_expr()->::pg_query::FuncExpr::MergeFrom(from._internal_func_expr());
      break;
    }
    case kNamedArgExpr: {
      _internal_mutable_named_arg_expr()->::pg_query::NamedArgExpr::MergeFrom(from._internal_named_arg_expr());
      break;
    }
    case kOpExpr: {
      _internal_mutable_op_expr()->::pg_query::OpExpr::MergeFrom(from._internal_op_expr());
      break;
    }
    case kDistinctExpr: {
      _internal_mutable_distinct_expr()->::pg_query::DistinctExpr::MergeFrom(from._internal_distinct_expr());
      break;
    }
    case kNullIfExpr: {
      _internal_mutable_null_if_expr()->::pg_query::NullIfExpr::MergeFrom(from._internal_null_if_expr());
      break;
    }
    case kScalarArrayOpExpr: {
      _internal_mutable_scalar_array_op_expr()->::pg_query::ScalarArrayOpExpr::MergeFrom(from._internal_scalar_array_op_expr());
      break;
    }
    case kBoolExpr: {
      _internal_mutable_bool_expr()->::pg_query::BoolExpr::MergeFrom(from._internal_bool_expr());
      break;
    }
    case kSubLink: {
      _internal_mutable_sub_link()->::pg_query::SubLink::MergeFrom(from._internal_sub_link());
      break;
    }
    case kSubPlan: {
      _internal_mutable_sub_plan()->::pg_query::SubPlan::MergeFrom(from._internal_sub_plan());
      break;
    }
    case kAlternativeSubPlan: {
      _internal_mutable_alternative_sub_plan()->::pg_query::AlternativeSubPlan::MergeFrom(from._internal_alternative_sub_plan());
      break;
    }
    case kFieldSelect: {
      _internal_mutable_field_select()->::pg_query::FieldSelect::MergeFrom(from._internal_field_select());
      break;
    }
    case kFieldStore: {
      _internal_mutable_field_store()->::pg_query::FieldStore::MergeFrom(from._internal_field_store());
      break;
    }
    case kRelabelType: {
      _internal_mutable_relabel_type()->::pg_query::RelabelType::MergeFrom(from._internal_relabel_type());
      break;
    }
    case kCoerceViaIo: {
      _internal_mutable_coerce_via_io()->::pg_query::CoerceViaIO::MergeFrom(from._internal_coerce_via_io());
      break;
    }
    case kArrayCoerceExpr: {
      _internal_mutable_array_coerce_expr()->::pg_query::ArrayCoerceExpr::MergeFrom(from._internal_array_coerce_expr());
      break;
    }
    case kConvertRowtypeExpr: {
      _internal_mutable_convert_rowtype_expr()->::pg_query::ConvertRowtypeExpr::MergeFrom(from._internal_convert_rowtype_expr());
      break;
    }
    case kCollateExpr: {
      _internal_mutable_collate_expr()->::pg_query::CollateExpr::MergeFrom(from._internal_collate_expr());
      break;
    }
    case kCaseExpr: {
      _internal_mutable_case_expr()->::pg_query::CaseExpr::MergeFrom(from._internal_case_expr());
      break;
    }
    case kCaseWhen: {
      _internal_mutable_case_when()->::pg_query::CaseWhen::MergeFrom(from._internal_case_when());
      break;
    }
    case kCaseTestExpr: {
      _internal_mutable_case_test_expr()->::pg_query::CaseTestExpr::MergeFrom(from._internal_case_test_expr());
      break;
    }
    case kArrayExpr: {
      _internal_mutable_array_expr()->::pg_query::ArrayExpr::MergeFrom(from._internal_array_expr());
      break;
    }
    case kRowExpr: {
      _internal_mutable_row_expr()->::pg_query::RowExpr::MergeFrom(from._internal_row_expr());
      break;
    }
    case kRowCompareExpr: {
      _internal_mutable_row_compare_expr()->::pg_query::RowCompareExpr::MergeFrom(from._internal_row_compare_expr());
      break;
    }
    case kCoalesceExpr: {
      _internal_mutable_coalesce_expr()->::pg_query::CoalesceExpr::MergeFrom(from._internal_coalesce_expr());
      break;
    }
    case kMinMaxExpr: {
      _internal_mutable_min_max_expr()->::pg_query::MinMaxExpr::MergeFrom(from._internal_min_max_expr());
      break;
    }
    case kSqlvalueFunction: {
      _internal_mutable_sqlvalue_function()->::pg_query::SQLValueFunction::MergeFrom(from._internal_sqlvalue_function());
      break;
    }
    case kXmlExpr: {
      _internal_mutable_xml_expr()->::pg_query::XmlExpr::MergeFrom(from._internal_xml_expr());
      break;
    }
    case kNullTest: {
      _internal_mutable_null_test()->::pg_query::NullTest::MergeFrom(from._internal_null_test());
      break;
    }
    case kBooleanTest: {
      _internal_mutable_boolean_test()->::pg_query::BooleanTest::MergeFrom(from._internal_boolean_test());
      break;
    }
    case kCoerceToDomain: {
      _internal_mutable_coerce_to_domain()->::pg_query::CoerceToDomain::MergeFrom(from._internal_coerce_to_domain());
      break;
    }
    case kCoerceToDomainValue: {
      _internal_mutable_coerce_to_domain_value()->::pg_query::CoerceToDomainValue::MergeFrom(from._internal_coerce_to_domain_value());
      break;
    }
    case kSetToDefault: {
      _internal_mutable_set_to_default()->::pg_query::SetToDefault::MergeFrom(from._internal_set_to_default());
      break;
    }
    case kCurrentOfExpr: {
      _internal_mutable_current_of_expr()->::pg_query::CurrentOfExpr::MergeFrom(from._internal_current_of_expr());
      break;
    }
    case kNextValueExpr: {
      _internal_mutable_next_value_expr()->::pg_query::NextValueExpr::MergeFrom(from._internal_next_value_expr());
      break;
    }
    case kInferenceElem: {
      _internal_mutable_inference_elem()->::pg_query::InferenceElem::MergeFrom(from._internal_inference_elem());
      break;
    }
    case kTargetEntry: {
      _internal_mutable_target_entry()->::pg_query::TargetEntry::MergeFrom(from._internal_target_entry());
      break;
    }
    case kRangeTblRef: {
      _internal_mutable_range_tbl_ref()->::pg_query::RangeTblRef::MergeFrom(from._internal_range_tbl_ref());
      break;
    }
    case kJoinExpr: {
      _internal_mutable_join_expr()->::pg_query::JoinExpr::MergeFrom(from._internal_join_expr());
      break;
    }
    case kFromExpr: {
      _internal_mutable_from_expr()->::pg_query::FromExpr::MergeFrom(from._internal_from_expr());
      break;
    }
    case kOnConflictExpr: {
      _internal_mutable_on_conflict_expr()->::pg_query::OnConflictExpr::MergeFrom(from._internal_on_conflict_expr());
      break;
    }
    case kIntoClause: {
      _internal_mutable_into_clause()->::pg_query::IntoClause::MergeFrom(from._internal_into_clause());
      break;
    }
    case kRawStmt: {
      _internal_mutable_raw_stmt()->::pg_query::RawStmt::MergeFrom(from._internal_raw_stmt());
      break;
    }
    case kQuery: {
      _internal_mutable_query()->::pg_query::Query::MergeFrom(from._internal_query());
      break;
    }
    case kInsertStmt: {
      _internal_mutable_insert_stmt()->::pg_query::InsertStmt::MergeFrom(from._internal_insert_stmt());
      break;
    }
    case kDeleteStmt: {
      _internal_mutable_delete_stmt()->::pg_query::DeleteStmt::MergeFrom(from._internal_delete_stmt());
      break;
    }
    case kUpdateStmt: {
      _internal_mutable_update_stmt()->::pg_query::UpdateStmt::MergeFrom(from._internal_update_stmt());
      break;
    }
    case kSelectStmt: {
      _internal_mutable_select_stmt()->::pg_query::SelectStmt::MergeFrom(from._internal_select_stmt());
      break;
    }
    case kAlterTableStmt: {
      _internal_mutable_alter_table_stmt()->::pg_query::AlterTableStmt::MergeFrom(from._internal_alter_table_stmt());
      break;
    }
    case kAlterTableCmd: {
      _internal_mutable_alter_table_cmd()->::pg_query::AlterTableCmd::MergeFrom(from._internal_alter_table_cmd());
      break;
    }
    case kAlterDomainStmt: {
      _internal_mutable_alter_domain_stmt()->::pg_query::AlterDomainStmt::MergeFrom(from._internal_alter_domain_stmt());
      break;
    }
    case kSetOperationStmt: {
      _internal_mutable_set_operation_stmt()->::pg_query::SetOperationStmt::MergeFrom(from._internal_set_operation_stmt());
      break;
    }
    case kGrantStmt: {
      _internal_mutable_grant_stmt()->::pg_query::GrantStmt::MergeFrom(from._internal_grant_stmt());
      break;
    }
    case kGrantRoleStmt: {
      _internal_mutable_grant_role_stmt()->::pg_query::GrantRoleStmt::MergeFrom(from._internal_grant_role_stmt());
      break;
    }
    case kAlterDefaultPrivilegesStmt: {
      _internal_mutable_alter_default_privileges_stmt()->::pg_query::AlterDefaultPrivilegesStmt::MergeFrom(from._internal_alter_default_privileges_stmt());
      break;
    }
    case kClosePortalStmt: {
      _internal_mutable_close_portal_stmt()->::pg_query::ClosePortalStmt::MergeFrom(from._internal_close_portal_stmt());
      break;
    }
    case kClusterStmt: {
      _internal_mutable_cluster_stmt()->::pg_query::ClusterStmt::MergeFrom(from._internal_cluster_stmt());
      break;
    }
    case kCopyStmt: {
      _internal_mutable_copy_stmt()->::pg_query::CopyStmt::MergeFrom(from._internal_copy_stmt());
      break;
    }
    case kCreateStmt: {
      _internal_mutable_create_stmt()->::pg_query::CreateStmt::MergeFrom(from._internal_create_stmt());
      break;
    }
    case kDefineStmt: {
      _internal_mutable_define_stmt()->::pg_query::DefineStmt::MergeFrom(from._internal_define_stmt());
      break;
    }
    case kDropStmt: {
      _internal_mutable_drop_stmt()->::pg_query::DropStmt::MergeFrom(from._internal_drop_stmt());
      break;
    }
    case kTruncateStmt: {
      _internal_mutable_truncate_stmt()->::pg_query::TruncateStmt::MergeFrom(from._internal_truncate_stmt());
      break;
    }
    case kCommentStmt: {
      _internal_mutable_comment_stmt()->::pg_query::CommentStmt::MergeFrom(from._internal_comment_stmt());
      break;
    }
    case kFetchStmt: {
      _internal_mutable_fetch_stmt()->::pg_query::FetchStmt::MergeFrom(from._internal_fetch_stmt());
      break;
    }
    case kIndexStmt: {
      _internal_mutable_index_stmt()->::pg_query::IndexStmt::MergeFrom(from._internal_index_stmt());
      break;
    }
    case kCreateFunctionStmt: {
      _internal_mutable_create_function_stmt()->::pg_query::CreateFunctionStmt::MergeFrom(from._internal_create_function_stmt());
      break;
    }
    case kAlterFunctionStmt: {
      _internal_mutable_alter_function_stmt()->::pg_query::AlterFunctionStmt::MergeFrom(from._internal_alter_function_stmt());
      break;
    }
    case kDoStmt: {
      _internal_mutable_do_stmt()->::pg_query::DoStmt::MergeFrom(from._internal_do_stmt());
      break;
    }
    case kRenameStmt: {
      _internal_mutable_rename_stmt()->::pg_query::RenameStmt::MergeFrom(from._internal_rename_stmt());
      break;
    }
    case kRuleStmt: {
      _internal_mutable_rule_stmt()->::pg_query::RuleStmt::MergeFrom(from._internal_rule_stmt());
      break;
    }
    case kNotifyStmt: {
      _internal_mutable_notify_stmt()->::pg_query::NotifyStmt::MergeFrom(from._internal_notify_stmt());
      break;
    }
    case kListenStmt: {
      _internal_mutable_listen_stmt()->::pg_query::ListenStmt::MergeFrom(from._internal_listen_stmt());
      break;
    }
    case kUnlistenStmt: {
      _internal_mutable_unlisten_stmt()->::pg_query::UnlistenStmt::MergeFrom(from._internal_unlisten_stmt());
      break;
    }
    case kTransactionStmt: {
      _internal_mutable_transaction_stmt()->::pg_query::TransactionStmt::MergeFrom(from._internal_transaction_stmt());
      break;
    }
    case kViewStmt: {
      _internal_mutable_view_stmt()->::pg_query::ViewStmt::MergeFrom(from._internal_view_stmt());
      break;
    }
    case kLoadStmt: {
      _internal_mutable_load_stmt()->::pg_query::LoadStmt::MergeFrom(from._internal_load_stmt());
      break;
    }
    case kCreateDomainStmt: {
      _internal_mutable_create_domain_stmt()->::pg_query::CreateDomainStmt::MergeFrom(from._internal_create_domain_stmt());
      break;
    }
    case kCreatedbStmt: {
      _internal_mutable_createdb_stmt()->::pg_query::CreatedbStmt::MergeFrom(from._internal_createdb_stmt());
      break;
    }
    case kDropdbStmt: {
      _internal_mutable_dropdb_stmt()->::pg_query::DropdbStmt::MergeFrom(from._internal_dropdb_stmt());
      break;
    }
    case kVacuumStmt: {
      _internal_mutable_vacuum_stmt()->::pg_query::VacuumStmt::MergeFrom(from._internal_vacuum_stmt());
      break;
    }
    case kExplainStmt: {
      _internal_mutable_explain_stmt()->::pg_query::ExplainStmt::MergeFrom(from._internal_explain_stmt());
      break;
    }
    case kCreateTableAsStmt: {
      _internal_mutable_create_table_as_stmt()->::pg_query::CreateTableAsStmt::MergeFrom(from._internal_create_table_as_stmt());
      break;
    }
    case kCreateSeqStmt: {
      _internal_mutable_create_seq_stmt()->::pg_query::CreateSeqStmt::MergeFrom(from._internal_create_seq_stmt());
      break;
    }
    case kAlterSeqStmt: {
      _internal_mutable_alter_seq_stmt()->::pg_query::AlterSeqStmt::MergeFrom(from._internal_alter_seq_stmt());
      break;
    }
    case kVariableSetStmt: {
      _internal_mutable_variable_set_stmt()->::pg_query::VariableSetStmt::MergeFrom(from._internal_variable_set_stmt());
      break;
    }
    case kVariableShowStmt: {
      _internal_mutable_variable_show_stmt()->::pg_query::VariableShowStmt::MergeFrom(from._internal_variable_show_stmt());
      break;
    }
    case kDiscardStmt: {
      _internal_mutable_discard_stmt()->::pg_query::DiscardStmt::MergeFrom(from._internal_discard_stmt());
      break;
    }
    case kCreateTrigStmt: {
      _internal_mutable_create_trig_stmt()->::pg_query::CreateTrigStmt::MergeFrom(from._internal_create_trig_stmt());
      break;
    }
    case kCreatePlangStmt: {
      _internal_mutable_create_plang_stmt()->::pg_query::CreatePLangStmt::MergeFrom(from._internal_create_plang_stmt());
      break;
    }
    case kCreateRoleStmt: {
      _internal_mutable_create_role_stmt()->::pg_query::CreateRoleStmt::MergeFrom(from._internal_create_role_stmt());
      break;
    }
    case kAlterRoleStmt: {
      _internal_mutable_alter_role_stmt()->::pg_query::AlterRoleStmt::MergeFrom(from._internal_alter_role_stmt());
      break;
    }
    case kDropRoleStmt: {
      _internal_mutable_drop_role_stmt()->::pg_query::DropRoleStmt::MergeFrom(from._internal_drop_role_stmt());
      break;
    }
    case kLockStmt: {
      _internal_mutable_lock_stmt()->::pg_query::LockStmt::MergeFrom(from._internal_lock_stmt());
      break;
    }
    case kConstraintsSetStmt: {
      _internal_mutable_constraints_set_stmt()->::pg_query::ConstraintsSetStmt::MergeFrom(from._internal_constraints_set_stmt());
      break;
    }
    case kReindexStmt: {
      _internal_mutable_reindex_stmt()->::pg_query::ReindexStmt::MergeFrom(from._internal_reindex_stmt());
      break;
    }
    case kCheckPointStmt: {
      _internal_mutable_check_point_stmt()->::pg_query::CheckPointStmt::MergeFrom(from._internal_check_point_stmt());
      break;
    }
    case kCreateSchemaStmt: {
      _internal_mutable_create_schema_stmt()->::pg_query::CreateSchemaStmt::MergeFrom(from._internal_create_schema_stmt());
      break;
    }
    case kAlterDatabaseStmt: {
      _internal_mutable_alter_database_stmt()->::pg_query::AlterDatabaseStmt::MergeFrom(from._internal_alter_database_stmt());
      break;
    }
    case kAlterDatabaseSetStmt: {
      _internal_mutable_alter_database_set_stmt()->::pg_query::AlterDatabaseSetStmt::MergeFrom(from._internal_alter_database_set_stmt());
      break;
    }
    case kAlterRoleSetStmt: {
      _internal_mutable_alter_role_set_stmt()->::pg_query::AlterRoleSetStmt::MergeFrom(from._internal_alter_role_set_stmt());
      break;
    }
    case kCreateConversionStmt: {
      _internal_mutable_create_conversion_stmt()->::pg_query::CreateConversionStmt::MergeFrom(from._internal_create_conversion_stmt());
      break;
    }
    case kCreateCastStmt: {
      _internal_mutable_create_cast_stmt()->::pg_query::CreateCastStmt::MergeFrom(from._internal_create_cast_stmt());
      break;
    }
    case kCreateOpClassStmt: {
      _internal_mutable_create_op_class_stmt()->::pg_query::CreateOpClassStmt::MergeFrom(from._internal_create_op_class_stmt());
      break;
    }
    case kCreateOpFamilyStmt: {
      _internal_mutable_create_op_family_stmt()->::pg_query::CreateOpFamilyStmt::MergeFrom(from._internal_create_op_family_stmt());
      break;
    }
    case kAlterOpFamilyStmt: {
      _internal_mutable_alter_op_family_stmt()->::pg_query::AlterOpFamilyStmt::MergeFrom(from._internal_alter_op_family_stmt());
      break;
    }
    case kPrepareStmt: {
      _internal_mutable_prepare_stmt()->::pg_query::PrepareStmt::MergeFrom(from._internal_prepare_stmt());
      break;
    }
    case kExecuteStmt: {
      _internal_mutable_execute_stmt()->::pg_query::ExecuteStmt::MergeFrom(from._internal_execute_stmt());
      break;
    }
    case kDeallocateStmt: {
      _internal_mutable_deallocate_stmt()->::pg_query::DeallocateStmt::MergeFrom(from._internal_deallocate_stmt());
      break;
    }
    case kDeclareCursorStmt: {
      _internal_mutable_declare_cursor_stmt()->::pg_query::DeclareCursorStmt::MergeFrom(from._internal_declare_cursor_stmt());
      break;
    }
    case kCreateTableSpaceStmt: {
      _internal_mutable_create_table_space_stmt()->::pg_query::CreateTableSpaceStmt::MergeFrom(from._internal_create_table_space_stmt());
      break;
    }
    case kDropTableSpaceStmt: {
      _internal_mutable_drop_table_space_stmt()->::pg_query::DropTableSpaceStmt::MergeFrom(from._internal_drop_table_space_stmt());
      break;
    }
    case kAlterObjectDependsStmt: {
      _internal_mutable_alter_object_depends_stmt()->::pg_query::AlterObjectDependsStmt::MergeFrom(from._internal_alter_object_depends_stmt());
      break;
    }
    case kAlterObjectSchemaStmt: {
      _internal_mutable_alter_object_schema_stmt()->::pg_query::AlterObjectSchemaStmt::MergeFrom(from._internal_alter_object_schema_stmt());
      break;
    }
    case kAlterOwnerStmt: {
      _internal_mutable_alter_owner_stmt()->::pg_query::AlterOwnerStmt::MergeFrom(from._internal_alter_owner_stmt());
      break;
    }
    case kAlterOperatorStmt: {
      _internal_mutable_alter_operator_stmt()->::pg_query::AlterOperatorStmt::MergeFrom(from._internal_alter_operator_stmt());
      break;
    }
    case kAlterTypeStmt: {
      _internal_mutable_alter_type_stmt()->::pg_query::AlterTypeStmt::MergeFrom(from._internal_alter_type_stmt());
      break;
    }
    case kDropOwnedStmt: {
      _internal_mutable_drop_owned_stmt()->::pg_query::DropOwnedStmt::MergeFrom(from._internal_drop_owned_stmt());
      break;
    }
    case kReassignOwnedStmt: {
      _internal_mutable_reassign_owned_stmt()->::pg_query::ReassignOwnedStmt::MergeFrom(from._internal_reassign_owned_stmt());
      break;
    }
    case kCompositeTypeStmt: {
      _internal_mutable_composite_type_stmt()->::pg_query::CompositeTypeStmt::MergeFrom(from._internal_composite_type_stmt());
      break;
    }
    case kCreateEnumStmt: {
      _internal_mutable_create_enum_stmt()->::pg_query::CreateEnumStmt::MergeFrom(from._internal_create_enum_stmt());
      break;
    }
    case kCreateRangeStmt: {
      _internal_mutable_create_range_stmt()->::pg_query::CreateRangeStmt::MergeFrom(from._internal_create_range_stmt());
      break;
    }
    case kAlterEnumStmt: {
      _internal_mutable_alter_enum_stmt()->::pg_query::AlterEnumStmt::MergeFrom(from._internal_alter_enum_stmt());
      break;
    }
    case kAlterTsdictionaryStmt: {
      _internal_mutable_alter_tsdictionary_stmt()->::pg_query::AlterTSDictionaryStmt::MergeFrom(from._internal_alter_tsdictionary_stmt());
      break;
    }
    case kAlterTsconfigurationStmt: {
      _internal_mutable_alter_tsconfiguration_stmt()->::pg_query::AlterTSConfigurationStmt::MergeFrom(from._internal_alter_tsconfiguration_stmt());
      break;
    }
    case kCreateFdwStmt: {
      _internal_mutable_create_fdw_stmt()->::pg_query::CreateFdwStmt::MergeFrom(from._internal_create_fdw_stmt());
      break;
    }
    case kAlterFdwStmt: {
      _internal_mutable_alter_fdw_stmt()->::pg_query::AlterFdwStmt::MergeFrom(from._internal_alter_fdw_stmt());
      break;
    }
    case kCreateForeignServerStmt: {
      _internal_mutable_create_foreign_server_stmt()->::pg_query::CreateForeignServerStmt::MergeFrom(from._internal_create_foreign_server_stmt());
      break;
    }
    case kAlterForeignServerStmt: {
      _internal_mutable_alter_foreign_server_stmt()->::pg_query::AlterForeignServerStmt::MergeFrom(from._internal_alter_foreign_server_stmt());
      break;
    }
    case kCreateUserMappingStmt: {
      _internal_mutable_create_user_mapping_stmt()->::pg_query::CreateUserMappingStmt::MergeFrom(from._internal_create_user_mapping_stmt());
      break;
    }
    case kAlterUserMappingStmt: {
      _internal_mutable_alter_user_mapping_stmt()->::pg_query::AlterUserMappingStmt::MergeFrom(from._internal_alter_user_mapping_stmt());
      break;
    }
    case kDropUserMappingStmt: {
      _internal_mutable_drop_user_mapping_stmt()->::pg_query::DropUserMappingStmt::MergeFrom(from._internal_drop_user_mapping_stmt());
      break;
    }
    case kAlterTableSpaceOptionsStmt: {
      _internal_mutable_alter_table_space_options_stmt()->::pg_query::AlterTableSpaceOptionsStmt::MergeFrom(from._internal_alter_table_space_options_stmt());
      break;
    }
    case kAlterTableMoveAllStmt: {
      _internal_mutable_alter_table_move_all_stmt()->::pg_query::AlterTableMoveAllStmt::MergeFrom(from._internal_alter_table_move_all_stmt());
      break;
    }
    case kSecLabelStmt: {
      _internal_mutable_sec_label_stmt()->::pg_query::SecLabelStmt::MergeFrom(from._internal_sec_label_stmt());
      break;
    }
    case kCreateForeignTableStmt: {
      _internal_mutable_create_foreign_table_stmt()->::pg_query::CreateForeignTableStmt::MergeFrom(from._internal_create_foreign_table_stmt());
      break;
    }
    case kImportForeignSchemaStmt: {
      _internal_mutable_import_foreign_schema_stmt()->::pg_query::ImportForeignSchemaStmt::MergeFrom(from._internal_import_foreign_schema_stmt());
      break;
    }
    case kCreateExtensionStmt: {
      _internal_mutable_create_extension_stmt()->::pg_query::CreateExtensionStmt::MergeFrom(from._internal_create_extension_stmt());
      break;
    }
    case kAlterExtensionStmt: {
      _internal_mutable_alter_extension_stmt()->::pg_query::AlterExtensionStmt::MergeFrom(from._internal_alter_extension_stmt());
      break;
    }
    case kAlterExtensionContentsStmt: {
      _internal_mutable_alter_extension_contents_stmt()->::pg_query::AlterExtensionContentsStmt::MergeFrom(from._internal_alter_extension_contents_stmt());
      break;
    }
    case kCreateEventTrigStmt: {
      _internal_mutable_create_event_trig_stmt()->::pg_query::CreateEventTrigStmt::MergeFrom(from._internal_create_event_trig_stmt());
      break;
    }
    case kAlterEventTrigStmt: {
      _internal_mutable_alter_event_trig_stmt()->::pg_query::AlterEventTrigStmt::MergeFrom(from._internal_alter_event_trig_stmt());
      break;
    }
    case kRefreshMatViewStmt: {
      _internal_mutable_refresh_mat_view_stmt()->::pg_query::RefreshMatViewStmt::MergeFrom(from._internal_refresh_mat_view_stmt());
      break;
    }
    case kReplicaIdentityStmt: {
      _internal_mutable_replica_identity_stmt()->::pg_query::ReplicaIdentityStmt::MergeFrom(from._internal_replica_identity_stmt());
      break;
    }
    case kAlterSystemStmt: {
      _internal_mutable_alter_system_stmt()->::pg_query::AlterSystemStmt::MergeFrom(from._internal_alter_system_stmt());
      break;
    }
    case kCreatePolicyStmt: {
      _internal_mutable_create_policy_stmt()->::pg_query::CreatePolicyStmt::MergeFrom(from._internal_create_policy_stmt());
      break;
    }
    case kAlterPolicyStmt: {
      _internal_mutable_alter_policy_stmt()->::pg_query::AlterPolicyStmt::MergeFrom(from._internal_alter_policy_stmt());
      break;
    }
    case kCreateTransformStmt: {
      _internal_mutable_create_transform_stmt()->::pg_query::CreateTransformStmt::MergeFrom(from._internal_create_transform_stmt());
      break;
    }
    case kCreateAmStmt: {
      _internal_mutable_create_am_stmt()->::pg_query::CreateAmStmt::MergeFrom(from._internal_create_am_stmt());
      break;
    }
    case kCreatePublicationStmt: {
      _internal_mutable_create_publication_stmt()->::pg_query::CreatePublicationStmt::MergeFrom(from._internal_create_publication_stmt());
      break;
    }
    case kAlterPublicationStmt: {
      _internal_mutable_alter_publication_stmt()->::pg_query::AlterPublicationStmt::MergeFrom(from._internal_alter_publication_stmt());
      break;
    }
    case kCreateSubscriptionStmt: {
      _internal_mutable_create_subscription_stmt()->::pg_query::CreateSubscriptionStmt::MergeFrom(from._internal_create_subscription_stmt());
      break;
    }
    case kAlterSubscriptionStmt: {
      _internal_mutable_alter_subscription_stmt()->::pg_query::AlterSubscriptionStmt::MergeFrom(from._internal_alter_subscription_stmt());
      break;
    }
    case kDropSubscriptionStmt: {
      _internal_mutable_drop_subscription_stmt()->::pg_query::DropSubscriptionStmt::MergeFrom(from._internal_drop_subscription_stmt());
      break;
    }
    case kCreateStatsStmt: {
      _internal_mutable_create_stats_stmt()->::pg_query::CreateStatsStmt::MergeFrom(from._internal_create_stats_stmt());
      break;
    }
    case kAlterCollationStmt: {
      _internal_mutable_alter_collation_stmt()->::pg_query::AlterCollationStmt::MergeFrom(from._internal_alter_collation_stmt());
      break;
    }
    case kCallStmt: {
      _internal_mutable_call_stmt()->::pg_query::CallStmt::MergeFrom(from._internal_call_stmt());
      break;
    }
    case kAlterStatsStmt: {
      _internal_mutable_alter_stats_stmt()->::pg_query::AlterStatsStmt::MergeFrom(from._internal_alter_stats_stmt());
      break;
    }
    case kAExpr: {
      _internal_mutable_a_expr()->::pg_query::A_Expr::MergeFrom(from._internal_a_expr());
      break;
    }
    case kColumnRef: {
      _internal_mutable_column_ref()->::pg_query::ColumnRef::MergeFrom(from._internal_column_ref());
      break;
    }
    case kParamRef: {
      _internal_mutable_param_ref()->::pg_query::ParamRef::MergeFrom(from._internal_param_ref());
      break;
    }
    case kAConst: {
      _internal_mutable_a_const()->::pg_query::A_Const::MergeFrom(from._internal_a_const());
      break;
    }
    case kFuncCall: {
      _internal_mutable_func_call()->::pg_query::FuncCall::MergeFrom(from._internal_func_call());
      break;
    }
    case kAStar: {
      _internal_mutable_a_star()->::pg_query::A_Star::MergeFrom(from._internal_a_star());
      break;
    }
    case kAIndices: {
      _internal_mutable_a_indices()->::pg_query::A_Indices::MergeFrom(from._internal_a_indices());
      break;
    }
    case kAIndirection: {
      _internal_mutable_a_indirection()->::pg_query::A_Indirection::MergeFrom(from._internal_a_indirection());
      break;
    }
    case kAArrayExpr: {
      _internal_mutable_a_array_expr()->::pg_query::A_ArrayExpr::MergeFrom(from._internal_a_array_expr());
      break;
    }
    case kResTarget: {
      _internal_mutable_res_target()->::pg_query::ResTarget::MergeFrom(from._internal_res_target());
      break;
    }
    case kMultiAssignRef: {
      _internal_mutable_multi_assign_ref()->::pg_query::MultiAssignRef::MergeFrom(from._internal_multi_assign_ref());
      break;
    }
    case kTypeCast: {
      _internal_mutable_type_cast()->::pg_query::TypeCast::MergeFrom(from._internal_type_cast());
      break;
    }
    case kCollateClause: {
      _internal_mutable_collate_clause()->::pg_query::CollateClause::MergeFrom(from._internal_collate_clause());
      break;
    }
    case kSortBy: {
      _internal_mutable_sort_by()->::pg_query::SortBy::MergeFrom(from._internal_sort_by());
      break;
    }
    case kWindowDef: {
      _internal_mutable_window_def()->::pg_query::WindowDef::MergeFrom(from._internal_window_def());
      break;
    }
    case kRangeSubselect: {
      _internal_mutable_range_subselect()->::pg_query::RangeSubselect::MergeFrom(from._internal_range_subselect());
      break;
    }
    case kRangeFunction: {
      _internal_mutable_range_function()->::pg_query::RangeFunction::MergeFrom(from._internal_range_function());
      break;
    }
    case kRangeTableSample: {
      _internal_mutable_range_table_sample()->::pg_query::RangeTableSample::MergeFrom(from._internal_range_table_sample());
      break;
    }
    case kRangeTableFunc: {
      _internal_mutable_range_table_func()->::pg_query::RangeTableFunc::MergeFrom(from._internal_range_table_func());
      break;
    }
    case kRangeTableFuncCol: {
      _internal_mutable_range_table_func_col()->::pg_query::RangeTableFuncCol::MergeFrom(from._internal_range_table_func_col());
      break;
    }
    case kTypeName: {
      _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
      break;
    }
    case kColumnDef: {
      _internal_mutable_column_def()->::pg_query::ColumnDef::MergeFrom(from._internal_column_def());
      break;
    }
    case kIndexElem: {
      _internal_mutable_index_elem()->::pg_query::IndexElem::MergeFrom(from._internal_index_elem());
      break;
    }
    case kConstraint: {
      _internal_mutable_constraint()->::pg_query::Constraint::MergeFrom(from._internal_constraint());
      break;
    }
    case kDefElem: {
      _internal_mutable_def_elem()->::pg_query::DefElem::MergeFrom(from._internal_def_elem());
      break;
    }
    case kRangeTblEntry: {
      _internal_mutable_range_tbl_entry()->::pg_query::RangeTblEntry::MergeFrom(from._internal_range_tbl_entry());
      break;
    }
    case kRangeTblFunction: {
      _internal_mutable_range_tbl_function()->::pg_query::RangeTblFunction::MergeFrom(from._internal_range_tbl_function());
      break;
    }
    case kTableSampleClause: {
      _internal_mutable_table_sample_clause()->::pg_query::TableSampleClause::MergeFrom(from._internal_table_sample_clause());
      break;
    }
    case kWithCheckOption: {
      _internal_mutable_with_check_option()->::pg_query::WithCheckOption::MergeFrom(from._internal_with_check_option());
      break;
    }
    case kSortGroupClause: {
      _internal_mutable_sort_group_clause()->::pg_query::SortGroupClause::MergeFrom(from._internal_sort_group_clause());
      break;
    }
    case kGroupingSet: {
      _internal_mutable_grouping_set()->::pg_query::GroupingSet::MergeFrom(from._internal_grouping_set());
      break;
    }
    case kWindowClause: {
      _internal_mutable_window_clause()->::pg_query::WindowClause::MergeFrom(from._internal_window_clause());
      break;
    }
    case kObjectWithArgs: {
      _internal_mutable_object_with_args()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_object_with_args());
      break;
    }
    case kAccessPriv: {
      _internal_mutable_access_priv()->::pg_query::AccessPriv::MergeFrom(from._internal_access_priv());
      break;
    }
    case kCreateOpClassItem: {
      _internal_mutable_create_op_class_item()->::pg_query::CreateOpClassItem::MergeFrom(from._internal_create_op_class_item());
      break;
    }
    case kTableLikeClause: {
      _internal_mutable_table_like_clause()->::pg_query::TableLikeClause::MergeFrom(from._internal_table_like_clause());
      break;
    }
    case kFunctionParameter: {
      _internal_mutable_function_parameter()->::pg_query::FunctionParameter::MergeFrom(from._internal_function_parameter());
      break;
    }
    case kLockingClause: {
      _internal_mutable_locking_clause()->::pg_query::LockingClause::MergeFrom(from._internal_locking_clause());
      break;
    }
    case kRowMarkClause: {
      _internal_mutable_row_mark_clause()->::pg_query::RowMarkClause::MergeFrom(from._internal_row_mark_clause());
      break;
    }
    case kXmlSerialize: {
      _internal_mutable_xml_serialize()->::pg_query::XmlSerialize::MergeFrom(from._internal_xml_serialize());
      break;
    }
    case kWithClause: {
      _internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(from._internal_with_clause());
      break;
    }
    case kInferClause: {
      _internal_mutable_infer_clause()->::pg_query::InferClause::MergeFrom(from._internal_infer_clause());
      break;
    }
    case kOnConflictClause: {
      _internal_mutable_on_conflict_clause()->::pg_query::OnConflictClause::MergeFrom(from._internal_on_conflict_clause());
      break;
    }
    case kCommonTableExpr: {
      _internal_mutable_common_table_expr()->::pg_query::CommonTableExpr::MergeFrom(from._internal_common_table_expr());
      break;
    }
    case kRoleSpec: {
      _internal_mutable_role_spec()->::pg_query::RoleSpec::MergeFrom(from._internal_role_spec());
      break;
    }
    case kTriggerTransition: {
      _internal_mutable_trigger_transition()->::pg_query::TriggerTransition::MergeFrom(from._internal_trigger_transition());
      break;
    }
    case kPartitionElem: {
      _internal_mutable_partition_elem()->::pg_query::PartitionElem::MergeFrom(from._internal_partition_elem());
      break;
    }
    case kPartitionSpec: {
      _internal_mutable_partition_spec()->::pg_query::PartitionSpec::MergeFrom(from._internal_partition_spec());
      break;
    }
    case kPartitionBoundSpec: {
      _internal_mutable_partition_bound_spec()->::pg_query::PartitionBoundSpec::MergeFrom(from._internal_partition_bound_spec());
      break;
    }
    case kPartitionRangeDatum: {
      _internal_mutable_partition_range_datum()->::pg_query::PartitionRangeDatum::MergeFrom(from._internal_partition_range_datum());
      break;
    }
    case kPartitionCmd: {
      _internal_mutable_partition_cmd()->::pg_query::PartitionCmd::MergeFrom(from._internal_partition_cmd());
      break;
    }
    case kVacuumRelation: {
      _internal_mutable_vacuum_relation()->::pg_query::VacuumRelation::MergeFrom(from._internal_vacuum_relation());
      break;
    }
    case kInlineCodeBlock: {
      _internal_mutable_inline_code_block()->::pg_query::InlineCodeBlock::MergeFrom(from._internal_inline_code_block());
      break;
    }
    case kCallContext: {
      _internal_mutable_call_context()->::pg_query::CallContext::MergeFrom(from._internal_call_context());
      break;
    }
    case kInteger: {
      _internal_mutable_integer()->::pg_query::Integer::MergeFrom(from._internal_integer());
      break;
    }
    case kFloat: {
      _internal_mutable_float_()->::pg_query::Float::MergeFrom(from._internal_float_());
      break;
    }
    case kString: {
      _internal_mutable_string()->::pg_query::String::MergeFrom(from._internal_string());
      break;
    }
    case kBitString: {
      _internal_mutable_bit_string()->::pg_query::BitString::MergeFrom(from._internal_bit_string());
      break;
    }
    case kNull: {
      _internal_mutable_null()->::pg_query::Null::MergeFrom(from._internal_null());
      break;
    }
    case kList: {
      _internal_mutable_list()->::pg_query::List::MergeFrom(from._internal_list());
      break;
    }
    case kIntList: {
      _internal_mutable_int_list()->::pg_query::IntList::MergeFrom(from._internal_int_list());
      break;
    }
    case kOidList: {
      _internal_mutable_oid_list()->::pg_query::OidList::MergeFrom(from._internal_oid_list());
      break;
    }
    case NODE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.Node)
}

void Node::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  clear_has_node();
}

Node::~Node() {
  // @@protoc_insertion_point(destructor:pg_query.Node)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Node::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (has_node()) {
    clear_node();
  }
}

void Node::ArenaDtor(void* object) {
  Node* _this = reinterpret_cast< Node* >(object);
  (void)_this;
}
void Node::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Node::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Node& Node::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void Node::clear_node() {
// @@protoc_insertion_point(one_of_clear_start:pg_query.Node)
  switch (node_case()) {
    case kAlias: {
      if (GetArena() == nullptr) {
        delete node_.alias_;
      }
      break;
    }
    case kRangeVar: {
      if (GetArena() == nullptr) {
        delete node_.range_var_;
      }
      break;
    }
    case kTableFunc: {
      if (GetArena() == nullptr) {
        delete node_.table_func_;
      }
      break;
    }
    case kExpr: {
      if (GetArena() == nullptr) {
        delete node_.expr_;
      }
      break;
    }
    case kVar: {
      if (GetArena() == nullptr) {
        delete node_.var_;
      }
      break;
    }
    case kParam: {
      if (GetArena() == nullptr) {
        delete node_.param_;
      }
      break;
    }
    case kAggref: {
      if (GetArena() == nullptr) {
        delete node_.aggref_;
      }
      break;
    }
    case kGroupingFunc: {
      if (GetArena() == nullptr) {
        delete node_.grouping_func_;
      }
      break;
    }
    case kWindowFunc: {
      if (GetArena() == nullptr) {
        delete node_.window_func_;
      }
      break;
    }
    case kSubscriptingRef: {
      if (GetArena() == nullptr) {
        delete node_.subscripting_ref_;
      }
      break;
    }
    case kFuncExpr: {
      if (GetArena() == nullptr) {
        delete node_.func_expr_;
      }
      break;
    }
    case kNamedArgExpr: {
      if (GetArena() == nullptr) {
        delete node_.named_arg_expr_;
      }
      break;
    }
    case kOpExpr: {
      if (GetArena() == nullptr) {
        delete node_.op_expr_;
      }
      break;
    }
    case kDistinctExpr: {
      if (GetArena() == nullptr) {
        delete node_.distinct_expr_;
      }
      break;
    }
    case kNullIfExpr: {
      if (GetArena() == nullptr) {
        delete node_.null_if_expr_;
      }
      break;
    }
    case kScalarArrayOpExpr: {
      if (GetArena() == nullptr) {
        delete node_.scalar_array_op_expr_;
      }
      break;
    }
    case kBoolExpr: {
      if (GetArena() == nullptr) {
        delete node_.bool_expr_;
      }
      break;
    }
    case kSubLink: {
      if (GetArena() == nullptr) {
        delete node_.sub_link_;
      }
      break;
    }
    case kSubPlan: {
      if (GetArena() == nullptr) {
        delete node_.sub_plan_;
      }
      break;
    }
    case kAlternativeSubPlan: {
      if (GetArena() == nullptr) {
        delete node_.alternative_sub_plan_;
      }
      break;
    }
    case kFieldSelect: {
      if (GetArena() == nullptr) {
        delete node_.field_select_;
      }
      break;
    }
    case kFieldStore: {
      if (GetArena() == nullptr) {
        delete node_.field_store_;
      }
      break;
    }
    case kRelabelType: {
      if (GetArena() == nullptr) {
        delete node_.relabel_type_;
      }
      break;
    }
    case kCoerceViaIo: {
      if (GetArena() == nullptr) {
        delete node_.coerce_via_io_;
      }
      break;
    }
    case kArrayCoerceExpr: {
      if (GetArena() == nullptr) {
        delete node_.array_coerce_expr_;
      }
      break;
    }
    case kConvertRowtypeExpr: {
      if (GetArena() == nullptr) {
        delete node_.convert_rowtype_expr_;
      }
      break;
    }
    case kCollateExpr: {
      if (GetArena() == nullptr) {
        delete node_.collate_expr_;
      }
      break;
    }
    case kCaseExpr: {
      if (GetArena() == nullptr) {
        delete node_.case_expr_;
      }
      break;
    }
    case kCaseWhen: {
      if (GetArena() == nullptr) {
        delete node_.case_when_;
      }
      break;
    }
    case kCaseTestExpr: {
      if (GetArena() == nullptr) {
        delete node_.case_test_expr_;
      }
      break;
    }
    case kArrayExpr: {
      if (GetArena() == nullptr) {
        delete node_.array_expr_;
      }
      break;
    }
    case kRowExpr: {
      if (GetArena() == nullptr) {
        delete node_.row_expr_;
      }
      break;
    }
    case kRowCompareExpr: {
      if (GetArena() == nullptr) {
        delete node_.row_compare_expr_;
      }
      break;
    }
    case kCoalesceExpr: {
      if (GetArena() == nullptr) {
        delete node_.coalesce_expr_;
      }
      break;
    }
    case kMinMaxExpr: {
      if (GetArena() == nullptr) {
        delete node_.min_max_expr_;
      }
      break;
    }
    case kSqlvalueFunction: {
      if (GetArena() == nullptr) {
        delete node_.sqlvalue_function_;
      }
      break;
    }
    case kXmlExpr: {
      if (GetArena() == nullptr) {
        delete node_.xml_expr_;
      }
      break;
    }
    case kNullTest: {
      if (GetArena() == nullptr) {
        delete node_.null_test_;
      }
      break;
    }
    case kBooleanTest: {
      if (GetArena() == nullptr) {
        delete node_.boolean_test_;
      }
      break;
    }
    case kCoerceToDomain: {
      if (GetArena() == nullptr) {
        delete node_.coerce_to_domain_;
      }
      break;
    }
    case kCoerceToDomainValue: {
      if (GetArena() == nullptr) {
        delete node_.coerce_to_domain_value_;
      }
      break;
    }
    case kSetToDefault: {
      if (GetArena() == nullptr) {
        delete node_.set_to_default_;
      }
      break;
    }
    case kCurrentOfExpr: {
      if (GetArena() == nullptr) {
        delete node_.current_of_expr_;
      }
      break;
    }
    case kNextValueExpr: {
      if (GetArena() == nullptr) {
        delete node_.next_value_expr_;
      }
      break;
    }
    case kInferenceElem: {
      if (GetArena() == nullptr) {
        delete node_.inference_elem_;
      }
      break;
    }
    case kTargetEntry: {
      if (GetArena() == nullptr) {
        delete node_.target_entry_;
      }
      break;
    }
    case kRangeTblRef: {
      if (GetArena() == nullptr) {
        delete node_.range_tbl_ref_;
      }
      break;
    }
    case kJoinExpr: {
      if (GetArena() == nullptr) {
        delete node_.join_expr_;
      }
      break;
    }
    case kFromExpr: {
      if (GetArena() == nullptr) {
        delete node_.from_expr_;
      }
      break;
    }
    case kOnConflictExpr: {
      if (GetArena() == nullptr) {
        delete node_.on_conflict_expr_;
      }
      break;
    }
    case kIntoClause: {
      if (GetArena() == nullptr) {
        delete node_.into_clause_;
      }
      break;
    }
    case kRawStmt: {
      if (GetArena() == nullptr) {
        delete node_.raw_stmt_;
      }
      break;
    }
    case kQuery: {
      if (GetArena() == nullptr) {
        delete node_.query_;
      }
      break;
    }
    case kInsertStmt: {
      if (GetArena() == nullptr) {
        delete node_.insert_stmt_;
      }
      break;
    }
    case kDeleteStmt: {
      if (GetArena() == nullptr) {
        delete node_.delete_stmt_;
      }
      break;
    }
    case kUpdateStmt: {
      if (GetArena() == nullptr) {
        delete node_.update_stmt_;
      }
      break;
    }
    case kSelectStmt: {
      if (GetArena() == nullptr) {
        delete node_.select_stmt_;
      }
      break;
    }
    case kAlterTableStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_table_stmt_;
      }
      break;
    }
    case kAlterTableCmd: {
      if (GetArena() == nullptr) {
        delete node_.alter_table_cmd_;
      }
      break;
    }
    case kAlterDomainStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_domain_stmt_;
      }
      break;
    }
    case kSetOperationStmt: {
      if (GetArena() == nullptr) {
        delete node_.set_operation_stmt_;
      }
      break;
    }
    case kGrantStmt: {
      if (GetArena() == nullptr) {
        delete node_.grant_stmt_;
      }
      break;
    }
    case kGrantRoleStmt: {
      if (GetArena() == nullptr) {
        delete node_.grant_role_stmt_;
      }
      break;
    }
    case kAlterDefaultPrivilegesStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_default_privileges_stmt_;
      }
      break;
    }
    case kClosePortalStmt: {
      if (GetArena() == nullptr) {
        delete node_.close_portal_stmt_;
      }
      break;
    }
    case kClusterStmt: {
      if (GetArena() == nullptr) {
        delete node_.cluster_stmt_;
      }
      break;
    }
    case kCopyStmt: {
      if (GetArena() == nullptr) {
        delete node_.copy_stmt_;
      }
      break;
    }
    case kCreateStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_stmt_;
      }
      break;
    }
    case kDefineStmt: {
      if (GetArena() == nullptr) {
        delete node_.define_stmt_;
      }
      break;
    }
    case kDropStmt: {
      if (GetArena() == nullptr) {
        delete node_.drop_stmt_;
      }
      break;
    }
    case kTruncateStmt: {
      if (GetArena() == nullptr) {
        delete node_.truncate_stmt_;
      }
      break;
    }
    case kCommentStmt: {
      if (GetArena() == nullptr) {
        delete node_.comment_stmt_;
      }
      break;
    }
    case kFetchStmt: {
      if (GetArena() == nullptr) {
        delete node_.fetch_stmt_;
      }
      break;
    }
    case kIndexStmt: {
      if (GetArena() == nullptr) {
        delete node_.index_stmt_;
      }
      break;
    }
    case kCreateFunctionStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_function_stmt_;
      }
      break;
    }
    case kAlterFunctionStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_function_stmt_;
      }
      break;
    }
    case kDoStmt: {
      if (GetArena() == nullptr) {
        delete node_.do_stmt_;
      }
      break;
    }
    case kRenameStmt: {
      if (GetArena() == nullptr) {
        delete node_.rename_stmt_;
      }
      break;
    }
    case kRuleStmt: {
      if (GetArena() == nullptr) {
        delete node_.rule_stmt_;
      }
      break;
    }
    case kNotifyStmt: {
      if (GetArena() == nullptr) {
        delete node_.notify_stmt_;
      }
      break;
    }
    case kListenStmt: {
      if (GetArena() == nullptr) {
        delete node_.listen_stmt_;
      }
      break;
    }
    case kUnlistenStmt: {
      if (GetArena() == nullptr) {
        delete node_.unlisten_stmt_;
      }
      break;
    }
    case kTransactionStmt: {
      if (GetArena() == nullptr) {
        delete node_.transaction_stmt_;
      }
      break;
    }
    case kViewStmt: {
      if (GetArena() == nullptr) {
        delete node_.view_stmt_;
      }
      break;
    }
    case kLoadStmt: {
      if (GetArena() == nullptr) {
        delete node_.load_stmt_;
      }
      break;
    }
    case kCreateDomainStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_domain_stmt_;
      }
      break;
    }
    case kCreatedbStmt: {
      if (GetArena() == nullptr) {
        delete node_.createdb_stmt_;
      }
      break;
    }
    case kDropdbStmt: {
      if (GetArena() == nullptr) {
        delete node_.dropdb_stmt_;
      }
      break;
    }
    case kVacuumStmt: {
      if (GetArena() == nullptr) {
        delete node_.vacuum_stmt_;
      }
      break;
    }
    case kExplainStmt: {
      if (GetArena() == nullptr) {
        delete node_.explain_stmt_;
      }
      break;
    }
    case kCreateTableAsStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_table_as_stmt_;
      }
      break;
    }
    case kCreateSeqStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_seq_stmt_;
      }
      break;
    }
    case kAlterSeqStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_seq_stmt_;
      }
      break;
    }
    case kVariableSetStmt: {
      if (GetArena() == nullptr) {
        delete node_.variable_set_stmt_;
      }
      break;
    }
    case kVariableShowStmt: {
      if (GetArena() == nullptr) {
        delete node_.variable_show_stmt_;
      }
      break;
    }
    case kDiscardStmt: {
      if (GetArena() == nullptr) {
        delete node_.discard_stmt_;
      }
      break;
    }
    case kCreateTrigStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_trig_stmt_;
      }
      break;
    }
    case kCreatePlangStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_plang_stmt_;
      }
      break;
    }
    case kCreateRoleStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_role_stmt_;
      }
      break;
    }
    case kAlterRoleStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_role_stmt_;
      }
      break;
    }
    case kDropRoleStmt: {
      if (GetArena() == nullptr) {
        delete node_.drop_role_stmt_;
      }
      break;
    }
    case kLockStmt: {
      if (GetArena() == nullptr) {
        delete node_.lock_stmt_;
      }
      break;
    }
    case kConstraintsSetStmt: {
      if (GetArena() == nullptr) {
        delete node_.constraints_set_stmt_;
      }
      break;
    }
    case kReindexStmt: {
      if (GetArena() == nullptr) {
        delete node_.reindex_stmt_;
      }
      break;
    }
    case kCheckPointStmt: {
      if (GetArena() == nullptr) {
        delete node_.check_point_stmt_;
      }
      break;
    }
    case kCreateSchemaStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_schema_stmt_;
      }
      break;
    }
    case kAlterDatabaseStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_database_stmt_;
      }
      break;
    }
    case kAlterDatabaseSetStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_database_set_stmt_;
      }
      break;
    }
    case kAlterRoleSetStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_role_set_stmt_;
      }
      break;
    }
    case kCreateConversionStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_conversion_stmt_;
      }
      break;
    }
    case kCreateCastStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_cast_stmt_;
      }
      break;
    }
    case kCreateOpClassStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_op_class_stmt_;
      }
      break;
    }
    case kCreateOpFamilyStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_op_family_stmt_;
      }
      break;
    }
    case kAlterOpFamilyStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_op_family_stmt_;
      }
      break;
    }
    case kPrepareStmt: {
      if (GetArena() == nullptr) {
        delete node_.prepare_stmt_;
      }
      break;
    }
    case kExecuteStmt: {
      if (GetArena() == nullptr) {
        delete node_.execute_stmt_;
      }
      break;
    }
    case kDeallocateStmt: {
      if (GetArena() == nullptr) {
        delete node_.deallocate_stmt_;
      }
      break;
    }
    case kDeclareCursorStmt: {
      if (GetArena() == nullptr) {
        delete node_.declare_cursor_stmt_;
      }
      break;
    }
    case kCreateTableSpaceStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_table_space_stmt_;
      }
      break;
    }
    case kDropTableSpaceStmt: {
      if (GetArena() == nullptr) {
        delete node_.drop_table_space_stmt_;
      }
      break;
    }
    case kAlterObjectDependsStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_object_depends_stmt_;
      }
      break;
    }
    case kAlterObjectSchemaStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_object_schema_stmt_;
      }
      break;
    }
    case kAlterOwnerStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_owner_stmt_;
      }
      break;
    }
    case kAlterOperatorStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_operator_stmt_;
      }
      break;
    }
    case kAlterTypeStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_type_stmt_;
      }
      break;
    }
    case kDropOwnedStmt: {
      if (GetArena() == nullptr) {
        delete node_.drop_owned_stmt_;
      }
      break;
    }
    case kReassignOwnedStmt: {
      if (GetArena() == nullptr) {
        delete node_.reassign_owned_stmt_;
      }
      break;
    }
    case kCompositeTypeStmt: {
      if (GetArena() == nullptr) {
        delete node_.composite_type_stmt_;
      }
      break;
    }
    case kCreateEnumStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_enum_stmt_;
      }
      break;
    }
    case kCreateRangeStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_range_stmt_;
      }
      break;
    }
    case kAlterEnumStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_enum_stmt_;
      }
      break;
    }
    case kAlterTsdictionaryStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_tsdictionary_stmt_;
      }
      break;
    }
    case kAlterTsconfigurationStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_tsconfiguration_stmt_;
      }
      break;
    }
    case kCreateFdwStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_fdw_stmt_;
      }
      break;
    }
    case kAlterFdwStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_fdw_stmt_;
      }
      break;
    }
    case kCreateForeignServerStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_foreign_server_stmt_;
      }
      break;
    }
    case kAlterForeignServerStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_foreign_server_stmt_;
      }
      break;
    }
    case kCreateUserMappingStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_user_mapping_stmt_;
      }
      break;
    }
    case kAlterUserMappingStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_user_mapping_stmt_;
      }
      break;
    }
    case kDropUserMappingStmt: {
      if (GetArena() == nullptr) {
        delete node_.drop_user_mapping_stmt_;
      }
      break;
    }
    case kAlterTableSpaceOptionsStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_table_space_options_stmt_;
      }
      break;
    }
    case kAlterTableMoveAllStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_table_move_all_stmt_;
      }
      break;
    }
    case kSecLabelStmt: {
      if (GetArena() == nullptr) {
        delete node_.sec_label_stmt_;
      }
      break;
    }
    case kCreateForeignTableStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_foreign_table_stmt_;
      }
      break;
    }
    case kImportForeignSchemaStmt: {
      if (GetArena() == nullptr) {
        delete node_.import_foreign_schema_stmt_;
      }
      break;
    }
    case kCreateExtensionStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_extension_stmt_;
      }
      break;
    }
    case kAlterExtensionStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_extension_stmt_;
      }
      break;
    }
    case kAlterExtensionContentsStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_extension_contents_stmt_;
      }
      break;
    }
    case kCreateEventTrigStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_event_trig_stmt_;
      }
      break;
    }
    case kAlterEventTrigStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_event_trig_stmt_;
      }
      break;
    }
    case kRefreshMatViewStmt: {
      if (GetArena() == nullptr) {
        delete node_.refresh_mat_view_stmt_;
      }
      break;
    }
    case kReplicaIdentityStmt: {
      if (GetArena() == nullptr) {
        delete node_.replica_identity_stmt_;
      }
      break;
    }
    case kAlterSystemStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_system_stmt_;
      }
      break;
    }
    case kCreatePolicyStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_policy_stmt_;
      }
      break;
    }
    case kAlterPolicyStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_policy_stmt_;
      }
      break;
    }
    case kCreateTransformStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_transform_stmt_;
      }
      break;
    }
    case kCreateAmStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_am_stmt_;
      }
      break;
    }
    case kCreatePublicationStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_publication_stmt_;
      }
      break;
    }
    case kAlterPublicationStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_publication_stmt_;
      }
      break;
    }
    case kCreateSubscriptionStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_subscription_stmt_;
      }
      break;
    }
    case kAlterSubscriptionStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_subscription_stmt_;
      }
      break;
    }
    case kDropSubscriptionStmt: {
      if (GetArena() == nullptr) {
        delete node_.drop_subscription_stmt_;
      }
      break;
    }
    case kCreateStatsStmt: {
      if (GetArena() == nullptr) {
        delete node_.create_stats_stmt_;
      }
      break;
    }
    case kAlterCollationStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_collation_stmt_;
      }
      break;
    }
    case kCallStmt: {
      if (GetArena() == nullptr) {
        delete node_.call_stmt_;
      }
      break;
    }
    case kAlterStatsStmt: {
      if (GetArena() == nullptr) {
        delete node_.alter_stats_stmt_;
      }
      break;
    }
    case kAExpr: {
      if (GetArena() == nullptr) {
        delete node_.a_expr_;
      }
      break;
    }
    case kColumnRef: {
      if (GetArena() == nullptr) {
        delete node_.column_ref_;
      }
      break;
    }
    case kParamRef: {
      if (GetArena() == nullptr) {
        delete node_.param_ref_;
      }
      break;
    }
    case kAConst: {
      if (GetArena() == nullptr) {
        delete node_.a_const_;
      }
      break;
    }
    case kFuncCall: {
      if (GetArena() == nullptr) {
        delete node_.func_call_;
      }
      break;
    }
    case kAStar: {
      if (GetArena() == nullptr) {
        delete node_.a_star_;
      }
      break;
    }
    case kAIndices: {
      if (GetArena() == nullptr) {
        delete node_.a_indices_;
      }
      break;
    }
    case kAIndirection: {
      if (GetArena() == nullptr) {
        delete node_.a_indirection_;
      }
      break;
    }
    case kAArrayExpr: {
      if (GetArena() == nullptr) {
        delete node_.a_array_expr_;
      }
      break;
    }
    case kResTarget: {
      if (GetArena() == nullptr) {
        delete node_.res_target_;
      }
      break;
    }
    case kMultiAssignRef: {
      if (GetArena() == nullptr) {
        delete node_.multi_assign_ref_;
      }
      break;
    }
    case kTypeCast: {
      if (GetArena() == nullptr) {
        delete node_.type_cast_;
      }
      break;
    }
    case kCollateClause: {
      if (GetArena() == nullptr) {
        delete node_.collate_clause_;
      }
      break;
    }
    case kSortBy: {
      if (GetArena() == nullptr) {
        delete node_.sort_by_;
      }
      break;
    }
    case kWindowDef: {
      if (GetArena() == nullptr) {
        delete node_.window_def_;
      }
      break;
    }
    case kRangeSubselect: {
      if (GetArena() == nullptr) {
        delete node_.range_subselect_;
      }
      break;
    }
    case kRangeFunction: {
      if (GetArena() == nullptr) {
        delete node_.range_function_;
      }
      break;
    }
    case kRangeTableSample: {
      if (GetArena() == nullptr) {
        delete node_.range_table_sample_;
      }
      break;
    }
    case kRangeTableFunc: {
      if (GetArena() == nullptr) {
        delete node_.range_table_func_;
      }
      break;
    }
    case kRangeTableFuncCol: {
      if (GetArena() == nullptr) {
        delete node_.range_table_func_col_;
      }
      break;
    }
    case kTypeName: {
      if (GetArena() == nullptr) {
        delete node_.type_name_;
      }
      break;
    }
    case kColumnDef: {
      if (GetArena() == nullptr) {
        delete node_.column_def_;
      }
      break;
    }
    case kIndexElem: {
      if (GetArena() == nullptr) {
        delete node_.index_elem_;
      }
      break;
    }
    case kConstraint: {
      if (GetArena() == nullptr) {
        delete node_.constraint_;
      }
      break;
    }
    case kDefElem: {
      if (GetArena() == nullptr) {
        delete node_.def_elem_;
      }
      break;
    }
    case kRangeTblEntry: {
      if (GetArena() == nullptr) {
        delete node_.range_tbl_entry_;
      }
      break;
    }
    case kRangeTblFunction: {
      if (GetArena() == nullptr) {
        delete node_.range_tbl_function_;
      }
      break;
    }
    case kTableSampleClause: {
      if (GetArena() == nullptr) {
        delete node_.table_sample_clause_;
      }
      break;
    }
    case kWithCheckOption: {
      if (GetArena() == nullptr) {
        delete node_.with_check_option_;
      }
      break;
    }
    case kSortGroupClause: {
      if (GetArena() == nullptr) {
        delete node_.sort_group_clause_;
      }
      break;
    }
    case kGroupingSet: {
      if (GetArena() == nullptr) {
        delete node_.grouping_set_;
      }
      break;
    }
    case kWindowClause: {
      if (GetArena() == nullptr) {
        delete node_.window_clause_;
      }
      break;
    }
    case kObjectWithArgs: {
      if (GetArena() == nullptr) {
        delete node_.object_with_args_;
      }
      break;
    }
    case kAccessPriv: {
      if (GetArena() == nullptr) {
        delete node_.access_priv_;
      }
      break;
    }
    case kCreateOpClassItem: {
      if (GetArena() == nullptr) {
        delete node_.create_op_class_item_;
      }
      break;
    }
    case kTableLikeClause: {
      if (GetArena() == nullptr) {
        delete node_.table_like_clause_;
      }
      break;
    }
    case kFunctionParameter: {
      if (GetArena() == nullptr) {
        delete node_.function_parameter_;
      }
      break;
    }
    case kLockingClause: {
      if (GetArena() == nullptr) {
        delete node_.locking_clause_;
      }
      break;
    }
    case kRowMarkClause: {
      if (GetArena() == nullptr) {
        delete node_.row_mark_clause_;
      }
      break;
    }
    case kXmlSerialize: {
      if (GetArena() == nullptr) {
        delete node_.xml_serialize_;
      }
      break;
    }
    case kWithClause: {
      if (GetArena() == nullptr) {
        delete node_.with_clause_;
      }
      break;
    }
    case kInferClause: {
      if (GetArena() == nullptr) {
        delete node_.infer_clause_;
      }
      break;
    }
    case kOnConflictClause: {
      if (GetArena() == nullptr) {
        delete node_.on_conflict_clause_;
      }
      break;
    }
    case kCommonTableExpr: {
      if (GetArena() == nullptr) {
        delete node_.common_table_expr_;
      }
      break;
    }
    case kRoleSpec: {
      if (GetArena() == nullptr) {
        delete node_.role_spec_;
      }
      break;
    }
    case kTriggerTransition: {
      if (GetArena() == nullptr) {
        delete node_.trigger_transition_;
      }
      break;
    }
    case kPartitionElem: {
      if (GetArena() == nullptr) {
        delete node_.partition_elem_;
      }
      break;
    }
    case kPartitionSpec: {
      if (GetArena() == nullptr) {
        delete node_.partition_spec_;
      }
      break;
    }
    case kPartitionBoundSpec: {
      if (GetArena() == nullptr) {
        delete node_.partition_bound_spec_;
      }
      break;
    }
    case kPartitionRangeDatum: {
      if (GetArena() == nullptr) {
        delete node_.partition_range_datum_;
      }
      break;
    }
    case kPartitionCmd: {
      if (GetArena() == nullptr) {
        delete node_.partition_cmd_;
      }
      break;
    }
    case kVacuumRelation: {
      if (GetArena() == nullptr) {
        delete node_.vacuum_relation_;
      }
      break;
    }
    case kInlineCodeBlock: {
      if (GetArena() == nullptr) {
        delete node_.inline_code_block_;
      }
      break;
    }
    case kCallContext: {
      if (GetArena() == nullptr) {
        delete node_.call_context_;
      }
      break;
    }
    case kInteger: {
      if (GetArena() == nullptr) {
        delete node_.integer_;
      }
      break;
    }
    case kFloat: {
      if (GetArena() == nullptr) {
        delete node_.float__;
      }
      break;
    }
    case kString: {
      if (GetArena() == nullptr) {
        delete node_.string_;
      }
      break;
    }
    case kBitString: {
      if (GetArena() == nullptr) {
        delete node_.bit_string_;
      }
      break;
    }
    case kNull: {
      if (GetArena() == nullptr) {
        delete node_.null_;
      }
      break;
    }
    case kList: {
      if (GetArena() == nullptr) {
        delete node_.list_;
      }
      break;
    }
    case kIntList: {
      if (GetArena() == nullptr) {
        delete node_.int_list_;
      }
      break;
    }
    case kOidList: {
      if (GetArena() == nullptr) {
        delete node_.oid_list_;
      }
      break;
    }
    case NODE_NOT_SET: {
      break;
    }
  }
  _oneof_case_[0] = NODE_NOT_SET;
}


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

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

const char* Node::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Alias alias = 1 [json_name = "Alias"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_var(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_func(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Expr expr = 4 [json_name = "Expr"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Var var = 5 [json_name = "Var"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_var(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Param param = 6 [json_name = "Param"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_param(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Aggref aggref = 7 [json_name = "Aggref"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_aggref(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_grouping_func(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_window_func(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SubscriptingRef subscripting_ref = 10 [json_name = "SubscriptingRef"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_subscripting_ref(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FuncExpr func_expr = 11 [json_name = "FuncExpr"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_func_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.NamedArgExpr named_arg_expr = 12 [json_name = "NamedArgExpr"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_named_arg_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.OpExpr op_expr = 13 [json_name = "OpExpr"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_op_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DistinctExpr distinct_expr = 14 [json_name = "DistinctExpr"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_distinct_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.NullIfExpr null_if_expr = 15 [json_name = "NullIfExpr"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_null_if_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 16 [json_name = "ScalarArrayOpExpr"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_scalar_array_op_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.BoolExpr bool_expr = 17 [json_name = "BoolExpr"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_bool_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SubLink sub_link = 18 [json_name = "SubLink"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_sub_link(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SubPlan sub_plan = 19 [json_name = "SubPlan"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_sub_plan(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlternativeSubPlan alternative_sub_plan = 20 [json_name = "AlternativeSubPlan"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_alternative_sub_plan(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FieldSelect field_select = 21 [json_name = "FieldSelect"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr = ctx->ParseMessage(_internal_mutable_field_select(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FieldStore field_store = 22 [json_name = "FieldStore"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr = ctx->ParseMessage(_internal_mutable_field_store(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RelabelType relabel_type = 23 [json_name = "RelabelType"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_relabel_type(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoerceViaIO coerce_via_io = 24 [json_name = "CoerceViaIO"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_coerce_via_io(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ArrayCoerceExpr array_coerce_expr = 25 [json_name = "ArrayCoerceExpr"];
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_array_coerce_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 26 [json_name = "ConvertRowtypeExpr"];
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_convert_rowtype_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CollateExpr collate_expr = 27 [json_name = "CollateExpr"];
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_collate_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CaseExpr case_expr = 28 [json_name = "CaseExpr"];
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_case_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CaseWhen case_when = 29 [json_name = "CaseWhen"];
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_case_when(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CaseTestExpr case_test_expr = 30 [json_name = "CaseTestExpr"];
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr = ctx->ParseMessage(_internal_mutable_case_test_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ArrayExpr array_expr = 31 [json_name = "ArrayExpr"];
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr = ctx->ParseMessage(_internal_mutable_array_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RowExpr row_expr = 32 [json_name = "RowExpr"];
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_row_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RowCompareExpr row_compare_expr = 33 [json_name = "RowCompareExpr"];
      case 33:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_row_compare_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoalesceExpr coalesce_expr = 34 [json_name = "CoalesceExpr"];
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_coalesce_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.MinMaxExpr min_max_expr = 35 [json_name = "MinMaxExpr"];
      case 35:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_min_max_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SQLValueFunction sqlvalue_function = 36 [json_name = "SQLValueFunction"];
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_sqlvalue_function(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.XmlExpr xml_expr = 37 [json_name = "XmlExpr"];
      case 37:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_xml_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.NullTest null_test = 38 [json_name = "NullTest"];
      case 38:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_null_test(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.BooleanTest boolean_test = 39 [json_name = "BooleanTest"];
      case 39:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_boolean_test(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoerceToDomain coerce_to_domain = 40 [json_name = "CoerceToDomain"];
      case 40:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_coerce_to_domain(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoerceToDomainValue coerce_to_domain_value = 41 [json_name = "CoerceToDomainValue"];
      case 41:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_coerce_to_domain_value(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SetToDefault set_to_default = 42 [json_name = "SetToDefault"];
      case 42:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_set_to_default(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CurrentOfExpr current_of_expr = 43 [json_name = "CurrentOfExpr"];
      case 43:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_current_of_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.NextValueExpr next_value_expr = 44 [json_name = "NextValueExpr"];
      case 44:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_next_value_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.InferenceElem inference_elem = 45 [json_name = "InferenceElem"];
      case 45:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_inference_elem(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TargetEntry target_entry = 46 [json_name = "TargetEntry"];
      case 46:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_target_entry(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeTblRef range_tbl_ref = 47 [json_name = "RangeTblRef"];
      case 47:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_tbl_ref(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.JoinExpr join_expr = 48 [json_name = "JoinExpr"];
      case 48:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_join_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FromExpr from_expr = 49 [json_name = "FromExpr"];
      case 49:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_from_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.OnConflictExpr on_conflict_expr = 50 [json_name = "OnConflictExpr"];
      case 50:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_on_conflict_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.IntoClause into_clause = 51 [json_name = "IntoClause"];
      case 51:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_into_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RawStmt raw_stmt = 52 [json_name = "RawStmt"];
      case 52:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_raw_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Query query = 53 [json_name = "Query"];
      case 53:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.InsertStmt insert_stmt = 54 [json_name = "InsertStmt"];
      case 54:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr = ctx->ParseMessage(_internal_mutable_insert_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DeleteStmt delete_stmt = 55 [json_name = "DeleteStmt"];
      case 55:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_delete_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.UpdateStmt update_stmt = 56 [json_name = "UpdateStmt"];
      case 56:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_update_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SelectStmt select_stmt = 57 [json_name = "SelectStmt"];
      case 57:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_select_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterTableStmt alter_table_stmt = 58 [json_name = "AlterTableStmt"];
      case 58:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_table_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterTableCmd alter_table_cmd = 59 [json_name = "AlterTableCmd"];
      case 59:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_table_cmd(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterDomainStmt alter_domain_stmt = 60 [json_name = "AlterDomainStmt"];
      case 60:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_domain_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SetOperationStmt set_operation_stmt = 61 [json_name = "SetOperationStmt"];
      case 61:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_set_operation_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.GrantStmt grant_stmt = 62 [json_name = "GrantStmt"];
      case 62:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr = ctx->ParseMessage(_internal_mutable_grant_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.GrantRoleStmt grant_role_stmt = 63 [json_name = "GrantRoleStmt"];
      case 63:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr = ctx->ParseMessage(_internal_mutable_grant_role_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 64 [json_name = "AlterDefaultPrivilegesStmt"];
      case 64:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_default_privileges_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ClosePortalStmt close_portal_stmt = 65 [json_name = "ClosePortalStmt"];
      case 65:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_close_portal_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ClusterStmt cluster_stmt = 66 [json_name = "ClusterStmt"];
      case 66:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_cluster_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CopyStmt copy_stmt = 67 [json_name = "CopyStmt"];
      case 67:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_copy_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateStmt create_stmt = 68 [json_name = "CreateStmt"];
      case 68:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DefineStmt define_stmt = 69 [json_name = "DefineStmt"];
      case 69:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_define_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropStmt drop_stmt = 70 [json_name = "DropStmt"];
      case 70:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TruncateStmt truncate_stmt = 71 [json_name = "TruncateStmt"];
      case 71:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_truncate_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CommentStmt comment_stmt = 72 [json_name = "CommentStmt"];
      case 72:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_comment_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FetchStmt fetch_stmt = 73 [json_name = "FetchStmt"];
      case 73:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_fetch_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.IndexStmt index_stmt = 74 [json_name = "IndexStmt"];
      case 74:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_index_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateFunctionStmt create_function_stmt = 75 [json_name = "CreateFunctionStmt"];
      case 75:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_function_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterFunctionStmt alter_function_stmt = 76 [json_name = "AlterFunctionStmt"];
      case 76:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_function_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DoStmt do_stmt = 77 [json_name = "DoStmt"];
      case 77:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_do_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RenameStmt rename_stmt = 78 [json_name = "RenameStmt"];
      case 78:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_rename_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RuleStmt rule_stmt = 79 [json_name = "RuleStmt"];
      case 79:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_rule_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.NotifyStmt notify_stmt = 80 [json_name = "NotifyStmt"];
      case 80:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_notify_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ListenStmt listen_stmt = 81 [json_name = "ListenStmt"];
      case 81:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_listen_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.UnlistenStmt unlisten_stmt = 82 [json_name = "UnlistenStmt"];
      case 82:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_unlisten_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TransactionStmt transaction_stmt = 83 [json_name = "TransactionStmt"];
      case 83:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_transaction_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ViewStmt view_stmt = 84 [json_name = "ViewStmt"];
      case 84:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_view_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.LoadStmt load_stmt = 85 [json_name = "LoadStmt"];
      case 85:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr = ctx->ParseMessage(_internal_mutable_load_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateDomainStmt create_domain_stmt = 86 [json_name = "CreateDomainStmt"];
      case 86:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_domain_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreatedbStmt createdb_stmt = 87 [json_name = "CreatedbStmt"];
      case 87:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_createdb_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropdbStmt dropdb_stmt = 88 [json_name = "DropdbStmt"];
      case 88:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_dropdb_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.VacuumStmt vacuum_stmt = 89 [json_name = "VacuumStmt"];
      case 89:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_vacuum_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ExplainStmt explain_stmt = 90 [json_name = "ExplainStmt"];
      case 90:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_explain_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateTableAsStmt create_table_as_stmt = 91 [json_name = "CreateTableAsStmt"];
      case 91:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_table_as_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateSeqStmt create_seq_stmt = 92 [json_name = "CreateSeqStmt"];
      case 92:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_seq_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterSeqStmt alter_seq_stmt = 93 [json_name = "AlterSeqStmt"];
      case 93:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_seq_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.VariableSetStmt variable_set_stmt = 94 [json_name = "VariableSetStmt"];
      case 94:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr = ctx->ParseMessage(_internal_mutable_variable_set_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.VariableShowStmt variable_show_stmt = 95 [json_name = "VariableShowStmt"];
      case 95:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr = ctx->ParseMessage(_internal_mutable_variable_show_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DiscardStmt discard_stmt = 96 [json_name = "DiscardStmt"];
      case 96:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_discard_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateTrigStmt create_trig_stmt = 97 [json_name = "CreateTrigStmt"];
      case 97:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_trig_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreatePLangStmt create_plang_stmt = 98 [json_name = "CreatePLangStmt"];
      case 98:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_plang_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateRoleStmt create_role_stmt = 99 [json_name = "CreateRoleStmt"];
      case 99:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_role_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterRoleStmt alter_role_stmt = 100 [json_name = "AlterRoleStmt"];
      case 100:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_role_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropRoleStmt drop_role_stmt = 101 [json_name = "DropRoleStmt"];
      case 101:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_role_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.LockStmt lock_stmt = 102 [json_name = "LockStmt"];
      case 102:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_lock_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ConstraintsSetStmt constraints_set_stmt = 103 [json_name = "ConstraintsSetStmt"];
      case 103:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_constraints_set_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ReindexStmt reindex_stmt = 104 [json_name = "ReindexStmt"];
      case 104:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_reindex_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CheckPointStmt check_point_stmt = 105 [json_name = "CheckPointStmt"];
      case 105:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_check_point_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateSchemaStmt create_schema_stmt = 106 [json_name = "CreateSchemaStmt"];
      case 106:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_schema_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterDatabaseStmt alter_database_stmt = 107 [json_name = "AlterDatabaseStmt"];
      case 107:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_database_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 108 [json_name = "AlterDatabaseSetStmt"];
      case 108:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_database_set_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 109 [json_name = "AlterRoleSetStmt"];
      case 109:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_role_set_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateConversionStmt create_conversion_stmt = 110 [json_name = "CreateConversionStmt"];
      case 110:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_conversion_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateCastStmt create_cast_stmt = 111 [json_name = "CreateCastStmt"];
      case 111:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_cast_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateOpClassStmt create_op_class_stmt = 112 [json_name = "CreateOpClassStmt"];
      case 112:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_op_class_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 113 [json_name = "CreateOpFamilyStmt"];
      case 113:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_op_family_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 114 [json_name = "AlterOpFamilyStmt"];
      case 114:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_op_family_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PrepareStmt prepare_stmt = 115 [json_name = "PrepareStmt"];
      case 115:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_prepare_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ExecuteStmt execute_stmt = 116 [json_name = "ExecuteStmt"];
      case 116:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_execute_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DeallocateStmt deallocate_stmt = 117 [json_name = "DeallocateStmt"];
      case 117:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr = ctx->ParseMessage(_internal_mutable_deallocate_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DeclareCursorStmt declare_cursor_stmt = 118 [json_name = "DeclareCursorStmt"];
      case 118:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr = ctx->ParseMessage(_internal_mutable_declare_cursor_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 119 [json_name = "CreateTableSpaceStmt"];
      case 119:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_table_space_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 120 [json_name = "DropTableSpaceStmt"];
      case 120:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_table_space_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 121 [json_name = "AlterObjectDependsStmt"];
      case 121:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_object_depends_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 122 [json_name = "AlterObjectSchemaStmt"];
      case 122:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_object_schema_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterOwnerStmt alter_owner_stmt = 123 [json_name = "AlterOwnerStmt"];
      case 123:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_owner_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterOperatorStmt alter_operator_stmt = 124 [json_name = "AlterOperatorStmt"];
      case 124:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_operator_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterTypeStmt alter_type_stmt = 125 [json_name = "AlterTypeStmt"];
      case 125:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_type_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropOwnedStmt drop_owned_stmt = 126 [json_name = "DropOwnedStmt"];
      case 126:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_owned_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 127 [json_name = "ReassignOwnedStmt"];
      case 127:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr = ctx->ParseMessage(_internal_mutable_reassign_owned_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CompositeTypeStmt composite_type_stmt = 128 [json_name = "CompositeTypeStmt"];
      case 128:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_composite_type_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateEnumStmt create_enum_stmt = 129 [json_name = "CreateEnumStmt"];
      case 129:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_enum_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateRangeStmt create_range_stmt = 130 [json_name = "CreateRangeStmt"];
      case 130:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_range_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterEnumStmt alter_enum_stmt = 131 [json_name = "AlterEnumStmt"];
      case 131:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_enum_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 132 [json_name = "AlterTSDictionaryStmt"];
      case 132:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_tsdictionary_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 133 [json_name = "AlterTSConfigurationStmt"];
      case 133:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_tsconfiguration_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateFdwStmt create_fdw_stmt = 134 [json_name = "CreateFdwStmt"];
      case 134:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_fdw_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterFdwStmt alter_fdw_stmt = 135 [json_name = "AlterFdwStmt"];
      case 135:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_fdw_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 136 [json_name = "CreateForeignServerStmt"];
      case 136:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_foreign_server_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 137 [json_name = "AlterForeignServerStmt"];
      case 137:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_foreign_server_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 138 [json_name = "CreateUserMappingStmt"];
      case 138:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_user_mapping_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 139 [json_name = "AlterUserMappingStmt"];
      case 139:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_user_mapping_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 140 [json_name = "DropUserMappingStmt"];
      case 140:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_user_mapping_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 141 [json_name = "AlterTableSpaceOptionsStmt"];
      case 141:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_table_space_options_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 142 [json_name = "AlterTableMoveAllStmt"];
      case 142:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_table_move_all_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SecLabelStmt sec_label_stmt = 143 [json_name = "SecLabelStmt"];
      case 143:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_sec_label_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 144 [json_name = "CreateForeignTableStmt"];
      case 144:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_foreign_table_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 145 [json_name = "ImportForeignSchemaStmt"];
      case 145:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_import_foreign_schema_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateExtensionStmt create_extension_stmt = 146 [json_name = "CreateExtensionStmt"];
      case 146:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_extension_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterExtensionStmt alter_extension_stmt = 147 [json_name = "AlterExtensionStmt"];
      case 147:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_extension_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 148 [json_name = "AlterExtensionContentsStmt"];
      case 148:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_extension_contents_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 149 [json_name = "CreateEventTrigStmt"];
      case 149:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_event_trig_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 150 [json_name = "AlterEventTrigStmt"];
      case 150:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_event_trig_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 151 [json_name = "RefreshMatViewStmt"];
      case 151:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_refresh_mat_view_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 152 [json_name = "ReplicaIdentityStmt"];
      case 152:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_replica_identity_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterSystemStmt alter_system_stmt = 153 [json_name = "AlterSystemStmt"];
      case 153:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_system_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreatePolicyStmt create_policy_stmt = 154 [json_name = "CreatePolicyStmt"];
      case 154:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_policy_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterPolicyStmt alter_policy_stmt = 155 [json_name = "AlterPolicyStmt"];
      case 155:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_policy_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateTransformStmt create_transform_stmt = 156 [json_name = "CreateTransformStmt"];
      case 156:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_transform_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateAmStmt create_am_stmt = 157 [json_name = "CreateAmStmt"];
      case 157:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_am_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreatePublicationStmt create_publication_stmt = 158 [json_name = "CreatePublicationStmt"];
      case 158:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_publication_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterPublicationStmt alter_publication_stmt = 159 [json_name = "AlterPublicationStmt"];
      case 159:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_publication_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 160 [json_name = "CreateSubscriptionStmt"];
      case 160:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_subscription_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 161 [json_name = "AlterSubscriptionStmt"];
      case 161:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_subscription_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 162 [json_name = "DropSubscriptionStmt"];
      case 162:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_drop_subscription_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateStatsStmt create_stats_stmt = 163 [json_name = "CreateStatsStmt"];
      case 163:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_stats_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterCollationStmt alter_collation_stmt = 164 [json_name = "AlterCollationStmt"];
      case 164:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_collation_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CallStmt call_stmt = 165 [json_name = "CallStmt"];
      case 165:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_call_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AlterStatsStmt alter_stats_stmt = 166 [json_name = "AlterStatsStmt"];
      case 166:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_alter_stats_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.A_Expr a_expr = 167 [json_name = "A_Expr"];
      case 167:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_a_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ColumnRef column_ref = 168 [json_name = "ColumnRef"];
      case 168:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_column_ref(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ParamRef param_ref = 169 [json_name = "ParamRef"];
      case 169:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_param_ref(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.A_Const a_const = 170 [json_name = "A_Const"];
      case 170:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_a_const(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FuncCall func_call = 171 [json_name = "FuncCall"];
      case 171:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_func_call(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.A_Star a_star = 172 [json_name = "A_Star"];
      case 172:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_a_star(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.A_Indices a_indices = 173 [json_name = "A_Indices"];
      case 173:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_a_indices(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.A_Indirection a_indirection = 174 [json_name = "A_Indirection"];
      case 174:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_a_indirection(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.A_ArrayExpr a_array_expr = 175 [json_name = "A_ArrayExpr"];
      case 175:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_a_array_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ResTarget res_target = 176 [json_name = "ResTarget"];
      case 176:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_res_target(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.MultiAssignRef multi_assign_ref = 177 [json_name = "MultiAssignRef"];
      case 177:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_multi_assign_ref(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeCast type_cast = 178 [json_name = "TypeCast"];
      case 178:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_cast(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CollateClause collate_clause = 179 [json_name = "CollateClause"];
      case 179:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_collate_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SortBy sort_by = 180 [json_name = "SortBy"];
      case 180:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_sort_by(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.WindowDef window_def = 181 [json_name = "WindowDef"];
      case 181:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr = ctx->ParseMessage(_internal_mutable_window_def(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeSubselect range_subselect = 182 [json_name = "RangeSubselect"];
      case 182:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_subselect(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeFunction range_function = 183 [json_name = "RangeFunction"];
      case 183:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_function(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeTableSample range_table_sample = 184 [json_name = "RangeTableSample"];
      case 184:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_table_sample(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeTableFunc range_table_func = 185 [json_name = "RangeTableFunc"];
      case 185:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_table_func(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeTableFuncCol range_table_func_col = 186 [json_name = "RangeTableFuncCol"];
      case 186:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_table_func_col(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 187 [json_name = "TypeName"];
      case 187:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ColumnDef column_def = 188 [json_name = "ColumnDef"];
      case 188:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_column_def(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.IndexElem index_elem = 189 [json_name = "IndexElem"];
      case 189:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_index_elem(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Constraint constraint = 190 [json_name = "Constraint"];
      case 190:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr = ctx->ParseMessage(_internal_mutable_constraint(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DefElem def_elem = 191 [json_name = "DefElem"];
      case 191:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr = ctx->ParseMessage(_internal_mutable_def_elem(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeTblEntry range_tbl_entry = 192 [json_name = "RangeTblEntry"];
      case 192:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_tbl_entry(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeTblFunction range_tbl_function = 193 [json_name = "RangeTblFunction"];
      case 193:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_range_tbl_function(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TableSampleClause table_sample_clause = 194 [json_name = "TableSampleClause"];
      case 194:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_sample_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.WithCheckOption with_check_option = 195 [json_name = "WithCheckOption"];
      case 195:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_check_option(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SortGroupClause sort_group_clause = 196 [json_name = "SortGroupClause"];
      case 196:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_sort_group_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.GroupingSet grouping_set = 197 [json_name = "GroupingSet"];
      case 197:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_grouping_set(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.WindowClause window_clause = 198 [json_name = "WindowClause"];
      case 198:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_window_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs object_with_args = 199 [json_name = "ObjectWithArgs"];
      case 199:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_object_with_args(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AccessPriv access_priv = 200 [json_name = "AccessPriv"];
      case 200:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_access_priv(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CreateOpClassItem create_op_class_item = 201 [json_name = "CreateOpClassItem"];
      case 201:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_create_op_class_item(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TableLikeClause table_like_clause = 202 [json_name = "TableLikeClause"];
      case 202:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_like_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"];
      case 203:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_function_parameter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.LockingClause locking_clause = 204 [json_name = "LockingClause"];
      case 204:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_locking_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RowMarkClause row_mark_clause = 205 [json_name = "RowMarkClause"];
      case 205:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_row_mark_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.XmlSerialize xml_serialize = 206 [json_name = "XmlSerialize"];
      case 206:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_xml_serialize(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.WithClause with_clause = 207 [json_name = "WithClause"];
      case 207:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.InferClause infer_clause = 208 [json_name = "InferClause"];
      case 208:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_infer_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.OnConflictClause on_conflict_clause = 209 [json_name = "OnConflictClause"];
      case 209:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_on_conflict_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CommonTableExpr common_table_expr = 210 [json_name = "CommonTableExpr"];
      case 210:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_common_table_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RoleSpec role_spec = 211 [json_name = "RoleSpec"];
      case 211:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_role_spec(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TriggerTransition trigger_transition = 212 [json_name = "TriggerTransition"];
      case 212:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_trigger_transition(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionElem partition_elem = 213 [json_name = "PartitionElem"];
      case 213:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr = ctx->ParseMessage(_internal_mutable_partition_elem(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionSpec partition_spec = 214 [json_name = "PartitionSpec"];
      case 214:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr = ctx->ParseMessage(_internal_mutable_partition_spec(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionBoundSpec partition_bound_spec = 215 [json_name = "PartitionBoundSpec"];
      case 215:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_partition_bound_spec(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionRangeDatum partition_range_datum = 216 [json_name = "PartitionRangeDatum"];
      case 216:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_partition_range_datum(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionCmd partition_cmd = 217 [json_name = "PartitionCmd"];
      case 217:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_partition_cmd(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.VacuumRelation vacuum_relation = 218 [json_name = "VacuumRelation"];
      case 218:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_vacuum_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.InlineCodeBlock inline_code_block = 219 [json_name = "InlineCodeBlock"];
      case 219:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_inline_code_block(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CallContext call_context = 220 [json_name = "CallContext"];
      case 220:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_call_context(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Integer integer = 221 [json_name = "Integer"];
      case 221:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_integer(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Float float = 222 [json_name = "Float"];
      case 222:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr = ctx->ParseMessage(_internal_mutable_float_(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.String string = 223 [json_name = "String"];
      case 223:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr = ctx->ParseMessage(_internal_mutable_string(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.BitString bit_string = 224 [json_name = "BitString"];
      case 224:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_bit_string(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Null null = 225 [json_name = "Null"];
      case 225:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_null(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.List list = 226 [json_name = "List"];
      case 226:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_list(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.IntList int_list = 227 [json_name = "IntList"];
      case 227:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_int_list(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.OidList oid_list = 228 [json_name = "OidList"];
      case 228:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_oid_list(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Node::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Node)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Alias alias = 1 [json_name = "Alias"];
  if (_internal_has_alias()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::alias(this), target, stream);
  }

  // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"];
  if (_internal_has_range_var()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::range_var(this), target, stream);
  }

  // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"];
  if (_internal_has_table_func()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::table_func(this), target, stream);
  }

  // .pg_query.Expr expr = 4 [json_name = "Expr"];
  if (_internal_has_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::expr(this), target, stream);
  }

  // .pg_query.Var var = 5 [json_name = "Var"];
  if (_internal_has_var()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::var(this), target, stream);
  }

  // .pg_query.Param param = 6 [json_name = "Param"];
  if (_internal_has_param()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::param(this), target, stream);
  }

  // .pg_query.Aggref aggref = 7 [json_name = "Aggref"];
  if (_internal_has_aggref()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::aggref(this), target, stream);
  }

  // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"];
  if (_internal_has_grouping_func()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        8, _Internal::grouping_func(this), target, stream);
  }

  // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"];
  if (_internal_has_window_func()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        9, _Internal::window_func(this), target, stream);
  }

  // .pg_query.SubscriptingRef subscripting_ref = 10 [json_name = "SubscriptingRef"];
  if (_internal_has_subscripting_ref()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        10, _Internal::subscripting_ref(this), target, stream);
  }

  // .pg_query.FuncExpr func_expr = 11 [json_name = "FuncExpr"];
  if (_internal_has_func_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        11, _Internal::func_expr(this), target, stream);
  }

  // .pg_query.NamedArgExpr named_arg_expr = 12 [json_name = "NamedArgExpr"];
  if (_internal_has_named_arg_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        12, _Internal::named_arg_expr(this), target, stream);
  }

  // .pg_query.OpExpr op_expr = 13 [json_name = "OpExpr"];
  if (_internal_has_op_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        13, _Internal::op_expr(this), target, stream);
  }

  // .pg_query.DistinctExpr distinct_expr = 14 [json_name = "DistinctExpr"];
  if (_internal_has_distinct_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        14, _Internal::distinct_expr(this), target, stream);
  }

  // .pg_query.NullIfExpr null_if_expr = 15 [json_name = "NullIfExpr"];
  if (_internal_has_null_if_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        15, _Internal::null_if_expr(this), target, stream);
  }

  // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 16 [json_name = "ScalarArrayOpExpr"];
  if (_internal_has_scalar_array_op_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        16, _Internal::scalar_array_op_expr(this), target, stream);
  }

  // .pg_query.BoolExpr bool_expr = 17 [json_name = "BoolExpr"];
  if (_internal_has_bool_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        17, _Internal::bool_expr(this), target, stream);
  }

  // .pg_query.SubLink sub_link = 18 [json_name = "SubLink"];
  if (_internal_has_sub_link()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        18, _Internal::sub_link(this), target, stream);
  }

  // .pg_query.SubPlan sub_plan = 19 [json_name = "SubPlan"];
  if (_internal_has_sub_plan()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        19, _Internal::sub_plan(this), target, stream);
  }

  // .pg_query.AlternativeSubPlan alternative_sub_plan = 20 [json_name = "AlternativeSubPlan"];
  if (_internal_has_alternative_sub_plan()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        20, _Internal::alternative_sub_plan(this), target, stream);
  }

  // .pg_query.FieldSelect field_select = 21 [json_name = "FieldSelect"];
  if (_internal_has_field_select()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        21, _Internal::field_select(this), target, stream);
  }

  // .pg_query.FieldStore field_store = 22 [json_name = "FieldStore"];
  if (_internal_has_field_store()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        22, _Internal::field_store(this), target, stream);
  }

  // .pg_query.RelabelType relabel_type = 23 [json_name = "RelabelType"];
  if (_internal_has_relabel_type()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        23, _Internal::relabel_type(this), target, stream);
  }

  // .pg_query.CoerceViaIO coerce_via_io = 24 [json_name = "CoerceViaIO"];
  if (_internal_has_coerce_via_io()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        24, _Internal::coerce_via_io(this), target, stream);
  }

  // .pg_query.ArrayCoerceExpr array_coerce_expr = 25 [json_name = "ArrayCoerceExpr"];
  if (_internal_has_array_coerce_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        25, _Internal::array_coerce_expr(this), target, stream);
  }

  // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 26 [json_name = "ConvertRowtypeExpr"];
  if (_internal_has_convert_rowtype_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        26, _Internal::convert_rowtype_expr(this), target, stream);
  }

  // .pg_query.CollateExpr collate_expr = 27 [json_name = "CollateExpr"];
  if (_internal_has_collate_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        27, _Internal::collate_expr(this), target, stream);
  }

  // .pg_query.CaseExpr case_expr = 28 [json_name = "CaseExpr"];
  if (_internal_has_case_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        28, _Internal::case_expr(this), target, stream);
  }

  // .pg_query.CaseWhen case_when = 29 [json_name = "CaseWhen"];
  if (_internal_has_case_when()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        29, _Internal::case_when(this), target, stream);
  }

  // .pg_query.CaseTestExpr case_test_expr = 30 [json_name = "CaseTestExpr"];
  if (_internal_has_case_test_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        30, _Internal::case_test_expr(this), target, stream);
  }

  // .pg_query.ArrayExpr array_expr = 31 [json_name = "ArrayExpr"];
  if (_internal_has_array_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        31, _Internal::array_expr(this), target, stream);
  }

  // .pg_query.RowExpr row_expr = 32 [json_name = "RowExpr"];
  if (_internal_has_row_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        32, _Internal::row_expr(this), target, stream);
  }

  // .pg_query.RowCompareExpr row_compare_expr = 33 [json_name = "RowCompareExpr"];
  if (_internal_has_row_compare_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        33, _Internal::row_compare_expr(this), target, stream);
  }

  // .pg_query.CoalesceExpr coalesce_expr = 34 [json_name = "CoalesceExpr"];
  if (_internal_has_coalesce_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        34, _Internal::coalesce_expr(this), target, stream);
  }

  // .pg_query.MinMaxExpr min_max_expr = 35 [json_name = "MinMaxExpr"];
  if (_internal_has_min_max_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        35, _Internal::min_max_expr(this), target, stream);
  }

  // .pg_query.SQLValueFunction sqlvalue_function = 36 [json_name = "SQLValueFunction"];
  if (_internal_has_sqlvalue_function()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        36, _Internal::sqlvalue_function(this), target, stream);
  }

  // .pg_query.XmlExpr xml_expr = 37 [json_name = "XmlExpr"];
  if (_internal_has_xml_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        37, _Internal::xml_expr(this), target, stream);
  }

  // .pg_query.NullTest null_test = 38 [json_name = "NullTest"];
  if (_internal_has_null_test()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        38, _Internal::null_test(this), target, stream);
  }

  // .pg_query.BooleanTest boolean_test = 39 [json_name = "BooleanTest"];
  if (_internal_has_boolean_test()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        39, _Internal::boolean_test(this), target, stream);
  }

  // .pg_query.CoerceToDomain coerce_to_domain = 40 [json_name = "CoerceToDomain"];
  if (_internal_has_coerce_to_domain()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        40, _Internal::coerce_to_domain(this), target, stream);
  }

  // .pg_query.CoerceToDomainValue coerce_to_domain_value = 41 [json_name = "CoerceToDomainValue"];
  if (_internal_has_coerce_to_domain_value()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        41, _Internal::coerce_to_domain_value(this), target, stream);
  }

  // .pg_query.SetToDefault set_to_default = 42 [json_name = "SetToDefault"];
  if (_internal_has_set_to_default()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        42, _Internal::set_to_default(this), target, stream);
  }

  // .pg_query.CurrentOfExpr current_of_expr = 43 [json_name = "CurrentOfExpr"];
  if (_internal_has_current_of_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        43, _Internal::current_of_expr(this), target, stream);
  }

  // .pg_query.NextValueExpr next_value_expr = 44 [json_name = "NextValueExpr"];
  if (_internal_has_next_value_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        44, _Internal::next_value_expr(this), target, stream);
  }

  // .pg_query.InferenceElem inference_elem = 45 [json_name = "InferenceElem"];
  if (_internal_has_inference_elem()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        45, _Internal::inference_elem(this), target, stream);
  }

  // .pg_query.TargetEntry target_entry = 46 [json_name = "TargetEntry"];
  if (_internal_has_target_entry()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        46, _Internal::target_entry(this), target, stream);
  }

  // .pg_query.RangeTblRef range_tbl_ref = 47 [json_name = "RangeTblRef"];
  if (_internal_has_range_tbl_ref()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        47, _Internal::range_tbl_ref(this), target, stream);
  }

  // .pg_query.JoinExpr join_expr = 48 [json_name = "JoinExpr"];
  if (_internal_has_join_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        48, _Internal::join_expr(this), target, stream);
  }

  // .pg_query.FromExpr from_expr = 49 [json_name = "FromExpr"];
  if (_internal_has_from_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        49, _Internal::from_expr(this), target, stream);
  }

  // .pg_query.OnConflictExpr on_conflict_expr = 50 [json_name = "OnConflictExpr"];
  if (_internal_has_on_conflict_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        50, _Internal::on_conflict_expr(this), target, stream);
  }

  // .pg_query.IntoClause into_clause = 51 [json_name = "IntoClause"];
  if (_internal_has_into_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        51, _Internal::into_clause(this), target, stream);
  }

  // .pg_query.RawStmt raw_stmt = 52 [json_name = "RawStmt"];
  if (_internal_has_raw_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        52, _Internal::raw_stmt(this), target, stream);
  }

  // .pg_query.Query query = 53 [json_name = "Query"];
  if (_internal_has_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        53, _Internal::query(this), target, stream);
  }

  // .pg_query.InsertStmt insert_stmt = 54 [json_name = "InsertStmt"];
  if (_internal_has_insert_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        54, _Internal::insert_stmt(this), target, stream);
  }

  // .pg_query.DeleteStmt delete_stmt = 55 [json_name = "DeleteStmt"];
  if (_internal_has_delete_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        55, _Internal::delete_stmt(this), target, stream);
  }

  // .pg_query.UpdateStmt update_stmt = 56 [json_name = "UpdateStmt"];
  if (_internal_has_update_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        56, _Internal::update_stmt(this), target, stream);
  }

  // .pg_query.SelectStmt select_stmt = 57 [json_name = "SelectStmt"];
  if (_internal_has_select_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        57, _Internal::select_stmt(this), target, stream);
  }

  // .pg_query.AlterTableStmt alter_table_stmt = 58 [json_name = "AlterTableStmt"];
  if (_internal_has_alter_table_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        58, _Internal::alter_table_stmt(this), target, stream);
  }

  // .pg_query.AlterTableCmd alter_table_cmd = 59 [json_name = "AlterTableCmd"];
  if (_internal_has_alter_table_cmd()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        59, _Internal::alter_table_cmd(this), target, stream);
  }

  // .pg_query.AlterDomainStmt alter_domain_stmt = 60 [json_name = "AlterDomainStmt"];
  if (_internal_has_alter_domain_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        60, _Internal::alter_domain_stmt(this), target, stream);
  }

  // .pg_query.SetOperationStmt set_operation_stmt = 61 [json_name = "SetOperationStmt"];
  if (_internal_has_set_operation_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        61, _Internal::set_operation_stmt(this), target, stream);
  }

  // .pg_query.GrantStmt grant_stmt = 62 [json_name = "GrantStmt"];
  if (_internal_has_grant_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        62, _Internal::grant_stmt(this), target, stream);
  }

  // .pg_query.GrantRoleStmt grant_role_stmt = 63 [json_name = "GrantRoleStmt"];
  if (_internal_has_grant_role_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        63, _Internal::grant_role_stmt(this), target, stream);
  }

  // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 64 [json_name = "AlterDefaultPrivilegesStmt"];
  if (_internal_has_alter_default_privileges_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        64, _Internal::alter_default_privileges_stmt(this), target, stream);
  }

  // .pg_query.ClosePortalStmt close_portal_stmt = 65 [json_name = "ClosePortalStmt"];
  if (_internal_has_close_portal_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        65, _Internal::close_portal_stmt(this), target, stream);
  }

  // .pg_query.ClusterStmt cluster_stmt = 66 [json_name = "ClusterStmt"];
  if (_internal_has_cluster_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        66, _Internal::cluster_stmt(this), target, stream);
  }

  // .pg_query.CopyStmt copy_stmt = 67 [json_name = "CopyStmt"];
  if (_internal_has_copy_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        67, _Internal::copy_stmt(this), target, stream);
  }

  // .pg_query.CreateStmt create_stmt = 68 [json_name = "CreateStmt"];
  if (_internal_has_create_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        68, _Internal::create_stmt(this), target, stream);
  }

  // .pg_query.DefineStmt define_stmt = 69 [json_name = "DefineStmt"];
  if (_internal_has_define_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        69, _Internal::define_stmt(this), target, stream);
  }

  // .pg_query.DropStmt drop_stmt = 70 [json_name = "DropStmt"];
  if (_internal_has_drop_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        70, _Internal::drop_stmt(this), target, stream);
  }

  // .pg_query.TruncateStmt truncate_stmt = 71 [json_name = "TruncateStmt"];
  if (_internal_has_truncate_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        71, _Internal::truncate_stmt(this), target, stream);
  }

  // .pg_query.CommentStmt comment_stmt = 72 [json_name = "CommentStmt"];
  if (_internal_has_comment_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        72, _Internal::comment_stmt(this), target, stream);
  }

  // .pg_query.FetchStmt fetch_stmt = 73 [json_name = "FetchStmt"];
  if (_internal_has_fetch_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        73, _Internal::fetch_stmt(this), target, stream);
  }

  // .pg_query.IndexStmt index_stmt = 74 [json_name = "IndexStmt"];
  if (_internal_has_index_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        74, _Internal::index_stmt(this), target, stream);
  }

  // .pg_query.CreateFunctionStmt create_function_stmt = 75 [json_name = "CreateFunctionStmt"];
  if (_internal_has_create_function_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        75, _Internal::create_function_stmt(this), target, stream);
  }

  // .pg_query.AlterFunctionStmt alter_function_stmt = 76 [json_name = "AlterFunctionStmt"];
  if (_internal_has_alter_function_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        76, _Internal::alter_function_stmt(this), target, stream);
  }

  // .pg_query.DoStmt do_stmt = 77 [json_name = "DoStmt"];
  if (_internal_has_do_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        77, _Internal::do_stmt(this), target, stream);
  }

  // .pg_query.RenameStmt rename_stmt = 78 [json_name = "RenameStmt"];
  if (_internal_has_rename_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        78, _Internal::rename_stmt(this), target, stream);
  }

  // .pg_query.RuleStmt rule_stmt = 79 [json_name = "RuleStmt"];
  if (_internal_has_rule_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        79, _Internal::rule_stmt(this), target, stream);
  }

  // .pg_query.NotifyStmt notify_stmt = 80 [json_name = "NotifyStmt"];
  if (_internal_has_notify_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        80, _Internal::notify_stmt(this), target, stream);
  }

  // .pg_query.ListenStmt listen_stmt = 81 [json_name = "ListenStmt"];
  if (_internal_has_listen_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        81, _Internal::listen_stmt(this), target, stream);
  }

  // .pg_query.UnlistenStmt unlisten_stmt = 82 [json_name = "UnlistenStmt"];
  if (_internal_has_unlisten_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        82, _Internal::unlisten_stmt(this), target, stream);
  }

  // .pg_query.TransactionStmt transaction_stmt = 83 [json_name = "TransactionStmt"];
  if (_internal_has_transaction_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        83, _Internal::transaction_stmt(this), target, stream);
  }

  // .pg_query.ViewStmt view_stmt = 84 [json_name = "ViewStmt"];
  if (_internal_has_view_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        84, _Internal::view_stmt(this), target, stream);
  }

  // .pg_query.LoadStmt load_stmt = 85 [json_name = "LoadStmt"];
  if (_internal_has_load_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        85, _Internal::load_stmt(this), target, stream);
  }

  // .pg_query.CreateDomainStmt create_domain_stmt = 86 [json_name = "CreateDomainStmt"];
  if (_internal_has_create_domain_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        86, _Internal::create_domain_stmt(this), target, stream);
  }

  // .pg_query.CreatedbStmt createdb_stmt = 87 [json_name = "CreatedbStmt"];
  if (_internal_has_createdb_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        87, _Internal::createdb_stmt(this), target, stream);
  }

  // .pg_query.DropdbStmt dropdb_stmt = 88 [json_name = "DropdbStmt"];
  if (_internal_has_dropdb_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        88, _Internal::dropdb_stmt(this), target, stream);
  }

  // .pg_query.VacuumStmt vacuum_stmt = 89 [json_name = "VacuumStmt"];
  if (_internal_has_vacuum_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        89, _Internal::vacuum_stmt(this), target, stream);
  }

  // .pg_query.ExplainStmt explain_stmt = 90 [json_name = "ExplainStmt"];
  if (_internal_has_explain_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        90, _Internal::explain_stmt(this), target, stream);
  }

  // .pg_query.CreateTableAsStmt create_table_as_stmt = 91 [json_name = "CreateTableAsStmt"];
  if (_internal_has_create_table_as_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        91, _Internal::create_table_as_stmt(this), target, stream);
  }

  // .pg_query.CreateSeqStmt create_seq_stmt = 92 [json_name = "CreateSeqStmt"];
  if (_internal_has_create_seq_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        92, _Internal::create_seq_stmt(this), target, stream);
  }

  // .pg_query.AlterSeqStmt alter_seq_stmt = 93 [json_name = "AlterSeqStmt"];
  if (_internal_has_alter_seq_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        93, _Internal::alter_seq_stmt(this), target, stream);
  }

  // .pg_query.VariableSetStmt variable_set_stmt = 94 [json_name = "VariableSetStmt"];
  if (_internal_has_variable_set_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        94, _Internal::variable_set_stmt(this), target, stream);
  }

  // .pg_query.VariableShowStmt variable_show_stmt = 95 [json_name = "VariableShowStmt"];
  if (_internal_has_variable_show_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        95, _Internal::variable_show_stmt(this), target, stream);
  }

  // .pg_query.DiscardStmt discard_stmt = 96 [json_name = "DiscardStmt"];
  if (_internal_has_discard_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        96, _Internal::discard_stmt(this), target, stream);
  }

  // .pg_query.CreateTrigStmt create_trig_stmt = 97 [json_name = "CreateTrigStmt"];
  if (_internal_has_create_trig_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        97, _Internal::create_trig_stmt(this), target, stream);
  }

  // .pg_query.CreatePLangStmt create_plang_stmt = 98 [json_name = "CreatePLangStmt"];
  if (_internal_has_create_plang_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        98, _Internal::create_plang_stmt(this), target, stream);
  }

  // .pg_query.CreateRoleStmt create_role_stmt = 99 [json_name = "CreateRoleStmt"];
  if (_internal_has_create_role_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        99, _Internal::create_role_stmt(this), target, stream);
  }

  // .pg_query.AlterRoleStmt alter_role_stmt = 100 [json_name = "AlterRoleStmt"];
  if (_internal_has_alter_role_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        100, _Internal::alter_role_stmt(this), target, stream);
  }

  // .pg_query.DropRoleStmt drop_role_stmt = 101 [json_name = "DropRoleStmt"];
  if (_internal_has_drop_role_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        101, _Internal::drop_role_stmt(this), target, stream);
  }

  // .pg_query.LockStmt lock_stmt = 102 [json_name = "LockStmt"];
  if (_internal_has_lock_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        102, _Internal::lock_stmt(this), target, stream);
  }

  // .pg_query.ConstraintsSetStmt constraints_set_stmt = 103 [json_name = "ConstraintsSetStmt"];
  if (_internal_has_constraints_set_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        103, _Internal::constraints_set_stmt(this), target, stream);
  }

  // .pg_query.ReindexStmt reindex_stmt = 104 [json_name = "ReindexStmt"];
  if (_internal_has_reindex_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        104, _Internal::reindex_stmt(this), target, stream);
  }

  // .pg_query.CheckPointStmt check_point_stmt = 105 [json_name = "CheckPointStmt"];
  if (_internal_has_check_point_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        105, _Internal::check_point_stmt(this), target, stream);
  }

  // .pg_query.CreateSchemaStmt create_schema_stmt = 106 [json_name = "CreateSchemaStmt"];
  if (_internal_has_create_schema_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        106, _Internal::create_schema_stmt(this), target, stream);
  }

  // .pg_query.AlterDatabaseStmt alter_database_stmt = 107 [json_name = "AlterDatabaseStmt"];
  if (_internal_has_alter_database_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        107, _Internal::alter_database_stmt(this), target, stream);
  }

  // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 108 [json_name = "AlterDatabaseSetStmt"];
  if (_internal_has_alter_database_set_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        108, _Internal::alter_database_set_stmt(this), target, stream);
  }

  // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 109 [json_name = "AlterRoleSetStmt"];
  if (_internal_has_alter_role_set_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        109, _Internal::alter_role_set_stmt(this), target, stream);
  }

  // .pg_query.CreateConversionStmt create_conversion_stmt = 110 [json_name = "CreateConversionStmt"];
  if (_internal_has_create_conversion_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        110, _Internal::create_conversion_stmt(this), target, stream);
  }

  // .pg_query.CreateCastStmt create_cast_stmt = 111 [json_name = "CreateCastStmt"];
  if (_internal_has_create_cast_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        111, _Internal::create_cast_stmt(this), target, stream);
  }

  // .pg_query.CreateOpClassStmt create_op_class_stmt = 112 [json_name = "CreateOpClassStmt"];
  if (_internal_has_create_op_class_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        112, _Internal::create_op_class_stmt(this), target, stream);
  }

  // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 113 [json_name = "CreateOpFamilyStmt"];
  if (_internal_has_create_op_family_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        113, _Internal::create_op_family_stmt(this), target, stream);
  }

  // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 114 [json_name = "AlterOpFamilyStmt"];
  if (_internal_has_alter_op_family_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        114, _Internal::alter_op_family_stmt(this), target, stream);
  }

  // .pg_query.PrepareStmt prepare_stmt = 115 [json_name = "PrepareStmt"];
  if (_internal_has_prepare_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        115, _Internal::prepare_stmt(this), target, stream);
  }

  // .pg_query.ExecuteStmt execute_stmt = 116 [json_name = "ExecuteStmt"];
  if (_internal_has_execute_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        116, _Internal::execute_stmt(this), target, stream);
  }

  // .pg_query.DeallocateStmt deallocate_stmt = 117 [json_name = "DeallocateStmt"];
  if (_internal_has_deallocate_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        117, _Internal::deallocate_stmt(this), target, stream);
  }

  // .pg_query.DeclareCursorStmt declare_cursor_stmt = 118 [json_name = "DeclareCursorStmt"];
  if (_internal_has_declare_cursor_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        118, _Internal::declare_cursor_stmt(this), target, stream);
  }

  // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 119 [json_name = "CreateTableSpaceStmt"];
  if (_internal_has_create_table_space_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        119, _Internal::create_table_space_stmt(this), target, stream);
  }

  // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 120 [json_name = "DropTableSpaceStmt"];
  if (_internal_has_drop_table_space_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        120, _Internal::drop_table_space_stmt(this), target, stream);
  }

  // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 121 [json_name = "AlterObjectDependsStmt"];
  if (_internal_has_alter_object_depends_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        121, _Internal::alter_object_depends_stmt(this), target, stream);
  }

  // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 122 [json_name = "AlterObjectSchemaStmt"];
  if (_internal_has_alter_object_schema_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        122, _Internal::alter_object_schema_stmt(this), target, stream);
  }

  // .pg_query.AlterOwnerStmt alter_owner_stmt = 123 [json_name = "AlterOwnerStmt"];
  if (_internal_has_alter_owner_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        123, _Internal::alter_owner_stmt(this), target, stream);
  }

  // .pg_query.AlterOperatorStmt alter_operator_stmt = 124 [json_name = "AlterOperatorStmt"];
  if (_internal_has_alter_operator_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        124, _Internal::alter_operator_stmt(this), target, stream);
  }

  // .pg_query.AlterTypeStmt alter_type_stmt = 125 [json_name = "AlterTypeStmt"];
  if (_internal_has_alter_type_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        125, _Internal::alter_type_stmt(this), target, stream);
  }

  // .pg_query.DropOwnedStmt drop_owned_stmt = 126 [json_name = "DropOwnedStmt"];
  if (_internal_has_drop_owned_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        126, _Internal::drop_owned_stmt(this), target, stream);
  }

  // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 127 [json_name = "ReassignOwnedStmt"];
  if (_internal_has_reassign_owned_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        127, _Internal::reassign_owned_stmt(this), target, stream);
  }

  // .pg_query.CompositeTypeStmt composite_type_stmt = 128 [json_name = "CompositeTypeStmt"];
  if (_internal_has_composite_type_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        128, _Internal::composite_type_stmt(this), target, stream);
  }

  // .pg_query.CreateEnumStmt create_enum_stmt = 129 [json_name = "CreateEnumStmt"];
  if (_internal_has_create_enum_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        129, _Internal::create_enum_stmt(this), target, stream);
  }

  // .pg_query.CreateRangeStmt create_range_stmt = 130 [json_name = "CreateRangeStmt"];
  if (_internal_has_create_range_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        130, _Internal::create_range_stmt(this), target, stream);
  }

  // .pg_query.AlterEnumStmt alter_enum_stmt = 131 [json_name = "AlterEnumStmt"];
  if (_internal_has_alter_enum_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        131, _Internal::alter_enum_stmt(this), target, stream);
  }

  // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 132 [json_name = "AlterTSDictionaryStmt"];
  if (_internal_has_alter_tsdictionary_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        132, _Internal::alter_tsdictionary_stmt(this), target, stream);
  }

  // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 133 [json_name = "AlterTSConfigurationStmt"];
  if (_internal_has_alter_tsconfiguration_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        133, _Internal::alter_tsconfiguration_stmt(this), target, stream);
  }

  // .pg_query.CreateFdwStmt create_fdw_stmt = 134 [json_name = "CreateFdwStmt"];
  if (_internal_has_create_fdw_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        134, _Internal::create_fdw_stmt(this), target, stream);
  }

  // .pg_query.AlterFdwStmt alter_fdw_stmt = 135 [json_name = "AlterFdwStmt"];
  if (_internal_has_alter_fdw_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        135, _Internal::alter_fdw_stmt(this), target, stream);
  }

  // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 136 [json_name = "CreateForeignServerStmt"];
  if (_internal_has_create_foreign_server_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        136, _Internal::create_foreign_server_stmt(this), target, stream);
  }

  // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 137 [json_name = "AlterForeignServerStmt"];
  if (_internal_has_alter_foreign_server_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        137, _Internal::alter_foreign_server_stmt(this), target, stream);
  }

  // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 138 [json_name = "CreateUserMappingStmt"];
  if (_internal_has_create_user_mapping_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        138, _Internal::create_user_mapping_stmt(this), target, stream);
  }

  // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 139 [json_name = "AlterUserMappingStmt"];
  if (_internal_has_alter_user_mapping_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        139, _Internal::alter_user_mapping_stmt(this), target, stream);
  }

  // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 140 [json_name = "DropUserMappingStmt"];
  if (_internal_has_drop_user_mapping_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        140, _Internal::drop_user_mapping_stmt(this), target, stream);
  }

  // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 141 [json_name = "AlterTableSpaceOptionsStmt"];
  if (_internal_has_alter_table_space_options_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        141, _Internal::alter_table_space_options_stmt(this), target, stream);
  }

  // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 142 [json_name = "AlterTableMoveAllStmt"];
  if (_internal_has_alter_table_move_all_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        142, _Internal::alter_table_move_all_stmt(this), target, stream);
  }

  // .pg_query.SecLabelStmt sec_label_stmt = 143 [json_name = "SecLabelStmt"];
  if (_internal_has_sec_label_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        143, _Internal::sec_label_stmt(this), target, stream);
  }

  // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 144 [json_name = "CreateForeignTableStmt"];
  if (_internal_has_create_foreign_table_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        144, _Internal::create_foreign_table_stmt(this), target, stream);
  }

  // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 145 [json_name = "ImportForeignSchemaStmt"];
  if (_internal_has_import_foreign_schema_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        145, _Internal::import_foreign_schema_stmt(this), target, stream);
  }

  // .pg_query.CreateExtensionStmt create_extension_stmt = 146 [json_name = "CreateExtensionStmt"];
  if (_internal_has_create_extension_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        146, _Internal::create_extension_stmt(this), target, stream);
  }

  // .pg_query.AlterExtensionStmt alter_extension_stmt = 147 [json_name = "AlterExtensionStmt"];
  if (_internal_has_alter_extension_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        147, _Internal::alter_extension_stmt(this), target, stream);
  }

  // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 148 [json_name = "AlterExtensionContentsStmt"];
  if (_internal_has_alter_extension_contents_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        148, _Internal::alter_extension_contents_stmt(this), target, stream);
  }

  // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 149 [json_name = "CreateEventTrigStmt"];
  if (_internal_has_create_event_trig_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        149, _Internal::create_event_trig_stmt(this), target, stream);
  }

  // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 150 [json_name = "AlterEventTrigStmt"];
  if (_internal_has_alter_event_trig_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        150, _Internal::alter_event_trig_stmt(this), target, stream);
  }

  // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 151 [json_name = "RefreshMatViewStmt"];
  if (_internal_has_refresh_mat_view_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        151, _Internal::refresh_mat_view_stmt(this), target, stream);
  }

  // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 152 [json_name = "ReplicaIdentityStmt"];
  if (_internal_has_replica_identity_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        152, _Internal::replica_identity_stmt(this), target, stream);
  }

  // .pg_query.AlterSystemStmt alter_system_stmt = 153 [json_name = "AlterSystemStmt"];
  if (_internal_has_alter_system_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        153, _Internal::alter_system_stmt(this), target, stream);
  }

  // .pg_query.CreatePolicyStmt create_policy_stmt = 154 [json_name = "CreatePolicyStmt"];
  if (_internal_has_create_policy_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        154, _Internal::create_policy_stmt(this), target, stream);
  }

  // .pg_query.AlterPolicyStmt alter_policy_stmt = 155 [json_name = "AlterPolicyStmt"];
  if (_internal_has_alter_policy_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        155, _Internal::alter_policy_stmt(this), target, stream);
  }

  // .pg_query.CreateTransformStmt create_transform_stmt = 156 [json_name = "CreateTransformStmt"];
  if (_internal_has_create_transform_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        156, _Internal::create_transform_stmt(this), target, stream);
  }

  // .pg_query.CreateAmStmt create_am_stmt = 157 [json_name = "CreateAmStmt"];
  if (_internal_has_create_am_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        157, _Internal::create_am_stmt(this), target, stream);
  }

  // .pg_query.CreatePublicationStmt create_publication_stmt = 158 [json_name = "CreatePublicationStmt"];
  if (_internal_has_create_publication_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        158, _Internal::create_publication_stmt(this), target, stream);
  }

  // .pg_query.AlterPublicationStmt alter_publication_stmt = 159 [json_name = "AlterPublicationStmt"];
  if (_internal_has_alter_publication_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        159, _Internal::alter_publication_stmt(this), target, stream);
  }

  // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 160 [json_name = "CreateSubscriptionStmt"];
  if (_internal_has_create_subscription_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        160, _Internal::create_subscription_stmt(this), target, stream);
  }

  // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 161 [json_name = "AlterSubscriptionStmt"];
  if (_internal_has_alter_subscription_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        161, _Internal::alter_subscription_stmt(this), target, stream);
  }

  // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 162 [json_name = "DropSubscriptionStmt"];
  if (_internal_has_drop_subscription_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        162, _Internal::drop_subscription_stmt(this), target, stream);
  }

  // .pg_query.CreateStatsStmt create_stats_stmt = 163 [json_name = "CreateStatsStmt"];
  if (_internal_has_create_stats_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        163, _Internal::create_stats_stmt(this), target, stream);
  }

  // .pg_query.AlterCollationStmt alter_collation_stmt = 164 [json_name = "AlterCollationStmt"];
  if (_internal_has_alter_collation_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        164, _Internal::alter_collation_stmt(this), target, stream);
  }

  // .pg_query.CallStmt call_stmt = 165 [json_name = "CallStmt"];
  if (_internal_has_call_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        165, _Internal::call_stmt(this), target, stream);
  }

  // .pg_query.AlterStatsStmt alter_stats_stmt = 166 [json_name = "AlterStatsStmt"];
  if (_internal_has_alter_stats_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        166, _Internal::alter_stats_stmt(this), target, stream);
  }

  // .pg_query.A_Expr a_expr = 167 [json_name = "A_Expr"];
  if (_internal_has_a_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        167, _Internal::a_expr(this), target, stream);
  }

  // .pg_query.ColumnRef column_ref = 168 [json_name = "ColumnRef"];
  if (_internal_has_column_ref()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        168, _Internal::column_ref(this), target, stream);
  }

  // .pg_query.ParamRef param_ref = 169 [json_name = "ParamRef"];
  if (_internal_has_param_ref()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        169, _Internal::param_ref(this), target, stream);
  }

  // .pg_query.A_Const a_const = 170 [json_name = "A_Const"];
  if (_internal_has_a_const()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        170, _Internal::a_const(this), target, stream);
  }

  // .pg_query.FuncCall func_call = 171 [json_name = "FuncCall"];
  if (_internal_has_func_call()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        171, _Internal::func_call(this), target, stream);
  }

  // .pg_query.A_Star a_star = 172 [json_name = "A_Star"];
  if (_internal_has_a_star()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        172, _Internal::a_star(this), target, stream);
  }

  // .pg_query.A_Indices a_indices = 173 [json_name = "A_Indices"];
  if (_internal_has_a_indices()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        173, _Internal::a_indices(this), target, stream);
  }

  // .pg_query.A_Indirection a_indirection = 174 [json_name = "A_Indirection"];
  if (_internal_has_a_indirection()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        174, _Internal::a_indirection(this), target, stream);
  }

  // .pg_query.A_ArrayExpr a_array_expr = 175 [json_name = "A_ArrayExpr"];
  if (_internal_has_a_array_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        175, _Internal::a_array_expr(this), target, stream);
  }

  // .pg_query.ResTarget res_target = 176 [json_name = "ResTarget"];
  if (_internal_has_res_target()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        176, _Internal::res_target(this), target, stream);
  }

  // .pg_query.MultiAssignRef multi_assign_ref = 177 [json_name = "MultiAssignRef"];
  if (_internal_has_multi_assign_ref()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        177, _Internal::multi_assign_ref(this), target, stream);
  }

  // .pg_query.TypeCast type_cast = 178 [json_name = "TypeCast"];
  if (_internal_has_type_cast()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        178, _Internal::type_cast(this), target, stream);
  }

  // .pg_query.CollateClause collate_clause = 179 [json_name = "CollateClause"];
  if (_internal_has_collate_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        179, _Internal::collate_clause(this), target, stream);
  }

  // .pg_query.SortBy sort_by = 180 [json_name = "SortBy"];
  if (_internal_has_sort_by()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        180, _Internal::sort_by(this), target, stream);
  }

  // .pg_query.WindowDef window_def = 181 [json_name = "WindowDef"];
  if (_internal_has_window_def()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        181, _Internal::window_def(this), target, stream);
  }

  // .pg_query.RangeSubselect range_subselect = 182 [json_name = "RangeSubselect"];
  if (_internal_has_range_subselect()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        182, _Internal::range_subselect(this), target, stream);
  }

  // .pg_query.RangeFunction range_function = 183 [json_name = "RangeFunction"];
  if (_internal_has_range_function()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        183, _Internal::range_function(this), target, stream);
  }

  // .pg_query.RangeTableSample range_table_sample = 184 [json_name = "RangeTableSample"];
  if (_internal_has_range_table_sample()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        184, _Internal::range_table_sample(this), target, stream);
  }

  // .pg_query.RangeTableFunc range_table_func = 185 [json_name = "RangeTableFunc"];
  if (_internal_has_range_table_func()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        185, _Internal::range_table_func(this), target, stream);
  }

  // .pg_query.RangeTableFuncCol range_table_func_col = 186 [json_name = "RangeTableFuncCol"];
  if (_internal_has_range_table_func_col()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        186, _Internal::range_table_func_col(this), target, stream);
  }

  // .pg_query.TypeName type_name = 187 [json_name = "TypeName"];
  if (_internal_has_type_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        187, _Internal::type_name(this), target, stream);
  }

  // .pg_query.ColumnDef column_def = 188 [json_name = "ColumnDef"];
  if (_internal_has_column_def()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        188, _Internal::column_def(this), target, stream);
  }

  // .pg_query.IndexElem index_elem = 189 [json_name = "IndexElem"];
  if (_internal_has_index_elem()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        189, _Internal::index_elem(this), target, stream);
  }

  // .pg_query.Constraint constraint = 190 [json_name = "Constraint"];
  if (_internal_has_constraint()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        190, _Internal::constraint(this), target, stream);
  }

  // .pg_query.DefElem def_elem = 191 [json_name = "DefElem"];
  if (_internal_has_def_elem()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        191, _Internal::def_elem(this), target, stream);
  }

  // .pg_query.RangeTblEntry range_tbl_entry = 192 [json_name = "RangeTblEntry"];
  if (_internal_has_range_tbl_entry()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        192, _Internal::range_tbl_entry(this), target, stream);
  }

  // .pg_query.RangeTblFunction range_tbl_function = 193 [json_name = "RangeTblFunction"];
  if (_internal_has_range_tbl_function()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        193, _Internal::range_tbl_function(this), target, stream);
  }

  // .pg_query.TableSampleClause table_sample_clause = 194 [json_name = "TableSampleClause"];
  if (_internal_has_table_sample_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        194, _Internal::table_sample_clause(this), target, stream);
  }

  // .pg_query.WithCheckOption with_check_option = 195 [json_name = "WithCheckOption"];
  if (_internal_has_with_check_option()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        195, _Internal::with_check_option(this), target, stream);
  }

  // .pg_query.SortGroupClause sort_group_clause = 196 [json_name = "SortGroupClause"];
  if (_internal_has_sort_group_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        196, _Internal::sort_group_clause(this), target, stream);
  }

  // .pg_query.GroupingSet grouping_set = 197 [json_name = "GroupingSet"];
  if (_internal_has_grouping_set()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        197, _Internal::grouping_set(this), target, stream);
  }

  // .pg_query.WindowClause window_clause = 198 [json_name = "WindowClause"];
  if (_internal_has_window_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        198, _Internal::window_clause(this), target, stream);
  }

  // .pg_query.ObjectWithArgs object_with_args = 199 [json_name = "ObjectWithArgs"];
  if (_internal_has_object_with_args()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        199, _Internal::object_with_args(this), target, stream);
  }

  // .pg_query.AccessPriv access_priv = 200 [json_name = "AccessPriv"];
  if (_internal_has_access_priv()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        200, _Internal::access_priv(this), target, stream);
  }

  // .pg_query.CreateOpClassItem create_op_class_item = 201 [json_name = "CreateOpClassItem"];
  if (_internal_has_create_op_class_item()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        201, _Internal::create_op_class_item(this), target, stream);
  }

  // .pg_query.TableLikeClause table_like_clause = 202 [json_name = "TableLikeClause"];
  if (_internal_has_table_like_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        202, _Internal::table_like_clause(this), target, stream);
  }

  // .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"];
  if (_internal_has_function_parameter()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        203, _Internal::function_parameter(this), target, stream);
  }

  // .pg_query.LockingClause locking_clause = 204 [json_name = "LockingClause"];
  if (_internal_has_locking_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        204, _Internal::locking_clause(this), target, stream);
  }

  // .pg_query.RowMarkClause row_mark_clause = 205 [json_name = "RowMarkClause"];
  if (_internal_has_row_mark_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        205, _Internal::row_mark_clause(this), target, stream);
  }

  // .pg_query.XmlSerialize xml_serialize = 206 [json_name = "XmlSerialize"];
  if (_internal_has_xml_serialize()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        206, _Internal::xml_serialize(this), target, stream);
  }

  // .pg_query.WithClause with_clause = 207 [json_name = "WithClause"];
  if (_internal_has_with_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        207, _Internal::with_clause(this), target, stream);
  }

  // .pg_query.InferClause infer_clause = 208 [json_name = "InferClause"];
  if (_internal_has_infer_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        208, _Internal::infer_clause(this), target, stream);
  }

  // .pg_query.OnConflictClause on_conflict_clause = 209 [json_name = "OnConflictClause"];
  if (_internal_has_on_conflict_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        209, _Internal::on_conflict_clause(this), target, stream);
  }

  // .pg_query.CommonTableExpr common_table_expr = 210 [json_name = "CommonTableExpr"];
  if (_internal_has_common_table_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        210, _Internal::common_table_expr(this), target, stream);
  }

  // .pg_query.RoleSpec role_spec = 211 [json_name = "RoleSpec"];
  if (_internal_has_role_spec()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        211, _Internal::role_spec(this), target, stream);
  }

  // .pg_query.TriggerTransition trigger_transition = 212 [json_name = "TriggerTransition"];
  if (_internal_has_trigger_transition()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        212, _Internal::trigger_transition(this), target, stream);
  }

  // .pg_query.PartitionElem partition_elem = 213 [json_name = "PartitionElem"];
  if (_internal_has_partition_elem()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        213, _Internal::partition_elem(this), target, stream);
  }

  // .pg_query.PartitionSpec partition_spec = 214 [json_name = "PartitionSpec"];
  if (_internal_has_partition_spec()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        214, _Internal::partition_spec(this), target, stream);
  }

  // .pg_query.PartitionBoundSpec partition_bound_spec = 215 [json_name = "PartitionBoundSpec"];
  if (_internal_has_partition_bound_spec()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        215, _Internal::partition_bound_spec(this), target, stream);
  }

  // .pg_query.PartitionRangeDatum partition_range_datum = 216 [json_name = "PartitionRangeDatum"];
  if (_internal_has_partition_range_datum()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        216, _Internal::partition_range_datum(this), target, stream);
  }

  // .pg_query.PartitionCmd partition_cmd = 217 [json_name = "PartitionCmd"];
  if (_internal_has_partition_cmd()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        217, _Internal::partition_cmd(this), target, stream);
  }

  // .pg_query.VacuumRelation vacuum_relation = 218 [json_name = "VacuumRelation"];
  if (_internal_has_vacuum_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        218, _Internal::vacuum_relation(this), target, stream);
  }

  // .pg_query.InlineCodeBlock inline_code_block = 219 [json_name = "InlineCodeBlock"];
  if (_internal_has_inline_code_block()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        219, _Internal::inline_code_block(this), target, stream);
  }

  // .pg_query.CallContext call_context = 220 [json_name = "CallContext"];
  if (_internal_has_call_context()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        220, _Internal::call_context(this), target, stream);
  }

  // .pg_query.Integer integer = 221 [json_name = "Integer"];
  if (_internal_has_integer()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        221, _Internal::integer(this), target, stream);
  }

  // .pg_query.Float float = 222 [json_name = "Float"];
  if (_internal_has_float_()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        222, _Internal::float_(this), target, stream);
  }

  // .pg_query.String string = 223 [json_name = "String"];
  if (_internal_has_string()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        223, _Internal::string(this), target, stream);
  }

  // .pg_query.BitString bit_string = 224 [json_name = "BitString"];
  if (_internal_has_bit_string()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        224, _Internal::bit_string(this), target, stream);
  }

  // .pg_query.Null null = 225 [json_name = "Null"];
  if (_internal_has_null()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        225, _Internal::null(this), target, stream);
  }

  // .pg_query.List list = 226 [json_name = "List"];
  if (_internal_has_list()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        226, _Internal::list(this), target, stream);
  }

  // .pg_query.IntList int_list = 227 [json_name = "IntList"];
  if (_internal_has_int_list()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        227, _Internal::int_list(this), target, stream);
  }

  // .pg_query.OidList oid_list = 228 [json_name = "OidList"];
  if (_internal_has_oid_list()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        228, _Internal::oid_list(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:pg_query.Node)
  return target;
}

size_t Node::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Node)
  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 (node_case()) {
    // .pg_query.Alias alias = 1 [json_name = "Alias"];
    case kAlias: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alias_);
      break;
    }
    // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"];
    case kRangeVar: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_var_);
      break;
    }
    // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"];
    case kTableFunc: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.table_func_);
      break;
    }
    // .pg_query.Expr expr = 4 [json_name = "Expr"];
    case kExpr: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.expr_);
      break;
    }
    // .pg_query.Var var = 5 [json_name = "Var"];
    case kVar: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.var_);
      break;
    }
    // .pg_query.Param param = 6 [json_name = "Param"];
    case kParam: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.param_);
      break;
    }
    // .pg_query.Aggref aggref = 7 [json_name = "Aggref"];
    case kAggref: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.aggref_);
      break;
    }
    // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"];
    case kGroupingFunc: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.grouping_func_);
      break;
    }
    // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"];
    case kWindowFunc: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.window_func_);
      break;
    }
    // .pg_query.SubscriptingRef subscripting_ref = 10 [json_name = "SubscriptingRef"];
    case kSubscriptingRef: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.subscripting_ref_);
      break;
    }
    // .pg_query.FuncExpr func_expr = 11 [json_name = "FuncExpr"];
    case kFuncExpr: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.func_expr_);
      break;
    }
    // .pg_query.NamedArgExpr named_arg_expr = 12 [json_name = "NamedArgExpr"];
    case kNamedArgExpr: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.named_arg_expr_);
      break;
    }
    // .pg_query.OpExpr op_expr = 13 [json_name = "OpExpr"];
    case kOpExpr: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.op_expr_);
      break;
    }
    // .pg_query.DistinctExpr distinct_expr = 14 [json_name = "DistinctExpr"];
    case kDistinctExpr: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.distinct_expr_);
      break;
    }
    // .pg_query.NullIfExpr null_if_expr = 15 [json_name = "NullIfExpr"];
    case kNullIfExpr: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.null_if_expr_);
      break;
    }
    // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 16 [json_name = "ScalarArrayOpExpr"];
    case kScalarArrayOpExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.scalar_array_op_expr_);
      break;
    }
    // .pg_query.BoolExpr bool_expr = 17 [json_name = "BoolExpr"];
    case kBoolExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.bool_expr_);
      break;
    }
    // .pg_query.SubLink sub_link = 18 [json_name = "SubLink"];
    case kSubLink: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.sub_link_);
      break;
    }
    // .pg_query.SubPlan sub_plan = 19 [json_name = "SubPlan"];
    case kSubPlan: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.sub_plan_);
      break;
    }
    // .pg_query.AlternativeSubPlan alternative_sub_plan = 20 [json_name = "AlternativeSubPlan"];
    case kAlternativeSubPlan: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alternative_sub_plan_);
      break;
    }
    // .pg_query.FieldSelect field_select = 21 [json_name = "FieldSelect"];
    case kFieldSelect: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.field_select_);
      break;
    }
    // .pg_query.FieldStore field_store = 22 [json_name = "FieldStore"];
    case kFieldStore: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.field_store_);
      break;
    }
    // .pg_query.RelabelType relabel_type = 23 [json_name = "RelabelType"];
    case kRelabelType: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.relabel_type_);
      break;
    }
    // .pg_query.CoerceViaIO coerce_via_io = 24 [json_name = "CoerceViaIO"];
    case kCoerceViaIo: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.coerce_via_io_);
      break;
    }
    // .pg_query.ArrayCoerceExpr array_coerce_expr = 25 [json_name = "ArrayCoerceExpr"];
    case kArrayCoerceExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.array_coerce_expr_);
      break;
    }
    // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 26 [json_name = "ConvertRowtypeExpr"];
    case kConvertRowtypeExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.convert_rowtype_expr_);
      break;
    }
    // .pg_query.CollateExpr collate_expr = 27 [json_name = "CollateExpr"];
    case kCollateExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.collate_expr_);
      break;
    }
    // .pg_query.CaseExpr case_expr = 28 [json_name = "CaseExpr"];
    case kCaseExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.case_expr_);
      break;
    }
    // .pg_query.CaseWhen case_when = 29 [json_name = "CaseWhen"];
    case kCaseWhen: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.case_when_);
      break;
    }
    // .pg_query.CaseTestExpr case_test_expr = 30 [json_name = "CaseTestExpr"];
    case kCaseTestExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.case_test_expr_);
      break;
    }
    // .pg_query.ArrayExpr array_expr = 31 [json_name = "ArrayExpr"];
    case kArrayExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.array_expr_);
      break;
    }
    // .pg_query.RowExpr row_expr = 32 [json_name = "RowExpr"];
    case kRowExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.row_expr_);
      break;
    }
    // .pg_query.RowCompareExpr row_compare_expr = 33 [json_name = "RowCompareExpr"];
    case kRowCompareExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.row_compare_expr_);
      break;
    }
    // .pg_query.CoalesceExpr coalesce_expr = 34 [json_name = "CoalesceExpr"];
    case kCoalesceExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.coalesce_expr_);
      break;
    }
    // .pg_query.MinMaxExpr min_max_expr = 35 [json_name = "MinMaxExpr"];
    case kMinMaxExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.min_max_expr_);
      break;
    }
    // .pg_query.SQLValueFunction sqlvalue_function = 36 [json_name = "SQLValueFunction"];
    case kSqlvalueFunction: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.sqlvalue_function_);
      break;
    }
    // .pg_query.XmlExpr xml_expr = 37 [json_name = "XmlExpr"];
    case kXmlExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.xml_expr_);
      break;
    }
    // .pg_query.NullTest null_test = 38 [json_name = "NullTest"];
    case kNullTest: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.null_test_);
      break;
    }
    // .pg_query.BooleanTest boolean_test = 39 [json_name = "BooleanTest"];
    case kBooleanTest: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.boolean_test_);
      break;
    }
    // .pg_query.CoerceToDomain coerce_to_domain = 40 [json_name = "CoerceToDomain"];
    case kCoerceToDomain: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.coerce_to_domain_);
      break;
    }
    // .pg_query.CoerceToDomainValue coerce_to_domain_value = 41 [json_name = "CoerceToDomainValue"];
    case kCoerceToDomainValue: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.coerce_to_domain_value_);
      break;
    }
    // .pg_query.SetToDefault set_to_default = 42 [json_name = "SetToDefault"];
    case kSetToDefault: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.set_to_default_);
      break;
    }
    // .pg_query.CurrentOfExpr current_of_expr = 43 [json_name = "CurrentOfExpr"];
    case kCurrentOfExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.current_of_expr_);
      break;
    }
    // .pg_query.NextValueExpr next_value_expr = 44 [json_name = "NextValueExpr"];
    case kNextValueExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.next_value_expr_);
      break;
    }
    // .pg_query.InferenceElem inference_elem = 45 [json_name = "InferenceElem"];
    case kInferenceElem: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.inference_elem_);
      break;
    }
    // .pg_query.TargetEntry target_entry = 46 [json_name = "TargetEntry"];
    case kTargetEntry: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.target_entry_);
      break;
    }
    // .pg_query.RangeTblRef range_tbl_ref = 47 [json_name = "RangeTblRef"];
    case kRangeTblRef: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_tbl_ref_);
      break;
    }
    // .pg_query.JoinExpr join_expr = 48 [json_name = "JoinExpr"];
    case kJoinExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.join_expr_);
      break;
    }
    // .pg_query.FromExpr from_expr = 49 [json_name = "FromExpr"];
    case kFromExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.from_expr_);
      break;
    }
    // .pg_query.OnConflictExpr on_conflict_expr = 50 [json_name = "OnConflictExpr"];
    case kOnConflictExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.on_conflict_expr_);
      break;
    }
    // .pg_query.IntoClause into_clause = 51 [json_name = "IntoClause"];
    case kIntoClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.into_clause_);
      break;
    }
    // .pg_query.RawStmt raw_stmt = 52 [json_name = "RawStmt"];
    case kRawStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.raw_stmt_);
      break;
    }
    // .pg_query.Query query = 53 [json_name = "Query"];
    case kQuery: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.query_);
      break;
    }
    // .pg_query.InsertStmt insert_stmt = 54 [json_name = "InsertStmt"];
    case kInsertStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.insert_stmt_);
      break;
    }
    // .pg_query.DeleteStmt delete_stmt = 55 [json_name = "DeleteStmt"];
    case kDeleteStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.delete_stmt_);
      break;
    }
    // .pg_query.UpdateStmt update_stmt = 56 [json_name = "UpdateStmt"];
    case kUpdateStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.update_stmt_);
      break;
    }
    // .pg_query.SelectStmt select_stmt = 57 [json_name = "SelectStmt"];
    case kSelectStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.select_stmt_);
      break;
    }
    // .pg_query.AlterTableStmt alter_table_stmt = 58 [json_name = "AlterTableStmt"];
    case kAlterTableStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_table_stmt_);
      break;
    }
    // .pg_query.AlterTableCmd alter_table_cmd = 59 [json_name = "AlterTableCmd"];
    case kAlterTableCmd: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_table_cmd_);
      break;
    }
    // .pg_query.AlterDomainStmt alter_domain_stmt = 60 [json_name = "AlterDomainStmt"];
    case kAlterDomainStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_domain_stmt_);
      break;
    }
    // .pg_query.SetOperationStmt set_operation_stmt = 61 [json_name = "SetOperationStmt"];
    case kSetOperationStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.set_operation_stmt_);
      break;
    }
    // .pg_query.GrantStmt grant_stmt = 62 [json_name = "GrantStmt"];
    case kGrantStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.grant_stmt_);
      break;
    }
    // .pg_query.GrantRoleStmt grant_role_stmt = 63 [json_name = "GrantRoleStmt"];
    case kGrantRoleStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.grant_role_stmt_);
      break;
    }
    // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 64 [json_name = "AlterDefaultPrivilegesStmt"];
    case kAlterDefaultPrivilegesStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_default_privileges_stmt_);
      break;
    }
    // .pg_query.ClosePortalStmt close_portal_stmt = 65 [json_name = "ClosePortalStmt"];
    case kClosePortalStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.close_portal_stmt_);
      break;
    }
    // .pg_query.ClusterStmt cluster_stmt = 66 [json_name = "ClusterStmt"];
    case kClusterStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.cluster_stmt_);
      break;
    }
    // .pg_query.CopyStmt copy_stmt = 67 [json_name = "CopyStmt"];
    case kCopyStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.copy_stmt_);
      break;
    }
    // .pg_query.CreateStmt create_stmt = 68 [json_name = "CreateStmt"];
    case kCreateStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_stmt_);
      break;
    }
    // .pg_query.DefineStmt define_stmt = 69 [json_name = "DefineStmt"];
    case kDefineStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.define_stmt_);
      break;
    }
    // .pg_query.DropStmt drop_stmt = 70 [json_name = "DropStmt"];
    case kDropStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.drop_stmt_);
      break;
    }
    // .pg_query.TruncateStmt truncate_stmt = 71 [json_name = "TruncateStmt"];
    case kTruncateStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.truncate_stmt_);
      break;
    }
    // .pg_query.CommentStmt comment_stmt = 72 [json_name = "CommentStmt"];
    case kCommentStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.comment_stmt_);
      break;
    }
    // .pg_query.FetchStmt fetch_stmt = 73 [json_name = "FetchStmt"];
    case kFetchStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.fetch_stmt_);
      break;
    }
    // .pg_query.IndexStmt index_stmt = 74 [json_name = "IndexStmt"];
    case kIndexStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.index_stmt_);
      break;
    }
    // .pg_query.CreateFunctionStmt create_function_stmt = 75 [json_name = "CreateFunctionStmt"];
    case kCreateFunctionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_function_stmt_);
      break;
    }
    // .pg_query.AlterFunctionStmt alter_function_stmt = 76 [json_name = "AlterFunctionStmt"];
    case kAlterFunctionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_function_stmt_);
      break;
    }
    // .pg_query.DoStmt do_stmt = 77 [json_name = "DoStmt"];
    case kDoStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.do_stmt_);
      break;
    }
    // .pg_query.RenameStmt rename_stmt = 78 [json_name = "RenameStmt"];
    case kRenameStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.rename_stmt_);
      break;
    }
    // .pg_query.RuleStmt rule_stmt = 79 [json_name = "RuleStmt"];
    case kRuleStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.rule_stmt_);
      break;
    }
    // .pg_query.NotifyStmt notify_stmt = 80 [json_name = "NotifyStmt"];
    case kNotifyStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.notify_stmt_);
      break;
    }
    // .pg_query.ListenStmt listen_stmt = 81 [json_name = "ListenStmt"];
    case kListenStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.listen_stmt_);
      break;
    }
    // .pg_query.UnlistenStmt unlisten_stmt = 82 [json_name = "UnlistenStmt"];
    case kUnlistenStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.unlisten_stmt_);
      break;
    }
    // .pg_query.TransactionStmt transaction_stmt = 83 [json_name = "TransactionStmt"];
    case kTransactionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.transaction_stmt_);
      break;
    }
    // .pg_query.ViewStmt view_stmt = 84 [json_name = "ViewStmt"];
    case kViewStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.view_stmt_);
      break;
    }
    // .pg_query.LoadStmt load_stmt = 85 [json_name = "LoadStmt"];
    case kLoadStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.load_stmt_);
      break;
    }
    // .pg_query.CreateDomainStmt create_domain_stmt = 86 [json_name = "CreateDomainStmt"];
    case kCreateDomainStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_domain_stmt_);
      break;
    }
    // .pg_query.CreatedbStmt createdb_stmt = 87 [json_name = "CreatedbStmt"];
    case kCreatedbStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.createdb_stmt_);
      break;
    }
    // .pg_query.DropdbStmt dropdb_stmt = 88 [json_name = "DropdbStmt"];
    case kDropdbStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.dropdb_stmt_);
      break;
    }
    // .pg_query.VacuumStmt vacuum_stmt = 89 [json_name = "VacuumStmt"];
    case kVacuumStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.vacuum_stmt_);
      break;
    }
    // .pg_query.ExplainStmt explain_stmt = 90 [json_name = "ExplainStmt"];
    case kExplainStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.explain_stmt_);
      break;
    }
    // .pg_query.CreateTableAsStmt create_table_as_stmt = 91 [json_name = "CreateTableAsStmt"];
    case kCreateTableAsStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_table_as_stmt_);
      break;
    }
    // .pg_query.CreateSeqStmt create_seq_stmt = 92 [json_name = "CreateSeqStmt"];
    case kCreateSeqStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_seq_stmt_);
      break;
    }
    // .pg_query.AlterSeqStmt alter_seq_stmt = 93 [json_name = "AlterSeqStmt"];
    case kAlterSeqStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_seq_stmt_);
      break;
    }
    // .pg_query.VariableSetStmt variable_set_stmt = 94 [json_name = "VariableSetStmt"];
    case kVariableSetStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.variable_set_stmt_);
      break;
    }
    // .pg_query.VariableShowStmt variable_show_stmt = 95 [json_name = "VariableShowStmt"];
    case kVariableShowStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.variable_show_stmt_);
      break;
    }
    // .pg_query.DiscardStmt discard_stmt = 96 [json_name = "DiscardStmt"];
    case kDiscardStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.discard_stmt_);
      break;
    }
    // .pg_query.CreateTrigStmt create_trig_stmt = 97 [json_name = "CreateTrigStmt"];
    case kCreateTrigStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_trig_stmt_);
      break;
    }
    // .pg_query.CreatePLangStmt create_plang_stmt = 98 [json_name = "CreatePLangStmt"];
    case kCreatePlangStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_plang_stmt_);
      break;
    }
    // .pg_query.CreateRoleStmt create_role_stmt = 99 [json_name = "CreateRoleStmt"];
    case kCreateRoleStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_role_stmt_);
      break;
    }
    // .pg_query.AlterRoleStmt alter_role_stmt = 100 [json_name = "AlterRoleStmt"];
    case kAlterRoleStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_role_stmt_);
      break;
    }
    // .pg_query.DropRoleStmt drop_role_stmt = 101 [json_name = "DropRoleStmt"];
    case kDropRoleStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.drop_role_stmt_);
      break;
    }
    // .pg_query.LockStmt lock_stmt = 102 [json_name = "LockStmt"];
    case kLockStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.lock_stmt_);
      break;
    }
    // .pg_query.ConstraintsSetStmt constraints_set_stmt = 103 [json_name = "ConstraintsSetStmt"];
    case kConstraintsSetStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.constraints_set_stmt_);
      break;
    }
    // .pg_query.ReindexStmt reindex_stmt = 104 [json_name = "ReindexStmt"];
    case kReindexStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.reindex_stmt_);
      break;
    }
    // .pg_query.CheckPointStmt check_point_stmt = 105 [json_name = "CheckPointStmt"];
    case kCheckPointStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.check_point_stmt_);
      break;
    }
    // .pg_query.CreateSchemaStmt create_schema_stmt = 106 [json_name = "CreateSchemaStmt"];
    case kCreateSchemaStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_schema_stmt_);
      break;
    }
    // .pg_query.AlterDatabaseStmt alter_database_stmt = 107 [json_name = "AlterDatabaseStmt"];
    case kAlterDatabaseStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_database_stmt_);
      break;
    }
    // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 108 [json_name = "AlterDatabaseSetStmt"];
    case kAlterDatabaseSetStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_database_set_stmt_);
      break;
    }
    // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 109 [json_name = "AlterRoleSetStmt"];
    case kAlterRoleSetStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_role_set_stmt_);
      break;
    }
    // .pg_query.CreateConversionStmt create_conversion_stmt = 110 [json_name = "CreateConversionStmt"];
    case kCreateConversionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_conversion_stmt_);
      break;
    }
    // .pg_query.CreateCastStmt create_cast_stmt = 111 [json_name = "CreateCastStmt"];
    case kCreateCastStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_cast_stmt_);
      break;
    }
    // .pg_query.CreateOpClassStmt create_op_class_stmt = 112 [json_name = "CreateOpClassStmt"];
    case kCreateOpClassStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_op_class_stmt_);
      break;
    }
    // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 113 [json_name = "CreateOpFamilyStmt"];
    case kCreateOpFamilyStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_op_family_stmt_);
      break;
    }
    // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 114 [json_name = "AlterOpFamilyStmt"];
    case kAlterOpFamilyStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_op_family_stmt_);
      break;
    }
    // .pg_query.PrepareStmt prepare_stmt = 115 [json_name = "PrepareStmt"];
    case kPrepareStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.prepare_stmt_);
      break;
    }
    // .pg_query.ExecuteStmt execute_stmt = 116 [json_name = "ExecuteStmt"];
    case kExecuteStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.execute_stmt_);
      break;
    }
    // .pg_query.DeallocateStmt deallocate_stmt = 117 [json_name = "DeallocateStmt"];
    case kDeallocateStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.deallocate_stmt_);
      break;
    }
    // .pg_query.DeclareCursorStmt declare_cursor_stmt = 118 [json_name = "DeclareCursorStmt"];
    case kDeclareCursorStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.declare_cursor_stmt_);
      break;
    }
    // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 119 [json_name = "CreateTableSpaceStmt"];
    case kCreateTableSpaceStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_table_space_stmt_);
      break;
    }
    // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 120 [json_name = "DropTableSpaceStmt"];
    case kDropTableSpaceStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.drop_table_space_stmt_);
      break;
    }
    // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 121 [json_name = "AlterObjectDependsStmt"];
    case kAlterObjectDependsStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_object_depends_stmt_);
      break;
    }
    // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 122 [json_name = "AlterObjectSchemaStmt"];
    case kAlterObjectSchemaStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_object_schema_stmt_);
      break;
    }
    // .pg_query.AlterOwnerStmt alter_owner_stmt = 123 [json_name = "AlterOwnerStmt"];
    case kAlterOwnerStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_owner_stmt_);
      break;
    }
    // .pg_query.AlterOperatorStmt alter_operator_stmt = 124 [json_name = "AlterOperatorStmt"];
    case kAlterOperatorStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_operator_stmt_);
      break;
    }
    // .pg_query.AlterTypeStmt alter_type_stmt = 125 [json_name = "AlterTypeStmt"];
    case kAlterTypeStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_type_stmt_);
      break;
    }
    // .pg_query.DropOwnedStmt drop_owned_stmt = 126 [json_name = "DropOwnedStmt"];
    case kDropOwnedStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.drop_owned_stmt_);
      break;
    }
    // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 127 [json_name = "ReassignOwnedStmt"];
    case kReassignOwnedStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.reassign_owned_stmt_);
      break;
    }
    // .pg_query.CompositeTypeStmt composite_type_stmt = 128 [json_name = "CompositeTypeStmt"];
    case kCompositeTypeStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.composite_type_stmt_);
      break;
    }
    // .pg_query.CreateEnumStmt create_enum_stmt = 129 [json_name = "CreateEnumStmt"];
    case kCreateEnumStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_enum_stmt_);
      break;
    }
    // .pg_query.CreateRangeStmt create_range_stmt = 130 [json_name = "CreateRangeStmt"];
    case kCreateRangeStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_range_stmt_);
      break;
    }
    // .pg_query.AlterEnumStmt alter_enum_stmt = 131 [json_name = "AlterEnumStmt"];
    case kAlterEnumStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_enum_stmt_);
      break;
    }
    // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 132 [json_name = "AlterTSDictionaryStmt"];
    case kAlterTsdictionaryStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_tsdictionary_stmt_);
      break;
    }
    // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 133 [json_name = "AlterTSConfigurationStmt"];
    case kAlterTsconfigurationStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_tsconfiguration_stmt_);
      break;
    }
    // .pg_query.CreateFdwStmt create_fdw_stmt = 134 [json_name = "CreateFdwStmt"];
    case kCreateFdwStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_fdw_stmt_);
      break;
    }
    // .pg_query.AlterFdwStmt alter_fdw_stmt = 135 [json_name = "AlterFdwStmt"];
    case kAlterFdwStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_fdw_stmt_);
      break;
    }
    // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 136 [json_name = "CreateForeignServerStmt"];
    case kCreateForeignServerStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_foreign_server_stmt_);
      break;
    }
    // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 137 [json_name = "AlterForeignServerStmt"];
    case kAlterForeignServerStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_foreign_server_stmt_);
      break;
    }
    // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 138 [json_name = "CreateUserMappingStmt"];
    case kCreateUserMappingStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_user_mapping_stmt_);
      break;
    }
    // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 139 [json_name = "AlterUserMappingStmt"];
    case kAlterUserMappingStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_user_mapping_stmt_);
      break;
    }
    // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 140 [json_name = "DropUserMappingStmt"];
    case kDropUserMappingStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.drop_user_mapping_stmt_);
      break;
    }
    // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 141 [json_name = "AlterTableSpaceOptionsStmt"];
    case kAlterTableSpaceOptionsStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_table_space_options_stmt_);
      break;
    }
    // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 142 [json_name = "AlterTableMoveAllStmt"];
    case kAlterTableMoveAllStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_table_move_all_stmt_);
      break;
    }
    // .pg_query.SecLabelStmt sec_label_stmt = 143 [json_name = "SecLabelStmt"];
    case kSecLabelStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.sec_label_stmt_);
      break;
    }
    // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 144 [json_name = "CreateForeignTableStmt"];
    case kCreateForeignTableStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_foreign_table_stmt_);
      break;
    }
    // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 145 [json_name = "ImportForeignSchemaStmt"];
    case kImportForeignSchemaStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.import_foreign_schema_stmt_);
      break;
    }
    // .pg_query.CreateExtensionStmt create_extension_stmt = 146 [json_name = "CreateExtensionStmt"];
    case kCreateExtensionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_extension_stmt_);
      break;
    }
    // .pg_query.AlterExtensionStmt alter_extension_stmt = 147 [json_name = "AlterExtensionStmt"];
    case kAlterExtensionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_extension_stmt_);
      break;
    }
    // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 148 [json_name = "AlterExtensionContentsStmt"];
    case kAlterExtensionContentsStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_extension_contents_stmt_);
      break;
    }
    // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 149 [json_name = "CreateEventTrigStmt"];
    case kCreateEventTrigStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_event_trig_stmt_);
      break;
    }
    // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 150 [json_name = "AlterEventTrigStmt"];
    case kAlterEventTrigStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_event_trig_stmt_);
      break;
    }
    // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 151 [json_name = "RefreshMatViewStmt"];
    case kRefreshMatViewStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.refresh_mat_view_stmt_);
      break;
    }
    // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 152 [json_name = "ReplicaIdentityStmt"];
    case kReplicaIdentityStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.replica_identity_stmt_);
      break;
    }
    // .pg_query.AlterSystemStmt alter_system_stmt = 153 [json_name = "AlterSystemStmt"];
    case kAlterSystemStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_system_stmt_);
      break;
    }
    // .pg_query.CreatePolicyStmt create_policy_stmt = 154 [json_name = "CreatePolicyStmt"];
    case kCreatePolicyStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_policy_stmt_);
      break;
    }
    // .pg_query.AlterPolicyStmt alter_policy_stmt = 155 [json_name = "AlterPolicyStmt"];
    case kAlterPolicyStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_policy_stmt_);
      break;
    }
    // .pg_query.CreateTransformStmt create_transform_stmt = 156 [json_name = "CreateTransformStmt"];
    case kCreateTransformStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_transform_stmt_);
      break;
    }
    // .pg_query.CreateAmStmt create_am_stmt = 157 [json_name = "CreateAmStmt"];
    case kCreateAmStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_am_stmt_);
      break;
    }
    // .pg_query.CreatePublicationStmt create_publication_stmt = 158 [json_name = "CreatePublicationStmt"];
    case kCreatePublicationStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_publication_stmt_);
      break;
    }
    // .pg_query.AlterPublicationStmt alter_publication_stmt = 159 [json_name = "AlterPublicationStmt"];
    case kAlterPublicationStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_publication_stmt_);
      break;
    }
    // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 160 [json_name = "CreateSubscriptionStmt"];
    case kCreateSubscriptionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_subscription_stmt_);
      break;
    }
    // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 161 [json_name = "AlterSubscriptionStmt"];
    case kAlterSubscriptionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_subscription_stmt_);
      break;
    }
    // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 162 [json_name = "DropSubscriptionStmt"];
    case kDropSubscriptionStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.drop_subscription_stmt_);
      break;
    }
    // .pg_query.CreateStatsStmt create_stats_stmt = 163 [json_name = "CreateStatsStmt"];
    case kCreateStatsStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_stats_stmt_);
      break;
    }
    // .pg_query.AlterCollationStmt alter_collation_stmt = 164 [json_name = "AlterCollationStmt"];
    case kAlterCollationStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_collation_stmt_);
      break;
    }
    // .pg_query.CallStmt call_stmt = 165 [json_name = "CallStmt"];
    case kCallStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.call_stmt_);
      break;
    }
    // .pg_query.AlterStatsStmt alter_stats_stmt = 166 [json_name = "AlterStatsStmt"];
    case kAlterStatsStmt: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.alter_stats_stmt_);
      break;
    }
    // .pg_query.A_Expr a_expr = 167 [json_name = "A_Expr"];
    case kAExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.a_expr_);
      break;
    }
    // .pg_query.ColumnRef column_ref = 168 [json_name = "ColumnRef"];
    case kColumnRef: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.column_ref_);
      break;
    }
    // .pg_query.ParamRef param_ref = 169 [json_name = "ParamRef"];
    case kParamRef: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.param_ref_);
      break;
    }
    // .pg_query.A_Const a_const = 170 [json_name = "A_Const"];
    case kAConst: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.a_const_);
      break;
    }
    // .pg_query.FuncCall func_call = 171 [json_name = "FuncCall"];
    case kFuncCall: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.func_call_);
      break;
    }
    // .pg_query.A_Star a_star = 172 [json_name = "A_Star"];
    case kAStar: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.a_star_);
      break;
    }
    // .pg_query.A_Indices a_indices = 173 [json_name = "A_Indices"];
    case kAIndices: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.a_indices_);
      break;
    }
    // .pg_query.A_Indirection a_indirection = 174 [json_name = "A_Indirection"];
    case kAIndirection: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.a_indirection_);
      break;
    }
    // .pg_query.A_ArrayExpr a_array_expr = 175 [json_name = "A_ArrayExpr"];
    case kAArrayExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.a_array_expr_);
      break;
    }
    // .pg_query.ResTarget res_target = 176 [json_name = "ResTarget"];
    case kResTarget: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.res_target_);
      break;
    }
    // .pg_query.MultiAssignRef multi_assign_ref = 177 [json_name = "MultiAssignRef"];
    case kMultiAssignRef: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.multi_assign_ref_);
      break;
    }
    // .pg_query.TypeCast type_cast = 178 [json_name = "TypeCast"];
    case kTypeCast: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.type_cast_);
      break;
    }
    // .pg_query.CollateClause collate_clause = 179 [json_name = "CollateClause"];
    case kCollateClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.collate_clause_);
      break;
    }
    // .pg_query.SortBy sort_by = 180 [json_name = "SortBy"];
    case kSortBy: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.sort_by_);
      break;
    }
    // .pg_query.WindowDef window_def = 181 [json_name = "WindowDef"];
    case kWindowDef: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.window_def_);
      break;
    }
    // .pg_query.RangeSubselect range_subselect = 182 [json_name = "RangeSubselect"];
    case kRangeSubselect: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_subselect_);
      break;
    }
    // .pg_query.RangeFunction range_function = 183 [json_name = "RangeFunction"];
    case kRangeFunction: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_function_);
      break;
    }
    // .pg_query.RangeTableSample range_table_sample = 184 [json_name = "RangeTableSample"];
    case kRangeTableSample: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_table_sample_);
      break;
    }
    // .pg_query.RangeTableFunc range_table_func = 185 [json_name = "RangeTableFunc"];
    case kRangeTableFunc: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_table_func_);
      break;
    }
    // .pg_query.RangeTableFuncCol range_table_func_col = 186 [json_name = "RangeTableFuncCol"];
    case kRangeTableFuncCol: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_table_func_col_);
      break;
    }
    // .pg_query.TypeName type_name = 187 [json_name = "TypeName"];
    case kTypeName: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.type_name_);
      break;
    }
    // .pg_query.ColumnDef column_def = 188 [json_name = "ColumnDef"];
    case kColumnDef: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.column_def_);
      break;
    }
    // .pg_query.IndexElem index_elem = 189 [json_name = "IndexElem"];
    case kIndexElem: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.index_elem_);
      break;
    }
    // .pg_query.Constraint constraint = 190 [json_name = "Constraint"];
    case kConstraint: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.constraint_);
      break;
    }
    // .pg_query.DefElem def_elem = 191 [json_name = "DefElem"];
    case kDefElem: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.def_elem_);
      break;
    }
    // .pg_query.RangeTblEntry range_tbl_entry = 192 [json_name = "RangeTblEntry"];
    case kRangeTblEntry: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_tbl_entry_);
      break;
    }
    // .pg_query.RangeTblFunction range_tbl_function = 193 [json_name = "RangeTblFunction"];
    case kRangeTblFunction: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.range_tbl_function_);
      break;
    }
    // .pg_query.TableSampleClause table_sample_clause = 194 [json_name = "TableSampleClause"];
    case kTableSampleClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.table_sample_clause_);
      break;
    }
    // .pg_query.WithCheckOption with_check_option = 195 [json_name = "WithCheckOption"];
    case kWithCheckOption: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.with_check_option_);
      break;
    }
    // .pg_query.SortGroupClause sort_group_clause = 196 [json_name = "SortGroupClause"];
    case kSortGroupClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.sort_group_clause_);
      break;
    }
    // .pg_query.GroupingSet grouping_set = 197 [json_name = "GroupingSet"];
    case kGroupingSet: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.grouping_set_);
      break;
    }
    // .pg_query.WindowClause window_clause = 198 [json_name = "WindowClause"];
    case kWindowClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.window_clause_);
      break;
    }
    // .pg_query.ObjectWithArgs object_with_args = 199 [json_name = "ObjectWithArgs"];
    case kObjectWithArgs: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.object_with_args_);
      break;
    }
    // .pg_query.AccessPriv access_priv = 200 [json_name = "AccessPriv"];
    case kAccessPriv: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.access_priv_);
      break;
    }
    // .pg_query.CreateOpClassItem create_op_class_item = 201 [json_name = "CreateOpClassItem"];
    case kCreateOpClassItem: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.create_op_class_item_);
      break;
    }
    // .pg_query.TableLikeClause table_like_clause = 202 [json_name = "TableLikeClause"];
    case kTableLikeClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.table_like_clause_);
      break;
    }
    // .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"];
    case kFunctionParameter: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.function_parameter_);
      break;
    }
    // .pg_query.LockingClause locking_clause = 204 [json_name = "LockingClause"];
    case kLockingClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.locking_clause_);
      break;
    }
    // .pg_query.RowMarkClause row_mark_clause = 205 [json_name = "RowMarkClause"];
    case kRowMarkClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.row_mark_clause_);
      break;
    }
    // .pg_query.XmlSerialize xml_serialize = 206 [json_name = "XmlSerialize"];
    case kXmlSerialize: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.xml_serialize_);
      break;
    }
    // .pg_query.WithClause with_clause = 207 [json_name = "WithClause"];
    case kWithClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.with_clause_);
      break;
    }
    // .pg_query.InferClause infer_clause = 208 [json_name = "InferClause"];
    case kInferClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.infer_clause_);
      break;
    }
    // .pg_query.OnConflictClause on_conflict_clause = 209 [json_name = "OnConflictClause"];
    case kOnConflictClause: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.on_conflict_clause_);
      break;
    }
    // .pg_query.CommonTableExpr common_table_expr = 210 [json_name = "CommonTableExpr"];
    case kCommonTableExpr: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.common_table_expr_);
      break;
    }
    // .pg_query.RoleSpec role_spec = 211 [json_name = "RoleSpec"];
    case kRoleSpec: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.role_spec_);
      break;
    }
    // .pg_query.TriggerTransition trigger_transition = 212 [json_name = "TriggerTransition"];
    case kTriggerTransition: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.trigger_transition_);
      break;
    }
    // .pg_query.PartitionElem partition_elem = 213 [json_name = "PartitionElem"];
    case kPartitionElem: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.partition_elem_);
      break;
    }
    // .pg_query.PartitionSpec partition_spec = 214 [json_name = "PartitionSpec"];
    case kPartitionSpec: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.partition_spec_);
      break;
    }
    // .pg_query.PartitionBoundSpec partition_bound_spec = 215 [json_name = "PartitionBoundSpec"];
    case kPartitionBoundSpec: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.partition_bound_spec_);
      break;
    }
    // .pg_query.PartitionRangeDatum partition_range_datum = 216 [json_name = "PartitionRangeDatum"];
    case kPartitionRangeDatum: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.partition_range_datum_);
      break;
    }
    // .pg_query.PartitionCmd partition_cmd = 217 [json_name = "PartitionCmd"];
    case kPartitionCmd: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.partition_cmd_);
      break;
    }
    // .pg_query.VacuumRelation vacuum_relation = 218 [json_name = "VacuumRelation"];
    case kVacuumRelation: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.vacuum_relation_);
      break;
    }
    // .pg_query.InlineCodeBlock inline_code_block = 219 [json_name = "InlineCodeBlock"];
    case kInlineCodeBlock: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.inline_code_block_);
      break;
    }
    // .pg_query.CallContext call_context = 220 [json_name = "CallContext"];
    case kCallContext: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.call_context_);
      break;
    }
    // .pg_query.Integer integer = 221 [json_name = "Integer"];
    case kInteger: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.integer_);
      break;
    }
    // .pg_query.Float float = 222 [json_name = "Float"];
    case kFloat: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.float__);
      break;
    }
    // .pg_query.String string = 223 [json_name = "String"];
    case kString: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.string_);
      break;
    }
    // .pg_query.BitString bit_string = 224 [json_name = "BitString"];
    case kBitString: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.bit_string_);
      break;
    }
    // .pg_query.Null null = 225 [json_name = "Null"];
    case kNull: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.null_);
      break;
    }
    // .pg_query.List list = 226 [json_name = "List"];
    case kList: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.list_);
      break;
    }
    // .pg_query.IntList int_list = 227 [json_name = "IntList"];
    case kIntList: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.int_list_);
      break;
    }
    // .pg_query.OidList oid_list = 228 [json_name = "OidList"];
    case kOidList: {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *node_.oid_list_);
      break;
    }
    case NODE_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;
}

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

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

  switch (from.node_case()) {
    case kAlias: {
      _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
      break;
    }
    case kRangeVar: {
      _internal_mutable_range_var()->::pg_query::RangeVar::MergeFrom(from._internal_range_var());
      break;
    }
    case kTableFunc: {
      _internal_mutable_table_func()->::pg_query::TableFunc::MergeFrom(from._internal_table_func());
      break;
    }
    case kExpr: {
      _internal_mutable_expr()->::pg_query::Expr::MergeFrom(from._internal_expr());
      break;
    }
    case kVar: {
      _internal_mutable_var()->::pg_query::Var::MergeFrom(from._internal_var());
      break;
    }
    case kParam: {
      _internal_mutable_param()->::pg_query::Param::MergeFrom(from._internal_param());
      break;
    }
    case kAggref: {
      _internal_mutable_aggref()->::pg_query::Aggref::MergeFrom(from._internal_aggref());
      break;
    }
    case kGroupingFunc: {
      _internal_mutable_grouping_func()->::pg_query::GroupingFunc::MergeFrom(from._internal_grouping_func());
      break;
    }
    case kWindowFunc: {
      _internal_mutable_window_func()->::pg_query::WindowFunc::MergeFrom(from._internal_window_func());
      break;
    }
    case kSubscriptingRef: {
      _internal_mutable_subscripting_ref()->::pg_query::SubscriptingRef::MergeFrom(from._internal_subscripting_ref());
      break;
    }
    case kFuncExpr: {
      _internal_mutable_func_expr()->::pg_query::FuncExpr::MergeFrom(from._internal_func_expr());
      break;
    }
    case kNamedArgExpr: {
      _internal_mutable_named_arg_expr()->::pg_query::NamedArgExpr::MergeFrom(from._internal_named_arg_expr());
      break;
    }
    case kOpExpr: {
      _internal_mutable_op_expr()->::pg_query::OpExpr::MergeFrom(from._internal_op_expr());
      break;
    }
    case kDistinctExpr: {
      _internal_mutable_distinct_expr()->::pg_query::DistinctExpr::MergeFrom(from._internal_distinct_expr());
      break;
    }
    case kNullIfExpr: {
      _internal_mutable_null_if_expr()->::pg_query::NullIfExpr::MergeFrom(from._internal_null_if_expr());
      break;
    }
    case kScalarArrayOpExpr: {
      _internal_mutable_scalar_array_op_expr()->::pg_query::ScalarArrayOpExpr::MergeFrom(from._internal_scalar_array_op_expr());
      break;
    }
    case kBoolExpr: {
      _internal_mutable_bool_expr()->::pg_query::BoolExpr::MergeFrom(from._internal_bool_expr());
      break;
    }
    case kSubLink: {
      _internal_mutable_sub_link()->::pg_query::SubLink::MergeFrom(from._internal_sub_link());
      break;
    }
    case kSubPlan: {
      _internal_mutable_sub_plan()->::pg_query::SubPlan::MergeFrom(from._internal_sub_plan());
      break;
    }
    case kAlternativeSubPlan: {
      _internal_mutable_alternative_sub_plan()->::pg_query::AlternativeSubPlan::MergeFrom(from._internal_alternative_sub_plan());
      break;
    }
    case kFieldSelect: {
      _internal_mutable_field_select()->::pg_query::FieldSelect::MergeFrom(from._internal_field_select());
      break;
    }
    case kFieldStore: {
      _internal_mutable_field_store()->::pg_query::FieldStore::MergeFrom(from._internal_field_store());
      break;
    }
    case kRelabelType: {
      _internal_mutable_relabel_type()->::pg_query::RelabelType::MergeFrom(from._internal_relabel_type());
      break;
    }
    case kCoerceViaIo: {
      _internal_mutable_coerce_via_io()->::pg_query::CoerceViaIO::MergeFrom(from._internal_coerce_via_io());
      break;
    }
    case kArrayCoerceExpr: {
      _internal_mutable_array_coerce_expr()->::pg_query::ArrayCoerceExpr::MergeFrom(from._internal_array_coerce_expr());
      break;
    }
    case kConvertRowtypeExpr: {
      _internal_mutable_convert_rowtype_expr()->::pg_query::ConvertRowtypeExpr::MergeFrom(from._internal_convert_rowtype_expr());
      break;
    }
    case kCollateExpr: {
      _internal_mutable_collate_expr()->::pg_query::CollateExpr::MergeFrom(from._internal_collate_expr());
      break;
    }
    case kCaseExpr: {
      _internal_mutable_case_expr()->::pg_query::CaseExpr::MergeFrom(from._internal_case_expr());
      break;
    }
    case kCaseWhen: {
      _internal_mutable_case_when()->::pg_query::CaseWhen::MergeFrom(from._internal_case_when());
      break;
    }
    case kCaseTestExpr: {
      _internal_mutable_case_test_expr()->::pg_query::CaseTestExpr::MergeFrom(from._internal_case_test_expr());
      break;
    }
    case kArrayExpr: {
      _internal_mutable_array_expr()->::pg_query::ArrayExpr::MergeFrom(from._internal_array_expr());
      break;
    }
    case kRowExpr: {
      _internal_mutable_row_expr()->::pg_query::RowExpr::MergeFrom(from._internal_row_expr());
      break;
    }
    case kRowCompareExpr: {
      _internal_mutable_row_compare_expr()->::pg_query::RowCompareExpr::MergeFrom(from._internal_row_compare_expr());
      break;
    }
    case kCoalesceExpr: {
      _internal_mutable_coalesce_expr()->::pg_query::CoalesceExpr::MergeFrom(from._internal_coalesce_expr());
      break;
    }
    case kMinMaxExpr: {
      _internal_mutable_min_max_expr()->::pg_query::MinMaxExpr::MergeFrom(from._internal_min_max_expr());
      break;
    }
    case kSqlvalueFunction: {
      _internal_mutable_sqlvalue_function()->::pg_query::SQLValueFunction::MergeFrom(from._internal_sqlvalue_function());
      break;
    }
    case kXmlExpr: {
      _internal_mutable_xml_expr()->::pg_query::XmlExpr::MergeFrom(from._internal_xml_expr());
      break;
    }
    case kNullTest: {
      _internal_mutable_null_test()->::pg_query::NullTest::MergeFrom(from._internal_null_test());
      break;
    }
    case kBooleanTest: {
      _internal_mutable_boolean_test()->::pg_query::BooleanTest::MergeFrom(from._internal_boolean_test());
      break;
    }
    case kCoerceToDomain: {
      _internal_mutable_coerce_to_domain()->::pg_query::CoerceToDomain::MergeFrom(from._internal_coerce_to_domain());
      break;
    }
    case kCoerceToDomainValue: {
      _internal_mutable_coerce_to_domain_value()->::pg_query::CoerceToDomainValue::MergeFrom(from._internal_coerce_to_domain_value());
      break;
    }
    case kSetToDefault: {
      _internal_mutable_set_to_default()->::pg_query::SetToDefault::MergeFrom(from._internal_set_to_default());
      break;
    }
    case kCurrentOfExpr: {
      _internal_mutable_current_of_expr()->::pg_query::CurrentOfExpr::MergeFrom(from._internal_current_of_expr());
      break;
    }
    case kNextValueExpr: {
      _internal_mutable_next_value_expr()->::pg_query::NextValueExpr::MergeFrom(from._internal_next_value_expr());
      break;
    }
    case kInferenceElem: {
      _internal_mutable_inference_elem()->::pg_query::InferenceElem::MergeFrom(from._internal_inference_elem());
      break;
    }
    case kTargetEntry: {
      _internal_mutable_target_entry()->::pg_query::TargetEntry::MergeFrom(from._internal_target_entry());
      break;
    }
    case kRangeTblRef: {
      _internal_mutable_range_tbl_ref()->::pg_query::RangeTblRef::MergeFrom(from._internal_range_tbl_ref());
      break;
    }
    case kJoinExpr: {
      _internal_mutable_join_expr()->::pg_query::JoinExpr::MergeFrom(from._internal_join_expr());
      break;
    }
    case kFromExpr: {
      _internal_mutable_from_expr()->::pg_query::FromExpr::MergeFrom(from._internal_from_expr());
      break;
    }
    case kOnConflictExpr: {
      _internal_mutable_on_conflict_expr()->::pg_query::OnConflictExpr::MergeFrom(from._internal_on_conflict_expr());
      break;
    }
    case kIntoClause: {
      _internal_mutable_into_clause()->::pg_query::IntoClause::MergeFrom(from._internal_into_clause());
      break;
    }
    case kRawStmt: {
      _internal_mutable_raw_stmt()->::pg_query::RawStmt::MergeFrom(from._internal_raw_stmt());
      break;
    }
    case kQuery: {
      _internal_mutable_query()->::pg_query::Query::MergeFrom(from._internal_query());
      break;
    }
    case kInsertStmt: {
      _internal_mutable_insert_stmt()->::pg_query::InsertStmt::MergeFrom(from._internal_insert_stmt());
      break;
    }
    case kDeleteStmt: {
      _internal_mutable_delete_stmt()->::pg_query::DeleteStmt::MergeFrom(from._internal_delete_stmt());
      break;
    }
    case kUpdateStmt: {
      _internal_mutable_update_stmt()->::pg_query::UpdateStmt::MergeFrom(from._internal_update_stmt());
      break;
    }
    case kSelectStmt: {
      _internal_mutable_select_stmt()->::pg_query::SelectStmt::MergeFrom(from._internal_select_stmt());
      break;
    }
    case kAlterTableStmt: {
      _internal_mutable_alter_table_stmt()->::pg_query::AlterTableStmt::MergeFrom(from._internal_alter_table_stmt());
      break;
    }
    case kAlterTableCmd: {
      _internal_mutable_alter_table_cmd()->::pg_query::AlterTableCmd::MergeFrom(from._internal_alter_table_cmd());
      break;
    }
    case kAlterDomainStmt: {
      _internal_mutable_alter_domain_stmt()->::pg_query::AlterDomainStmt::MergeFrom(from._internal_alter_domain_stmt());
      break;
    }
    case kSetOperationStmt: {
      _internal_mutable_set_operation_stmt()->::pg_query::SetOperationStmt::MergeFrom(from._internal_set_operation_stmt());
      break;
    }
    case kGrantStmt: {
      _internal_mutable_grant_stmt()->::pg_query::GrantStmt::MergeFrom(from._internal_grant_stmt());
      break;
    }
    case kGrantRoleStmt: {
      _internal_mutable_grant_role_stmt()->::pg_query::GrantRoleStmt::MergeFrom(from._internal_grant_role_stmt());
      break;
    }
    case kAlterDefaultPrivilegesStmt: {
      _internal_mutable_alter_default_privileges_stmt()->::pg_query::AlterDefaultPrivilegesStmt::MergeFrom(from._internal_alter_default_privileges_stmt());
      break;
    }
    case kClosePortalStmt: {
      _internal_mutable_close_portal_stmt()->::pg_query::ClosePortalStmt::MergeFrom(from._internal_close_portal_stmt());
      break;
    }
    case kClusterStmt: {
      _internal_mutable_cluster_stmt()->::pg_query::ClusterStmt::MergeFrom(from._internal_cluster_stmt());
      break;
    }
    case kCopyStmt: {
      _internal_mutable_copy_stmt()->::pg_query::CopyStmt::MergeFrom(from._internal_copy_stmt());
      break;
    }
    case kCreateStmt: {
      _internal_mutable_create_stmt()->::pg_query::CreateStmt::MergeFrom(from._internal_create_stmt());
      break;
    }
    case kDefineStmt: {
      _internal_mutable_define_stmt()->::pg_query::DefineStmt::MergeFrom(from._internal_define_stmt());
      break;
    }
    case kDropStmt: {
      _internal_mutable_drop_stmt()->::pg_query::DropStmt::MergeFrom(from._internal_drop_stmt());
      break;
    }
    case kTruncateStmt: {
      _internal_mutable_truncate_stmt()->::pg_query::TruncateStmt::MergeFrom(from._internal_truncate_stmt());
      break;
    }
    case kCommentStmt: {
      _internal_mutable_comment_stmt()->::pg_query::CommentStmt::MergeFrom(from._internal_comment_stmt());
      break;
    }
    case kFetchStmt: {
      _internal_mutable_fetch_stmt()->::pg_query::FetchStmt::MergeFrom(from._internal_fetch_stmt());
      break;
    }
    case kIndexStmt: {
      _internal_mutable_index_stmt()->::pg_query::IndexStmt::MergeFrom(from._internal_index_stmt());
      break;
    }
    case kCreateFunctionStmt: {
      _internal_mutable_create_function_stmt()->::pg_query::CreateFunctionStmt::MergeFrom(from._internal_create_function_stmt());
      break;
    }
    case kAlterFunctionStmt: {
      _internal_mutable_alter_function_stmt()->::pg_query::AlterFunctionStmt::MergeFrom(from._internal_alter_function_stmt());
      break;
    }
    case kDoStmt: {
      _internal_mutable_do_stmt()->::pg_query::DoStmt::MergeFrom(from._internal_do_stmt());
      break;
    }
    case kRenameStmt: {
      _internal_mutable_rename_stmt()->::pg_query::RenameStmt::MergeFrom(from._internal_rename_stmt());
      break;
    }
    case kRuleStmt: {
      _internal_mutable_rule_stmt()->::pg_query::RuleStmt::MergeFrom(from._internal_rule_stmt());
      break;
    }
    case kNotifyStmt: {
      _internal_mutable_notify_stmt()->::pg_query::NotifyStmt::MergeFrom(from._internal_notify_stmt());
      break;
    }
    case kListenStmt: {
      _internal_mutable_listen_stmt()->::pg_query::ListenStmt::MergeFrom(from._internal_listen_stmt());
      break;
    }
    case kUnlistenStmt: {
      _internal_mutable_unlisten_stmt()->::pg_query::UnlistenStmt::MergeFrom(from._internal_unlisten_stmt());
      break;
    }
    case kTransactionStmt: {
      _internal_mutable_transaction_stmt()->::pg_query::TransactionStmt::MergeFrom(from._internal_transaction_stmt());
      break;
    }
    case kViewStmt: {
      _internal_mutable_view_stmt()->::pg_query::ViewStmt::MergeFrom(from._internal_view_stmt());
      break;
    }
    case kLoadStmt: {
      _internal_mutable_load_stmt()->::pg_query::LoadStmt::MergeFrom(from._internal_load_stmt());
      break;
    }
    case kCreateDomainStmt: {
      _internal_mutable_create_domain_stmt()->::pg_query::CreateDomainStmt::MergeFrom(from._internal_create_domain_stmt());
      break;
    }
    case kCreatedbStmt: {
      _internal_mutable_createdb_stmt()->::pg_query::CreatedbStmt::MergeFrom(from._internal_createdb_stmt());
      break;
    }
    case kDropdbStmt: {
      _internal_mutable_dropdb_stmt()->::pg_query::DropdbStmt::MergeFrom(from._internal_dropdb_stmt());
      break;
    }
    case kVacuumStmt: {
      _internal_mutable_vacuum_stmt()->::pg_query::VacuumStmt::MergeFrom(from._internal_vacuum_stmt());
      break;
    }
    case kExplainStmt: {
      _internal_mutable_explain_stmt()->::pg_query::ExplainStmt::MergeFrom(from._internal_explain_stmt());
      break;
    }
    case kCreateTableAsStmt: {
      _internal_mutable_create_table_as_stmt()->::pg_query::CreateTableAsStmt::MergeFrom(from._internal_create_table_as_stmt());
      break;
    }
    case kCreateSeqStmt: {
      _internal_mutable_create_seq_stmt()->::pg_query::CreateSeqStmt::MergeFrom(from._internal_create_seq_stmt());
      break;
    }
    case kAlterSeqStmt: {
      _internal_mutable_alter_seq_stmt()->::pg_query::AlterSeqStmt::MergeFrom(from._internal_alter_seq_stmt());
      break;
    }
    case kVariableSetStmt: {
      _internal_mutable_variable_set_stmt()->::pg_query::VariableSetStmt::MergeFrom(from._internal_variable_set_stmt());
      break;
    }
    case kVariableShowStmt: {
      _internal_mutable_variable_show_stmt()->::pg_query::VariableShowStmt::MergeFrom(from._internal_variable_show_stmt());
      break;
    }
    case kDiscardStmt: {
      _internal_mutable_discard_stmt()->::pg_query::DiscardStmt::MergeFrom(from._internal_discard_stmt());
      break;
    }
    case kCreateTrigStmt: {
      _internal_mutable_create_trig_stmt()->::pg_query::CreateTrigStmt::MergeFrom(from._internal_create_trig_stmt());
      break;
    }
    case kCreatePlangStmt: {
      _internal_mutable_create_plang_stmt()->::pg_query::CreatePLangStmt::MergeFrom(from._internal_create_plang_stmt());
      break;
    }
    case kCreateRoleStmt: {
      _internal_mutable_create_role_stmt()->::pg_query::CreateRoleStmt::MergeFrom(from._internal_create_role_stmt());
      break;
    }
    case kAlterRoleStmt: {
      _internal_mutable_alter_role_stmt()->::pg_query::AlterRoleStmt::MergeFrom(from._internal_alter_role_stmt());
      break;
    }
    case kDropRoleStmt: {
      _internal_mutable_drop_role_stmt()->::pg_query::DropRoleStmt::MergeFrom(from._internal_drop_role_stmt());
      break;
    }
    case kLockStmt: {
      _internal_mutable_lock_stmt()->::pg_query::LockStmt::MergeFrom(from._internal_lock_stmt());
      break;
    }
    case kConstraintsSetStmt: {
      _internal_mutable_constraints_set_stmt()->::pg_query::ConstraintsSetStmt::MergeFrom(from._internal_constraints_set_stmt());
      break;
    }
    case kReindexStmt: {
      _internal_mutable_reindex_stmt()->::pg_query::ReindexStmt::MergeFrom(from._internal_reindex_stmt());
      break;
    }
    case kCheckPointStmt: {
      _internal_mutable_check_point_stmt()->::pg_query::CheckPointStmt::MergeFrom(from._internal_check_point_stmt());
      break;
    }
    case kCreateSchemaStmt: {
      _internal_mutable_create_schema_stmt()->::pg_query::CreateSchemaStmt::MergeFrom(from._internal_create_schema_stmt());
      break;
    }
    case kAlterDatabaseStmt: {
      _internal_mutable_alter_database_stmt()->::pg_query::AlterDatabaseStmt::MergeFrom(from._internal_alter_database_stmt());
      break;
    }
    case kAlterDatabaseSetStmt: {
      _internal_mutable_alter_database_set_stmt()->::pg_query::AlterDatabaseSetStmt::MergeFrom(from._internal_alter_database_set_stmt());
      break;
    }
    case kAlterRoleSetStmt: {
      _internal_mutable_alter_role_set_stmt()->::pg_query::AlterRoleSetStmt::MergeFrom(from._internal_alter_role_set_stmt());
      break;
    }
    case kCreateConversionStmt: {
      _internal_mutable_create_conversion_stmt()->::pg_query::CreateConversionStmt::MergeFrom(from._internal_create_conversion_stmt());
      break;
    }
    case kCreateCastStmt: {
      _internal_mutable_create_cast_stmt()->::pg_query::CreateCastStmt::MergeFrom(from._internal_create_cast_stmt());
      break;
    }
    case kCreateOpClassStmt: {
      _internal_mutable_create_op_class_stmt()->::pg_query::CreateOpClassStmt::MergeFrom(from._internal_create_op_class_stmt());
      break;
    }
    case kCreateOpFamilyStmt: {
      _internal_mutable_create_op_family_stmt()->::pg_query::CreateOpFamilyStmt::MergeFrom(from._internal_create_op_family_stmt());
      break;
    }
    case kAlterOpFamilyStmt: {
      _internal_mutable_alter_op_family_stmt()->::pg_query::AlterOpFamilyStmt::MergeFrom(from._internal_alter_op_family_stmt());
      break;
    }
    case kPrepareStmt: {
      _internal_mutable_prepare_stmt()->::pg_query::PrepareStmt::MergeFrom(from._internal_prepare_stmt());
      break;
    }
    case kExecuteStmt: {
      _internal_mutable_execute_stmt()->::pg_query::ExecuteStmt::MergeFrom(from._internal_execute_stmt());
      break;
    }
    case kDeallocateStmt: {
      _internal_mutable_deallocate_stmt()->::pg_query::DeallocateStmt::MergeFrom(from._internal_deallocate_stmt());
      break;
    }
    case kDeclareCursorStmt: {
      _internal_mutable_declare_cursor_stmt()->::pg_query::DeclareCursorStmt::MergeFrom(from._internal_declare_cursor_stmt());
      break;
    }
    case kCreateTableSpaceStmt: {
      _internal_mutable_create_table_space_stmt()->::pg_query::CreateTableSpaceStmt::MergeFrom(from._internal_create_table_space_stmt());
      break;
    }
    case kDropTableSpaceStmt: {
      _internal_mutable_drop_table_space_stmt()->::pg_query::DropTableSpaceStmt::MergeFrom(from._internal_drop_table_space_stmt());
      break;
    }
    case kAlterObjectDependsStmt: {
      _internal_mutable_alter_object_depends_stmt()->::pg_query::AlterObjectDependsStmt::MergeFrom(from._internal_alter_object_depends_stmt());
      break;
    }
    case kAlterObjectSchemaStmt: {
      _internal_mutable_alter_object_schema_stmt()->::pg_query::AlterObjectSchemaStmt::MergeFrom(from._internal_alter_object_schema_stmt());
      break;
    }
    case kAlterOwnerStmt: {
      _internal_mutable_alter_owner_stmt()->::pg_query::AlterOwnerStmt::MergeFrom(from._internal_alter_owner_stmt());
      break;
    }
    case kAlterOperatorStmt: {
      _internal_mutable_alter_operator_stmt()->::pg_query::AlterOperatorStmt::MergeFrom(from._internal_alter_operator_stmt());
      break;
    }
    case kAlterTypeStmt: {
      _internal_mutable_alter_type_stmt()->::pg_query::AlterTypeStmt::MergeFrom(from._internal_alter_type_stmt());
      break;
    }
    case kDropOwnedStmt: {
      _internal_mutable_drop_owned_stmt()->::pg_query::DropOwnedStmt::MergeFrom(from._internal_drop_owned_stmt());
      break;
    }
    case kReassignOwnedStmt: {
      _internal_mutable_reassign_owned_stmt()->::pg_query::ReassignOwnedStmt::MergeFrom(from._internal_reassign_owned_stmt());
      break;
    }
    case kCompositeTypeStmt: {
      _internal_mutable_composite_type_stmt()->::pg_query::CompositeTypeStmt::MergeFrom(from._internal_composite_type_stmt());
      break;
    }
    case kCreateEnumStmt: {
      _internal_mutable_create_enum_stmt()->::pg_query::CreateEnumStmt::MergeFrom(from._internal_create_enum_stmt());
      break;
    }
    case kCreateRangeStmt: {
      _internal_mutable_create_range_stmt()->::pg_query::CreateRangeStmt::MergeFrom(from._internal_create_range_stmt());
      break;
    }
    case kAlterEnumStmt: {
      _internal_mutable_alter_enum_stmt()->::pg_query::AlterEnumStmt::MergeFrom(from._internal_alter_enum_stmt());
      break;
    }
    case kAlterTsdictionaryStmt: {
      _internal_mutable_alter_tsdictionary_stmt()->::pg_query::AlterTSDictionaryStmt::MergeFrom(from._internal_alter_tsdictionary_stmt());
      break;
    }
    case kAlterTsconfigurationStmt: {
      _internal_mutable_alter_tsconfiguration_stmt()->::pg_query::AlterTSConfigurationStmt::MergeFrom(from._internal_alter_tsconfiguration_stmt());
      break;
    }
    case kCreateFdwStmt: {
      _internal_mutable_create_fdw_stmt()->::pg_query::CreateFdwStmt::MergeFrom(from._internal_create_fdw_stmt());
      break;
    }
    case kAlterFdwStmt: {
      _internal_mutable_alter_fdw_stmt()->::pg_query::AlterFdwStmt::MergeFrom(from._internal_alter_fdw_stmt());
      break;
    }
    case kCreateForeignServerStmt: {
      _internal_mutable_create_foreign_server_stmt()->::pg_query::CreateForeignServerStmt::MergeFrom(from._internal_create_foreign_server_stmt());
      break;
    }
    case kAlterForeignServerStmt: {
      _internal_mutable_alter_foreign_server_stmt()->::pg_query::AlterForeignServerStmt::MergeFrom(from._internal_alter_foreign_server_stmt());
      break;
    }
    case kCreateUserMappingStmt: {
      _internal_mutable_create_user_mapping_stmt()->::pg_query::CreateUserMappingStmt::MergeFrom(from._internal_create_user_mapping_stmt());
      break;
    }
    case kAlterUserMappingStmt: {
      _internal_mutable_alter_user_mapping_stmt()->::pg_query::AlterUserMappingStmt::MergeFrom(from._internal_alter_user_mapping_stmt());
      break;
    }
    case kDropUserMappingStmt: {
      _internal_mutable_drop_user_mapping_stmt()->::pg_query::DropUserMappingStmt::MergeFrom(from._internal_drop_user_mapping_stmt());
      break;
    }
    case kAlterTableSpaceOptionsStmt: {
      _internal_mutable_alter_table_space_options_stmt()->::pg_query::AlterTableSpaceOptionsStmt::MergeFrom(from._internal_alter_table_space_options_stmt());
      break;
    }
    case kAlterTableMoveAllStmt: {
      _internal_mutable_alter_table_move_all_stmt()->::pg_query::AlterTableMoveAllStmt::MergeFrom(from._internal_alter_table_move_all_stmt());
      break;
    }
    case kSecLabelStmt: {
      _internal_mutable_sec_label_stmt()->::pg_query::SecLabelStmt::MergeFrom(from._internal_sec_label_stmt());
      break;
    }
    case kCreateForeignTableStmt: {
      _internal_mutable_create_foreign_table_stmt()->::pg_query::CreateForeignTableStmt::MergeFrom(from._internal_create_foreign_table_stmt());
      break;
    }
    case kImportForeignSchemaStmt: {
      _internal_mutable_import_foreign_schema_stmt()->::pg_query::ImportForeignSchemaStmt::MergeFrom(from._internal_import_foreign_schema_stmt());
      break;
    }
    case kCreateExtensionStmt: {
      _internal_mutable_create_extension_stmt()->::pg_query::CreateExtensionStmt::MergeFrom(from._internal_create_extension_stmt());
      break;
    }
    case kAlterExtensionStmt: {
      _internal_mutable_alter_extension_stmt()->::pg_query::AlterExtensionStmt::MergeFrom(from._internal_alter_extension_stmt());
      break;
    }
    case kAlterExtensionContentsStmt: {
      _internal_mutable_alter_extension_contents_stmt()->::pg_query::AlterExtensionContentsStmt::MergeFrom(from._internal_alter_extension_contents_stmt());
      break;
    }
    case kCreateEventTrigStmt: {
      _internal_mutable_create_event_trig_stmt()->::pg_query::CreateEventTrigStmt::MergeFrom(from._internal_create_event_trig_stmt());
      break;
    }
    case kAlterEventTrigStmt: {
      _internal_mutable_alter_event_trig_stmt()->::pg_query::AlterEventTrigStmt::MergeFrom(from._internal_alter_event_trig_stmt());
      break;
    }
    case kRefreshMatViewStmt: {
      _internal_mutable_refresh_mat_view_stmt()->::pg_query::RefreshMatViewStmt::MergeFrom(from._internal_refresh_mat_view_stmt());
      break;
    }
    case kReplicaIdentityStmt: {
      _internal_mutable_replica_identity_stmt()->::pg_query::ReplicaIdentityStmt::MergeFrom(from._internal_replica_identity_stmt());
      break;
    }
    case kAlterSystemStmt: {
      _internal_mutable_alter_system_stmt()->::pg_query::AlterSystemStmt::MergeFrom(from._internal_alter_system_stmt());
      break;
    }
    case kCreatePolicyStmt: {
      _internal_mutable_create_policy_stmt()->::pg_query::CreatePolicyStmt::MergeFrom(from._internal_create_policy_stmt());
      break;
    }
    case kAlterPolicyStmt: {
      _internal_mutable_alter_policy_stmt()->::pg_query::AlterPolicyStmt::MergeFrom(from._internal_alter_policy_stmt());
      break;
    }
    case kCreateTransformStmt: {
      _internal_mutable_create_transform_stmt()->::pg_query::CreateTransformStmt::MergeFrom(from._internal_create_transform_stmt());
      break;
    }
    case kCreateAmStmt: {
      _internal_mutable_create_am_stmt()->::pg_query::CreateAmStmt::MergeFrom(from._internal_create_am_stmt());
      break;
    }
    case kCreatePublicationStmt: {
      _internal_mutable_create_publication_stmt()->::pg_query::CreatePublicationStmt::MergeFrom(from._internal_create_publication_stmt());
      break;
    }
    case kAlterPublicationStmt: {
      _internal_mutable_alter_publication_stmt()->::pg_query::AlterPublicationStmt::MergeFrom(from._internal_alter_publication_stmt());
      break;
    }
    case kCreateSubscriptionStmt: {
      _internal_mutable_create_subscription_stmt()->::pg_query::CreateSubscriptionStmt::MergeFrom(from._internal_create_subscription_stmt());
      break;
    }
    case kAlterSubscriptionStmt: {
      _internal_mutable_alter_subscription_stmt()->::pg_query::AlterSubscriptionStmt::MergeFrom(from._internal_alter_subscription_stmt());
      break;
    }
    case kDropSubscriptionStmt: {
      _internal_mutable_drop_subscription_stmt()->::pg_query::DropSubscriptionStmt::MergeFrom(from._internal_drop_subscription_stmt());
      break;
    }
    case kCreateStatsStmt: {
      _internal_mutable_create_stats_stmt()->::pg_query::CreateStatsStmt::MergeFrom(from._internal_create_stats_stmt());
      break;
    }
    case kAlterCollationStmt: {
      _internal_mutable_alter_collation_stmt()->::pg_query::AlterCollationStmt::MergeFrom(from._internal_alter_collation_stmt());
      break;
    }
    case kCallStmt: {
      _internal_mutable_call_stmt()->::pg_query::CallStmt::MergeFrom(from._internal_call_stmt());
      break;
    }
    case kAlterStatsStmt: {
      _internal_mutable_alter_stats_stmt()->::pg_query::AlterStatsStmt::MergeFrom(from._internal_alter_stats_stmt());
      break;
    }
    case kAExpr: {
      _internal_mutable_a_expr()->::pg_query::A_Expr::MergeFrom(from._internal_a_expr());
      break;
    }
    case kColumnRef: {
      _internal_mutable_column_ref()->::pg_query::ColumnRef::MergeFrom(from._internal_column_ref());
      break;
    }
    case kParamRef: {
      _internal_mutable_param_ref()->::pg_query::ParamRef::MergeFrom(from._internal_param_ref());
      break;
    }
    case kAConst: {
      _internal_mutable_a_const()->::pg_query::A_Const::MergeFrom(from._internal_a_const());
      break;
    }
    case kFuncCall: {
      _internal_mutable_func_call()->::pg_query::FuncCall::MergeFrom(from._internal_func_call());
      break;
    }
    case kAStar: {
      _internal_mutable_a_star()->::pg_query::A_Star::MergeFrom(from._internal_a_star());
      break;
    }
    case kAIndices: {
      _internal_mutable_a_indices()->::pg_query::A_Indices::MergeFrom(from._internal_a_indices());
      break;
    }
    case kAIndirection: {
      _internal_mutable_a_indirection()->::pg_query::A_Indirection::MergeFrom(from._internal_a_indirection());
      break;
    }
    case kAArrayExpr: {
      _internal_mutable_a_array_expr()->::pg_query::A_ArrayExpr::MergeFrom(from._internal_a_array_expr());
      break;
    }
    case kResTarget: {
      _internal_mutable_res_target()->::pg_query::ResTarget::MergeFrom(from._internal_res_target());
      break;
    }
    case kMultiAssignRef: {
      _internal_mutable_multi_assign_ref()->::pg_query::MultiAssignRef::MergeFrom(from._internal_multi_assign_ref());
      break;
    }
    case kTypeCast: {
      _internal_mutable_type_cast()->::pg_query::TypeCast::MergeFrom(from._internal_type_cast());
      break;
    }
    case kCollateClause: {
      _internal_mutable_collate_clause()->::pg_query::CollateClause::MergeFrom(from._internal_collate_clause());
      break;
    }
    case kSortBy: {
      _internal_mutable_sort_by()->::pg_query::SortBy::MergeFrom(from._internal_sort_by());
      break;
    }
    case kWindowDef: {
      _internal_mutable_window_def()->::pg_query::WindowDef::MergeFrom(from._internal_window_def());
      break;
    }
    case kRangeSubselect: {
      _internal_mutable_range_subselect()->::pg_query::RangeSubselect::MergeFrom(from._internal_range_subselect());
      break;
    }
    case kRangeFunction: {
      _internal_mutable_range_function()->::pg_query::RangeFunction::MergeFrom(from._internal_range_function());
      break;
    }
    case kRangeTableSample: {
      _internal_mutable_range_table_sample()->::pg_query::RangeTableSample::MergeFrom(from._internal_range_table_sample());
      break;
    }
    case kRangeTableFunc: {
      _internal_mutable_range_table_func()->::pg_query::RangeTableFunc::MergeFrom(from._internal_range_table_func());
      break;
    }
    case kRangeTableFuncCol: {
      _internal_mutable_range_table_func_col()->::pg_query::RangeTableFuncCol::MergeFrom(from._internal_range_table_func_col());
      break;
    }
    case kTypeName: {
      _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
      break;
    }
    case kColumnDef: {
      _internal_mutable_column_def()->::pg_query::ColumnDef::MergeFrom(from._internal_column_def());
      break;
    }
    case kIndexElem: {
      _internal_mutable_index_elem()->::pg_query::IndexElem::MergeFrom(from._internal_index_elem());
      break;
    }
    case kConstraint: {
      _internal_mutable_constraint()->::pg_query::Constraint::MergeFrom(from._internal_constraint());
      break;
    }
    case kDefElem: {
      _internal_mutable_def_elem()->::pg_query::DefElem::MergeFrom(from._internal_def_elem());
      break;
    }
    case kRangeTblEntry: {
      _internal_mutable_range_tbl_entry()->::pg_query::RangeTblEntry::MergeFrom(from._internal_range_tbl_entry());
      break;
    }
    case kRangeTblFunction: {
      _internal_mutable_range_tbl_function()->::pg_query::RangeTblFunction::MergeFrom(from._internal_range_tbl_function());
      break;
    }
    case kTableSampleClause: {
      _internal_mutable_table_sample_clause()->::pg_query::TableSampleClause::MergeFrom(from._internal_table_sample_clause());
      break;
    }
    case kWithCheckOption: {
      _internal_mutable_with_check_option()->::pg_query::WithCheckOption::MergeFrom(from._internal_with_check_option());
      break;
    }
    case kSortGroupClause: {
      _internal_mutable_sort_group_clause()->::pg_query::SortGroupClause::MergeFrom(from._internal_sort_group_clause());
      break;
    }
    case kGroupingSet: {
      _internal_mutable_grouping_set()->::pg_query::GroupingSet::MergeFrom(from._internal_grouping_set());
      break;
    }
    case kWindowClause: {
      _internal_mutable_window_clause()->::pg_query::WindowClause::MergeFrom(from._internal_window_clause());
      break;
    }
    case kObjectWithArgs: {
      _internal_mutable_object_with_args()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_object_with_args());
      break;
    }
    case kAccessPriv: {
      _internal_mutable_access_priv()->::pg_query::AccessPriv::MergeFrom(from._internal_access_priv());
      break;
    }
    case kCreateOpClassItem: {
      _internal_mutable_create_op_class_item()->::pg_query::CreateOpClassItem::MergeFrom(from._internal_create_op_class_item());
      break;
    }
    case kTableLikeClause: {
      _internal_mutable_table_like_clause()->::pg_query::TableLikeClause::MergeFrom(from._internal_table_like_clause());
      break;
    }
    case kFunctionParameter: {
      _internal_mutable_function_parameter()->::pg_query::FunctionParameter::MergeFrom(from._internal_function_parameter());
      break;
    }
    case kLockingClause: {
      _internal_mutable_locking_clause()->::pg_query::LockingClause::MergeFrom(from._internal_locking_clause());
      break;
    }
    case kRowMarkClause: {
      _internal_mutable_row_mark_clause()->::pg_query::RowMarkClause::MergeFrom(from._internal_row_mark_clause());
      break;
    }
    case kXmlSerialize: {
      _internal_mutable_xml_serialize()->::pg_query::XmlSerialize::MergeFrom(from._internal_xml_serialize());
      break;
    }
    case kWithClause: {
      _internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(from._internal_with_clause());
      break;
    }
    case kInferClause: {
      _internal_mutable_infer_clause()->::pg_query::InferClause::MergeFrom(from._internal_infer_clause());
      break;
    }
    case kOnConflictClause: {
      _internal_mutable_on_conflict_clause()->::pg_query::OnConflictClause::MergeFrom(from._internal_on_conflict_clause());
      break;
    }
    case kCommonTableExpr: {
      _internal_mutable_common_table_expr()->::pg_query::CommonTableExpr::MergeFrom(from._internal_common_table_expr());
      break;
    }
    case kRoleSpec: {
      _internal_mutable_role_spec()->::pg_query::RoleSpec::MergeFrom(from._internal_role_spec());
      break;
    }
    case kTriggerTransition: {
      _internal_mutable_trigger_transition()->::pg_query::TriggerTransition::MergeFrom(from._internal_trigger_transition());
      break;
    }
    case kPartitionElem: {
      _internal_mutable_partition_elem()->::pg_query::PartitionElem::MergeFrom(from._internal_partition_elem());
      break;
    }
    case kPartitionSpec: {
      _internal_mutable_partition_spec()->::pg_query::PartitionSpec::MergeFrom(from._internal_partition_spec());
      break;
    }
    case kPartitionBoundSpec: {
      _internal_mutable_partition_bound_spec()->::pg_query::PartitionBoundSpec::MergeFrom(from._internal_partition_bound_spec());
      break;
    }
    case kPartitionRangeDatum: {
      _internal_mutable_partition_range_datum()->::pg_query::PartitionRangeDatum::MergeFrom(from._internal_partition_range_datum());
      break;
    }
    case kPartitionCmd: {
      _internal_mutable_partition_cmd()->::pg_query::PartitionCmd::MergeFrom(from._internal_partition_cmd());
      break;
    }
    case kVacuumRelation: {
      _internal_mutable_vacuum_relation()->::pg_query::VacuumRelation::MergeFrom(from._internal_vacuum_relation());
      break;
    }
    case kInlineCodeBlock: {
      _internal_mutable_inline_code_block()->::pg_query::InlineCodeBlock::MergeFrom(from._internal_inline_code_block());
      break;
    }
    case kCallContext: {
      _internal_mutable_call_context()->::pg_query::CallContext::MergeFrom(from._internal_call_context());
      break;
    }
    case kInteger: {
      _internal_mutable_integer()->::pg_query::Integer::MergeFrom(from._internal_integer());
      break;
    }
    case kFloat: {
      _internal_mutable_float_()->::pg_query::Float::MergeFrom(from._internal_float_());
      break;
    }
    case kString: {
      _internal_mutable_string()->::pg_query::String::MergeFrom(from._internal_string());
      break;
    }
    case kBitString: {
      _internal_mutable_bit_string()->::pg_query::BitString::MergeFrom(from._internal_bit_string());
      break;
    }
    case kNull: {
      _internal_mutable_null()->::pg_query::Null::MergeFrom(from._internal_null());
      break;
    }
    case kList: {
      _internal_mutable_list()->::pg_query::List::MergeFrom(from._internal_list());
      break;
    }
    case kIntList: {
      _internal_mutable_int_list()->::pg_query::IntList::MergeFrom(from._internal_int_list());
      break;
    }
    case kOidList: {
      _internal_mutable_oid_list()->::pg_query::OidList::MergeFrom(from._internal_oid_list());
      break;
    }
    case NODE_NOT_SET: {
      break;
    }
  }
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata Node::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Integer::_Internal {
 public:
};

Integer::Integer(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Integer)
}
Integer::Integer(const Integer& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ival_ = from.ival_;
  // @@protoc_insertion_point(copy_constructor:pg_query.Integer)
}

void Integer::SharedCtor() {
  ival_ = 0;
}

Integer::~Integer() {
  // @@protoc_insertion_point(destructor:pg_query.Integer)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Integer::ArenaDtor(void* object) {
  Integer* _this = reinterpret_cast< Integer* >(object);
  (void)_this;
}
void Integer::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Integer::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Integer& Integer::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Integer_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  ival_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Integer::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 ival = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ival_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Integer::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Integer)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 ival = 1;
  if (this->ival() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_ival(), 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:pg_query.Integer)
  return target;
}

size_t Integer::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Integer)
  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;

  // int32 ival = 1;
  if (this->ival() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_ival());
  }

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

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

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

  if (from.ival() != 0) {
    _internal_set_ival(from._internal_ival());
  }
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata Integer::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Float::_Internal {
 public:
};

Float::Float(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Float)
}
Float::Float(const Float& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_str().empty()) {
    str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_str(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.Float)
}

void Float::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Float_protobuf_2fpg_5fquery_2eproto.base);
  str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

Float::~Float() {
  // @@protoc_insertion_point(destructor:pg_query.Float)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Float::ArenaDtor(void* object) {
  Float* _this = reinterpret_cast< Float* >(object);
  (void)_this;
}
void Float::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Float::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Float& Float::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Float_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* Float::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string str = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_str();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Float.str"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Float::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Float)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string str = 1;
  if (this->str().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_str().data(), static_cast<int>(this->_internal_str().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Float.str");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_str(), 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:pg_query.Float)
  return target;
}

size_t Float::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Float)
  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 str = 1;
  if (this->str().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_str());
  }

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

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

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

  if (from.str().size() > 0) {
    _internal_set_str(from._internal_str());
  }
}

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

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

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

void Float::InternalSwap(Float* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  str_.Swap(&other->str_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata Float::GetMetadata() const {
  return GetMetadataStatic();
}


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

class String::_Internal {
 public:
};

String::String(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.String)
}
String::String(const String& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_str().empty()) {
    str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_str(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.String)
}

void String::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_String_protobuf_2fpg_5fquery_2eproto.base);
  str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

String::~String() {
  // @@protoc_insertion_point(destructor:pg_query.String)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void String::ArenaDtor(void* object) {
  String* _this = reinterpret_cast< String* >(object);
  (void)_this;
}
void String::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void String::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const String& String::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_String_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* String::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string str = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_str();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.String.str"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* String::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.String)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string str = 1;
  if (this->str().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_str().data(), static_cast<int>(this->_internal_str().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.String.str");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_str(), 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:pg_query.String)
  return target;
}

size_t String::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.String)
  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 str = 1;
  if (this->str().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_str());
  }

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

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

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

  if (from.str().size() > 0) {
    _internal_set_str(from._internal_str());
  }
}

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

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

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

void String::InternalSwap(String* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  str_.Swap(&other->str_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata String::GetMetadata() const {
  return GetMetadataStatic();
}


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

class BitString::_Internal {
 public:
};

BitString::BitString(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.BitString)
}
BitString::BitString(const BitString& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_str().empty()) {
    str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_str(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.BitString)
}

void BitString::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_BitString_protobuf_2fpg_5fquery_2eproto.base);
  str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

BitString::~BitString() {
  // @@protoc_insertion_point(destructor:pg_query.BitString)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void BitString::ArenaDtor(void* object) {
  BitString* _this = reinterpret_cast< BitString* >(object);
  (void)_this;
}
void BitString::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void BitString::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const BitString& BitString::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_BitString_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* BitString::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string str = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_str();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.BitString.str"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* BitString::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.BitString)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string str = 1;
  if (this->str().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_str().data(), static_cast<int>(this->_internal_str().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.BitString.str");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_str(), 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:pg_query.BitString)
  return target;
}

size_t BitString::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.BitString)
  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 str = 1;
  if (this->str().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_str());
  }

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

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

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

  if (from.str().size() > 0) {
    _internal_set_str(from._internal_str());
  }
}

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

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

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

void BitString::InternalSwap(BitString* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  str_.Swap(&other->str_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata BitString::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Null::_Internal {
 public:
};

Null::Null(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Null)
}
Null::Null(const Null& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.Null)
}

void Null::SharedCtor() {
}

Null::~Null() {
  // @@protoc_insertion_point(destructor:pg_query.Null)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Null::ArenaDtor(void* object) {
  Null* _this = reinterpret_cast< Null* >(object);
  (void)_this;
}
void Null::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Null::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Null& Null::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Null_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* Null::_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);
    CHK_(ptr);
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

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

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

size_t Null::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Null)
  size_t total_size = 0;

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

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

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

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

}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata Null::GetMetadata() const {
  return GetMetadataStatic();
}


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

class List::_Internal {
 public:
};

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

void List::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

List::~List() {
  // @@protoc_insertion_point(destructor:pg_query.List)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void List::ArenaDtor(void* object) {
  List* _this = reinterpret_cast< List* >(object);
  (void)_this;
}
void List::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void List::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const List& List::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* List::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node items = 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_items(), 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 & 7) == 4 || tag == 0) {
          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* List::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.List)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node items = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_items_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_items(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:pg_query.List)
  return target;
}

size_t List::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.List)
  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 .pg_query.Node items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

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

  items_.MergeFrom(from.items_);
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata List::GetMetadata() const {
  return GetMetadataStatic();
}


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

class OidList::_Internal {
 public:
};

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

void OidList::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

OidList::~OidList() {
  // @@protoc_insertion_point(destructor:pg_query.OidList)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void OidList::ArenaDtor(void* object) {
  OidList* _this = reinterpret_cast< OidList* >(object);
  (void)_this;
}
void OidList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void OidList::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const OidList& OidList::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* OidList::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node items = 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_items(), 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 & 7) == 4 || tag == 0) {
          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* OidList::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OidList)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node items = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_items_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_items(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:pg_query.OidList)
  return target;
}

size_t OidList::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.OidList)
  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 .pg_query.Node items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

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

  items_.MergeFrom(from.items_);
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata OidList::GetMetadata() const {
  return GetMetadataStatic();
}


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

class IntList::_Internal {
 public:
};

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

void IntList::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

IntList::~IntList() {
  // @@protoc_insertion_point(destructor:pg_query.IntList)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void IntList::ArenaDtor(void* object) {
  IntList* _this = reinterpret_cast< IntList* >(object);
  (void)_this;
}
void IntList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void IntList::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const IntList& IntList::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* IntList::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node items = 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_items(), 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 & 7) == 4 || tag == 0) {
          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* IntList::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IntList)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node items = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_items_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_items(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:pg_query.IntList)
  return target;
}

size_t IntList::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.IntList)
  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 .pg_query.Node items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

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

  items_.MergeFrom(from.items_);
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata IntList::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Bitmapset::_Internal {
 public:
};

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

void Bitmapset::SharedCtor() {
}

Bitmapset::~Bitmapset() {
  // @@protoc_insertion_point(destructor:pg_query.Bitmapset)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Bitmapset::ArenaDtor(void* object) {
  Bitmapset* _this = reinterpret_cast< Bitmapset* >(object);
  (void)_this;
}
void Bitmapset::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Bitmapset::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Bitmapset& Bitmapset::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Bitmapset_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* Bitmapset::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated uint64 words = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_words(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
          _internal_add_words(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Bitmapset::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Bitmapset)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated uint64 words = 1;
  {
    int byte_size = _words_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          1, _internal_words(), byte_size, target);
    }
  }

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

size_t Bitmapset::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Bitmapset)
  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 uint64 words = 1;
  {
    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      UInt64Size(this->words_);
    if (data_size > 0) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
    _words_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

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

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

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

  words_.MergeFrom(from.words_);
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata Bitmapset::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Alias::_Internal {
 public:
};

Alias::Alias(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  colnames_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Alias)
}
Alias::Alias(const Alias& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      colnames_(from.colnames_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  aliasname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_aliasname().empty()) {
    aliasname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_aliasname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.Alias)
}

void Alias::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  aliasname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

Alias::~Alias() {
  // @@protoc_insertion_point(destructor:pg_query.Alias)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Alias::ArenaDtor(void* object) {
  Alias* _this = reinterpret_cast< Alias* >(object);
  (void)_this;
}
void Alias::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Alias::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Alias& Alias::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  colnames_.Clear();
  aliasname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Alias::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string aliasname = 1 [json_name = "aliasname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_aliasname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Alias.aliasname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node colnames = 2 [json_name = "colnames"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_colnames(), 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 & 7) == 4 || tag == 0) {
          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* Alias::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Alias)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string aliasname = 1 [json_name = "aliasname"];
  if (this->aliasname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_aliasname().data(), static_cast<int>(this->_internal_aliasname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Alias.aliasname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_aliasname(), target);
  }

  // repeated .pg_query.Node colnames = 2 [json_name = "colnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_colnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_colnames(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:pg_query.Alias)
  return target;
}

size_t Alias::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Alias)
  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 .pg_query.Node colnames = 2 [json_name = "colnames"];
  total_size += 1UL * this->_internal_colnames_size();
  for (const auto& msg : this->colnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string aliasname = 1 [json_name = "aliasname"];
  if (this->aliasname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_aliasname());
  }

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

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

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

  colnames_.MergeFrom(from.colnames_);
  if (from.aliasname().size() > 0) {
    _internal_set_aliasname(from._internal_aliasname());
  }
}

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

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

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

void Alias::InternalSwap(Alias* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  colnames_.InternalSwap(&other->colnames_);
  aliasname_.Swap(&other->aliasname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata Alias::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RangeVar::_Internal {
 public:
  static const ::pg_query::Alias& alias(const RangeVar* msg);
};

const ::pg_query::Alias&
RangeVar::_Internal::alias(const RangeVar* msg) {
  return *msg->alias_;
}
RangeVar::RangeVar(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeVar)
}
RangeVar::RangeVar(const RangeVar& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  catalogname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_catalogname().empty()) {
    catalogname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalogname(), 
      GetArena());
  }
  schemaname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_schemaname().empty()) {
    schemaname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_schemaname(), 
      GetArena());
  }
  relname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_relname().empty()) {
    relname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_relname(), 
      GetArena());
  }
  relpersistence_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_relpersistence().empty()) {
    relpersistence_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_relpersistence(), 
      GetArena());
  }
  if (from._internal_has_alias()) {
    alias_ = new ::pg_query::Alias(*from.alias_);
  } else {
    alias_ = nullptr;
  }
  ::memcpy(&inh_, &from.inh_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&inh_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeVar)
}

void RangeVar::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  catalogname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  schemaname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  relname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  relpersistence_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&alias_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&alias_)) + sizeof(location_));
}

RangeVar::~RangeVar() {
  // @@protoc_insertion_point(destructor:pg_query.RangeVar)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeVar::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  catalogname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  schemaname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  relname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  relpersistence_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete alias_;
}

void RangeVar::ArenaDtor(void* object) {
  RangeVar* _this = reinterpret_cast< RangeVar* >(object);
  (void)_this;
}
void RangeVar::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeVar::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeVar& RangeVar::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  catalogname_.ClearToEmpty();
  schemaname_.ClearToEmpty();
  relname_.ClearToEmpty();
  relpersistence_.ClearToEmpty();
  if (GetArena() == nullptr && alias_ != nullptr) {
    delete alias_;
  }
  alias_ = nullptr;
  ::memset(&inh_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&inh_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeVar::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string catalogname = 1 [json_name = "catalogname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_catalogname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeVar.catalogname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string schemaname = 2 [json_name = "schemaname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_schemaname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeVar.schemaname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string relname = 3 [json_name = "relname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_relname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeVar.relname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool inh = 4 [json_name = "inh"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          inh_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string relpersistence = 5 [json_name = "relpersistence"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_relpersistence();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeVar.relpersistence"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 6 [json_name = "alias"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RangeVar::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeVar)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string catalogname = 1 [json_name = "catalogname"];
  if (this->catalogname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_catalogname().data(), static_cast<int>(this->_internal_catalogname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeVar.catalogname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_catalogname(), target);
  }

  // string schemaname = 2 [json_name = "schemaname"];
  if (this->schemaname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_schemaname().data(), static_cast<int>(this->_internal_schemaname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeVar.schemaname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_schemaname(), target);
  }

  // string relname = 3 [json_name = "relname"];
  if (this->relname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_relname().data(), static_cast<int>(this->_internal_relname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeVar.relname");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_relname(), target);
  }

  // bool inh = 4 [json_name = "inh"];
  if (this->inh() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_inh(), target);
  }

  // string relpersistence = 5 [json_name = "relpersistence"];
  if (this->relpersistence().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_relpersistence().data(), static_cast<int>(this->_internal_relpersistence().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeVar.relpersistence");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_relpersistence(), target);
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (this->has_alias()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::alias(this), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.RangeVar)
  return target;
}

size_t RangeVar::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeVar)
  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 catalogname = 1 [json_name = "catalogname"];
  if (this->catalogname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_catalogname());
  }

  // string schemaname = 2 [json_name = "schemaname"];
  if (this->schemaname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schemaname());
  }

  // string relname = 3 [json_name = "relname"];
  if (this->relname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_relname());
  }

  // string relpersistence = 5 [json_name = "relpersistence"];
  if (this->relpersistence().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_relpersistence());
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (this->has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *alias_);
  }

  // bool inh = 4 [json_name = "inh"];
  if (this->inh() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.catalogname().size() > 0) {
    _internal_set_catalogname(from._internal_catalogname());
  }
  if (from.schemaname().size() > 0) {
    _internal_set_schemaname(from._internal_schemaname());
  }
  if (from.relname().size() > 0) {
    _internal_set_relname(from._internal_relname());
  }
  if (from.relpersistence().size() > 0) {
    _internal_set_relpersistence(from._internal_relpersistence());
  }
  if (from.has_alias()) {
    _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
  }
  if (from.inh() != 0) {
    _internal_set_inh(from._internal_inh());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void RangeVar::InternalSwap(RangeVar* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  catalogname_.Swap(&other->catalogname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  schemaname_.Swap(&other->schemaname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  relname_.Swap(&other->relname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  relpersistence_.Swap(&other->relpersistence_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeVar, location_)
      + sizeof(RangeVar::location_)
      - PROTOBUF_FIELD_OFFSET(RangeVar, alias_)>(
          reinterpret_cast<char*>(&alias_),
          reinterpret_cast<char*>(&other->alias_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeVar::GetMetadata() const {
  return GetMetadataStatic();
}


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

class TableFunc::_Internal {
 public:
  static const ::pg_query::Node& docexpr(const TableFunc* msg);
  static const ::pg_query::Node& rowexpr(const TableFunc* msg);
};

const ::pg_query::Node&
TableFunc::_Internal::docexpr(const TableFunc* msg) {
  return *msg->docexpr_;
}
const ::pg_query::Node&
TableFunc::_Internal::rowexpr(const TableFunc* msg) {
  return *msg->rowexpr_;
}
TableFunc::TableFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  ns_uris_(arena),
  ns_names_(arena),
  colnames_(arena),
  coltypes_(arena),
  coltypmods_(arena),
  colcollations_(arena),
  colexprs_(arena),
  coldefexprs_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableFunc)
}
TableFunc::TableFunc(const TableFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      ns_uris_(from.ns_uris_),
      ns_names_(from.ns_names_),
      colnames_(from.colnames_),
      coltypes_(from.coltypes_),
      coltypmods_(from.coltypmods_),
      colcollations_(from.colcollations_),
      colexprs_(from.colexprs_),
      coldefexprs_(from.coldefexprs_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_docexpr()) {
    docexpr_ = new ::pg_query::Node(*from.docexpr_);
  } else {
    docexpr_ = nullptr;
  }
  if (from._internal_has_rowexpr()) {
    rowexpr_ = new ::pg_query::Node(*from.rowexpr_);
  } else {
    rowexpr_ = nullptr;
  }
  ::memcpy(&ordinalitycol_, &from.ordinalitycol_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&ordinalitycol_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TableFunc)
}

void TableFunc::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&docexpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&docexpr_)) + sizeof(location_));
}

TableFunc::~TableFunc() {
  // @@protoc_insertion_point(destructor:pg_query.TableFunc)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TableFunc::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete docexpr_;
  if (this != internal_default_instance()) delete rowexpr_;
}

void TableFunc::ArenaDtor(void* object) {
  TableFunc* _this = reinterpret_cast< TableFunc* >(object);
  (void)_this;
}
void TableFunc::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TableFunc::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TableFunc& TableFunc::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  ns_uris_.Clear();
  ns_names_.Clear();
  colnames_.Clear();
  coltypes_.Clear();
  coltypmods_.Clear();
  colcollations_.Clear();
  colexprs_.Clear();
  coldefexprs_.Clear();
  if (GetArena() == nullptr && docexpr_ != nullptr) {
    delete docexpr_;
  }
  docexpr_ = nullptr;
  if (GetArena() == nullptr && rowexpr_ != nullptr) {
    delete rowexpr_;
  }
  rowexpr_ = nullptr;
  ::memset(&ordinalitycol_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&ordinalitycol_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TableFunc::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node ns_uris = 1 [json_name = "ns_uris"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_ns_uris(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node ns_names = 2 [json_name = "ns_names"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_ns_names(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node docexpr = 3 [json_name = "docexpr"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_docexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node rowexpr = 4 [json_name = "rowexpr"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_rowexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_colnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node coltypes = 6 [json_name = "coltypes"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_coltypes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node coltypmods = 7 [json_name = "coltypmods"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_coltypmods(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node colcollations = 8 [json_name = "colcollations"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_colcollations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node colexprs = 9 [json_name = "colexprs"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_colexprs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node coldefexprs = 10 [json_name = "coldefexprs"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_coldefexprs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 ordinalitycol = 11 [json_name = "ordinalitycol"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          ordinalitycol_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 12 [json_name = "location"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TableFunc::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableFunc)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node ns_uris = 1 [json_name = "ns_uris"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_ns_uris_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_ns_uris(i), target, stream);
  }

  // repeated .pg_query.Node ns_names = 2 [json_name = "ns_names"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_ns_names_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_ns_names(i), target, stream);
  }

  // .pg_query.Node docexpr = 3 [json_name = "docexpr"];
  if (this->has_docexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::docexpr(this), target, stream);
  }

  // .pg_query.Node rowexpr = 4 [json_name = "rowexpr"];
  if (this->has_rowexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::rowexpr(this), target, stream);
  }

  // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_colnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_colnames(i), target, stream);
  }

  // repeated .pg_query.Node coltypes = 6 [json_name = "coltypes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_coltypes_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_coltypes(i), target, stream);
  }

  // repeated .pg_query.Node coltypmods = 7 [json_name = "coltypmods"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_coltypmods_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_coltypmods(i), target, stream);
  }

  // repeated .pg_query.Node colcollations = 8 [json_name = "colcollations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_colcollations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_colcollations(i), target, stream);
  }

  // repeated .pg_query.Node colexprs = 9 [json_name = "colexprs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_colexprs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, this->_internal_colexprs(i), target, stream);
  }

  // repeated .pg_query.Node coldefexprs = 10 [json_name = "coldefexprs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_coldefexprs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, this->_internal_coldefexprs(i), target, stream);
  }

  // int32 ordinalitycol = 11 [json_name = "ordinalitycol"];
  if (this->ordinalitycol() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_ordinalitycol(), target);
  }

  // int32 location = 12 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(12, this->_internal_location(), 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:pg_query.TableFunc)
  return target;
}

size_t TableFunc::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TableFunc)
  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 .pg_query.Node ns_uris = 1 [json_name = "ns_uris"];
  total_size += 1UL * this->_internal_ns_uris_size();
  for (const auto& msg : this->ns_uris_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ns_names = 2 [json_name = "ns_names"];
  total_size += 1UL * this->_internal_ns_names_size();
  for (const auto& msg : this->ns_names_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
  total_size += 1UL * this->_internal_colnames_size();
  for (const auto& msg : this->colnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coltypes = 6 [json_name = "coltypes"];
  total_size += 1UL * this->_internal_coltypes_size();
  for (const auto& msg : this->coltypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coltypmods = 7 [json_name = "coltypmods"];
  total_size += 1UL * this->_internal_coltypmods_size();
  for (const auto& msg : this->coltypmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node colcollations = 8 [json_name = "colcollations"];
  total_size += 1UL * this->_internal_colcollations_size();
  for (const auto& msg : this->colcollations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node colexprs = 9 [json_name = "colexprs"];
  total_size += 1UL * this->_internal_colexprs_size();
  for (const auto& msg : this->colexprs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coldefexprs = 10 [json_name = "coldefexprs"];
  total_size += 1UL * this->_internal_coldefexprs_size();
  for (const auto& msg : this->coldefexprs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node docexpr = 3 [json_name = "docexpr"];
  if (this->has_docexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *docexpr_);
  }

  // .pg_query.Node rowexpr = 4 [json_name = "rowexpr"];
  if (this->has_rowexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *rowexpr_);
  }

  // int32 ordinalitycol = 11 [json_name = "ordinalitycol"];
  if (this->ordinalitycol() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_ordinalitycol());
  }

  // int32 location = 12 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  ns_uris_.MergeFrom(from.ns_uris_);
  ns_names_.MergeFrom(from.ns_names_);
  colnames_.MergeFrom(from.colnames_);
  coltypes_.MergeFrom(from.coltypes_);
  coltypmods_.MergeFrom(from.coltypmods_);
  colcollations_.MergeFrom(from.colcollations_);
  colexprs_.MergeFrom(from.colexprs_);
  coldefexprs_.MergeFrom(from.coldefexprs_);
  if (from.has_docexpr()) {
    _internal_mutable_docexpr()->::pg_query::Node::MergeFrom(from._internal_docexpr());
  }
  if (from.has_rowexpr()) {
    _internal_mutable_rowexpr()->::pg_query::Node::MergeFrom(from._internal_rowexpr());
  }
  if (from.ordinalitycol() != 0) {
    _internal_set_ordinalitycol(from._internal_ordinalitycol());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void TableFunc::InternalSwap(TableFunc* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ns_uris_.InternalSwap(&other->ns_uris_);
  ns_names_.InternalSwap(&other->ns_names_);
  colnames_.InternalSwap(&other->colnames_);
  coltypes_.InternalSwap(&other->coltypes_);
  coltypmods_.InternalSwap(&other->coltypmods_);
  colcollations_.InternalSwap(&other->colcollations_);
  colexprs_.InternalSwap(&other->colexprs_);
  coldefexprs_.InternalSwap(&other->coldefexprs_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableFunc, location_)
      + sizeof(TableFunc::location_)
      - PROTOBUF_FIELD_OFFSET(TableFunc, docexpr_)>(
          reinterpret_cast<char*>(&docexpr_),
          reinterpret_cast<char*>(&other->docexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TableFunc::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Expr::_Internal {
 public:
};

Expr::Expr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Expr)
}
Expr::Expr(const Expr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.Expr)
}

void Expr::SharedCtor() {
}

Expr::~Expr() {
  // @@protoc_insertion_point(destructor:pg_query.Expr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Expr::ArenaDtor(void* object) {
  Expr* _this = reinterpret_cast< Expr* >(object);
  (void)_this;
}
void Expr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Expr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Expr& Expr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Expr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* Expr::_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);
    CHK_(ptr);
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

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

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

size_t Expr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Expr)
  size_t total_size = 0;

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

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

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

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

}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata Expr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Var::_Internal {
 public:
  static const ::pg_query::Node& xpr(const Var* msg);
};

const ::pg_query::Node&
Var::_Internal::xpr(const Var* msg) {
  return *msg->xpr_;
}
Var::Var(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Var)
}
Var::Var(const Var& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&varno_, &from.varno_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&varno_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Var)
}

void Var::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

Var::~Var() {
  // @@protoc_insertion_point(destructor:pg_query.Var)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Var::ArenaDtor(void* object) {
  Var* _this = reinterpret_cast< Var* >(object);
  (void)_this;
}
void Var::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Var::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Var& Var::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&varno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&varno_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Var::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 varno = 2 [json_name = "varno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          varno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 varattno = 3 [json_name = "varattno"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          varattno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 vartype = 4 [json_name = "vartype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          vartype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 vartypmod = 5 [json_name = "vartypmod"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          vartypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 varcollid = 6 [json_name = "varcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          varcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 varlevelsup = 7 [json_name = "varlevelsup"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          varlevelsup_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 varnosyn = 8 [json_name = "varnosyn"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          varnosyn_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 varattnosyn = 9 [json_name = "varattnosyn"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          varattnosyn_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 10 [json_name = "location"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Var::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Var)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 varno = 2 [json_name = "varno"];
  if (this->varno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_varno(), target);
  }

  // int32 varattno = 3 [json_name = "varattno"];
  if (this->varattno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_varattno(), target);
  }

  // uint32 vartype = 4 [json_name = "vartype"];
  if (this->vartype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_vartype(), target);
  }

  // int32 vartypmod = 5 [json_name = "vartypmod"];
  if (this->vartypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_vartypmod(), target);
  }

  // uint32 varcollid = 6 [json_name = "varcollid"];
  if (this->varcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_varcollid(), target);
  }

  // uint32 varlevelsup = 7 [json_name = "varlevelsup"];
  if (this->varlevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_varlevelsup(), target);
  }

  // uint32 varnosyn = 8 [json_name = "varnosyn"];
  if (this->varnosyn() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(8, this->_internal_varnosyn(), target);
  }

  // int32 varattnosyn = 9 [json_name = "varattnosyn"];
  if (this->varattnosyn() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_varattnosyn(), target);
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_location(), 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:pg_query.Var)
  return target;
}

size_t Var::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Var)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 varno = 2 [json_name = "varno"];
  if (this->varno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_varno());
  }

  // int32 varattno = 3 [json_name = "varattno"];
  if (this->varattno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_varattno());
  }

  // uint32 vartype = 4 [json_name = "vartype"];
  if (this->vartype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_vartype());
  }

  // int32 vartypmod = 5 [json_name = "vartypmod"];
  if (this->vartypmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_vartypmod());
  }

  // uint32 varcollid = 6 [json_name = "varcollid"];
  if (this->varcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_varcollid());
  }

  // uint32 varlevelsup = 7 [json_name = "varlevelsup"];
  if (this->varlevelsup() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_varlevelsup());
  }

  // uint32 varnosyn = 8 [json_name = "varnosyn"];
  if (this->varnosyn() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_varnosyn());
  }

  // int32 varattnosyn = 9 [json_name = "varattnosyn"];
  if (this->varattnosyn() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_varattnosyn());
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.varno() != 0) {
    _internal_set_varno(from._internal_varno());
  }
  if (from.varattno() != 0) {
    _internal_set_varattno(from._internal_varattno());
  }
  if (from.vartype() != 0) {
    _internal_set_vartype(from._internal_vartype());
  }
  if (from.vartypmod() != 0) {
    _internal_set_vartypmod(from._internal_vartypmod());
  }
  if (from.varcollid() != 0) {
    _internal_set_varcollid(from._internal_varcollid());
  }
  if (from.varlevelsup() != 0) {
    _internal_set_varlevelsup(from._internal_varlevelsup());
  }
  if (from.varnosyn() != 0) {
    _internal_set_varnosyn(from._internal_varnosyn());
  }
  if (from.varattnosyn() != 0) {
    _internal_set_varattnosyn(from._internal_varattnosyn());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void Var::InternalSwap(Var* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Var, location_)
      + sizeof(Var::location_)
      - PROTOBUF_FIELD_OFFSET(Var, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Var::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Param::_Internal {
 public:
  static const ::pg_query::Node& xpr(const Param* msg);
};

const ::pg_query::Node&
Param::_Internal::xpr(const Param* msg) {
  return *msg->xpr_;
}
Param::Param(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Param)
}
Param::Param(const Param& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&paramkind_, &from.paramkind_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&paramkind_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Param)
}

void Param::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

Param::~Param() {
  // @@protoc_insertion_point(destructor:pg_query.Param)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void Param::ArenaDtor(void* object) {
  Param* _this = reinterpret_cast< Param* >(object);
  (void)_this;
}
void Param::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Param::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Param& Param::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&paramkind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&paramkind_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Param::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"];
      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_paramkind(static_cast<::pg_query::ParamKind>(val));
        } else goto handle_unusual;
        continue;
      // int32 paramid = 3 [json_name = "paramid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          paramid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 paramtype = 4 [json_name = "paramtype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          paramtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 paramtypmod = 5 [json_name = "paramtypmod"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          paramtypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 paramcollid = 6 [json_name = "paramcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          paramcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Param::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Param)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"];
  if (this->paramkind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_paramkind(), target);
  }

  // int32 paramid = 3 [json_name = "paramid"];
  if (this->paramid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_paramid(), target);
  }

  // uint32 paramtype = 4 [json_name = "paramtype"];
  if (this->paramtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_paramtype(), target);
  }

  // int32 paramtypmod = 5 [json_name = "paramtypmod"];
  if (this->paramtypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_paramtypmod(), target);
  }

  // uint32 paramcollid = 6 [json_name = "paramcollid"];
  if (this->paramcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_paramcollid(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.Param)
  return target;
}

size_t Param::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Param)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"];
  if (this->paramkind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_paramkind());
  }

  // int32 paramid = 3 [json_name = "paramid"];
  if (this->paramid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_paramid());
  }

  // uint32 paramtype = 4 [json_name = "paramtype"];
  if (this->paramtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_paramtype());
  }

  // int32 paramtypmod = 5 [json_name = "paramtypmod"];
  if (this->paramtypmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_paramtypmod());
  }

  // uint32 paramcollid = 6 [json_name = "paramcollid"];
  if (this->paramcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_paramcollid());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.paramkind() != 0) {
    _internal_set_paramkind(from._internal_paramkind());
  }
  if (from.paramid() != 0) {
    _internal_set_paramid(from._internal_paramid());
  }
  if (from.paramtype() != 0) {
    _internal_set_paramtype(from._internal_paramtype());
  }
  if (from.paramtypmod() != 0) {
    _internal_set_paramtypmod(from._internal_paramtypmod());
  }
  if (from.paramcollid() != 0) {
    _internal_set_paramcollid(from._internal_paramcollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void Param::InternalSwap(Param* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Param, location_)
      + sizeof(Param::location_)
      - PROTOBUF_FIELD_OFFSET(Param, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Param::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Aggref::_Internal {
 public:
  static const ::pg_query::Node& xpr(const Aggref* msg);
  static const ::pg_query::Node& aggfilter(const Aggref* msg);
};

const ::pg_query::Node&
Aggref::_Internal::xpr(const Aggref* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
Aggref::_Internal::aggfilter(const Aggref* msg) {
  return *msg->aggfilter_;
}
Aggref::Aggref(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  aggargtypes_(arena),
  aggdirectargs_(arena),
  args_(arena),
  aggorder_(arena),
  aggdistinct_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Aggref)
}
Aggref::Aggref(const Aggref& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      aggargtypes_(from.aggargtypes_),
      aggdirectargs_(from.aggdirectargs_),
      args_(from.args_),
      aggorder_(from.aggorder_),
      aggdistinct_(from.aggdistinct_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  aggkind_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_aggkind().empty()) {
    aggkind_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_aggkind(), 
      GetArena());
  }
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_aggfilter()) {
    aggfilter_ = new ::pg_query::Node(*from.aggfilter_);
  } else {
    aggfilter_ = nullptr;
  }
  ::memcpy(&aggfnoid_, &from.aggfnoid_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&aggfnoid_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Aggref)
}

void Aggref::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  aggkind_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

Aggref::~Aggref() {
  // @@protoc_insertion_point(destructor:pg_query.Aggref)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Aggref::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  aggkind_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete aggfilter_;
}

void Aggref::ArenaDtor(void* object) {
  Aggref* _this = reinterpret_cast< Aggref* >(object);
  (void)_this;
}
void Aggref::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Aggref::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Aggref& Aggref::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  aggargtypes_.Clear();
  aggdirectargs_.Clear();
  args_.Clear();
  aggorder_.Clear();
  aggdistinct_.Clear();
  aggkind_.ClearToEmpty();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && aggfilter_ != nullptr) {
    delete aggfilter_;
  }
  aggfilter_ = nullptr;
  ::memset(&aggfnoid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&aggfnoid_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Aggref::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          aggfnoid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 aggtype = 3 [json_name = "aggtype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          aggtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 aggcollid = 4 [json_name = "aggcollid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          aggcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 5 [json_name = "inputcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 aggtranstype = 6 [json_name = "aggtranstype"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          aggtranstype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node aggargtypes = 7 [json_name = "aggargtypes"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_aggargtypes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node aggdirectargs = 8 [json_name = "aggdirectargs"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_aggdirectargs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 9 [json_name = "args"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node aggorder = 10 [json_name = "aggorder"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_aggorder(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node aggdistinct = 11 [json_name = "aggdistinct"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_aggdistinct(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node aggfilter = 12 [json_name = "aggfilter"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_aggfilter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool aggstar = 13 [json_name = "aggstar"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          aggstar_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool aggvariadic = 14 [json_name = "aggvariadic"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          aggvariadic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string aggkind = 15 [json_name = "aggkind"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          auto str = _internal_mutable_aggkind();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Aggref.aggkind"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 agglevelsup = 16 [json_name = "agglevelsup"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          agglevelsup_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.AggSplit aggsplit = 17 [json_name = "aggsplit"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_aggsplit(static_cast<::pg_query::AggSplit>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 18 [json_name = "location"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Aggref::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Aggref)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
  if (this->aggfnoid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_aggfnoid(), target);
  }

  // uint32 aggtype = 3 [json_name = "aggtype"];
  if (this->aggtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_aggtype(), target);
  }

  // uint32 aggcollid = 4 [json_name = "aggcollid"];
  if (this->aggcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_aggcollid(), target);
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_inputcollid(), target);
  }

  // uint32 aggtranstype = 6 [json_name = "aggtranstype"];
  if (this->aggtranstype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_aggtranstype(), target);
  }

  // repeated .pg_query.Node aggargtypes = 7 [json_name = "aggargtypes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_aggargtypes_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_aggargtypes(i), target, stream);
  }

  // repeated .pg_query.Node aggdirectargs = 8 [json_name = "aggdirectargs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_aggdirectargs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_aggdirectargs(i), target, stream);
  }

  // repeated .pg_query.Node args = 9 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, this->_internal_args(i), target, stream);
  }

  // repeated .pg_query.Node aggorder = 10 [json_name = "aggorder"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_aggorder_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, this->_internal_aggorder(i), target, stream);
  }

  // repeated .pg_query.Node aggdistinct = 11 [json_name = "aggdistinct"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_aggdistinct_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, this->_internal_aggdistinct(i), target, stream);
  }

  // .pg_query.Node aggfilter = 12 [json_name = "aggfilter"];
  if (this->has_aggfilter()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        12, _Internal::aggfilter(this), target, stream);
  }

  // bool aggstar = 13 [json_name = "aggstar"];
  if (this->aggstar() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(13, this->_internal_aggstar(), target);
  }

  // bool aggvariadic = 14 [json_name = "aggvariadic"];
  if (this->aggvariadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(14, this->_internal_aggvariadic(), target);
  }

  // string aggkind = 15 [json_name = "aggkind"];
  if (this->aggkind().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_aggkind().data(), static_cast<int>(this->_internal_aggkind().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Aggref.aggkind");
    target = stream->WriteStringMaybeAliased(
        15, this->_internal_aggkind(), target);
  }

  // uint32 agglevelsup = 16 [json_name = "agglevelsup"];
  if (this->agglevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(16, this->_internal_agglevelsup(), target);
  }

  // .pg_query.AggSplit aggsplit = 17 [json_name = "aggsplit"];
  if (this->aggsplit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      17, this->_internal_aggsplit(), target);
  }

  // int32 location = 18 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(18, this->_internal_location(), 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:pg_query.Aggref)
  return target;
}

size_t Aggref::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Aggref)
  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 .pg_query.Node aggargtypes = 7 [json_name = "aggargtypes"];
  total_size += 1UL * this->_internal_aggargtypes_size();
  for (const auto& msg : this->aggargtypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node aggdirectargs = 8 [json_name = "aggdirectargs"];
  total_size += 1UL * this->_internal_aggdirectargs_size();
  for (const auto& msg : this->aggdirectargs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node args = 9 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node aggorder = 10 [json_name = "aggorder"];
  total_size += 1UL * this->_internal_aggorder_size();
  for (const auto& msg : this->aggorder_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node aggdistinct = 11 [json_name = "aggdistinct"];
  total_size += 1UL * this->_internal_aggdistinct_size();
  for (const auto& msg : this->aggdistinct_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string aggkind = 15 [json_name = "aggkind"];
  if (this->aggkind().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_aggkind());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node aggfilter = 12 [json_name = "aggfilter"];
  if (this->has_aggfilter()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *aggfilter_);
  }

  // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
  if (this->aggfnoid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_aggfnoid());
  }

  // uint32 aggtype = 3 [json_name = "aggtype"];
  if (this->aggtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_aggtype());
  }

  // uint32 aggcollid = 4 [json_name = "aggcollid"];
  if (this->aggcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_aggcollid());
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // uint32 aggtranstype = 6 [json_name = "aggtranstype"];
  if (this->aggtranstype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_aggtranstype());
  }

  // bool aggstar = 13 [json_name = "aggstar"];
  if (this->aggstar() != 0) {
    total_size += 1 + 1;
  }

  // bool aggvariadic = 14 [json_name = "aggvariadic"];
  if (this->aggvariadic() != 0) {
    total_size += 1 + 1;
  }

  // uint32 agglevelsup = 16 [json_name = "agglevelsup"];
  if (this->agglevelsup() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_agglevelsup());
  }

  // .pg_query.AggSplit aggsplit = 17 [json_name = "aggsplit"];
  if (this->aggsplit() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_aggsplit());
  }

  // int32 location = 18 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  aggargtypes_.MergeFrom(from.aggargtypes_);
  aggdirectargs_.MergeFrom(from.aggdirectargs_);
  args_.MergeFrom(from.args_);
  aggorder_.MergeFrom(from.aggorder_);
  aggdistinct_.MergeFrom(from.aggdistinct_);
  if (from.aggkind().size() > 0) {
    _internal_set_aggkind(from._internal_aggkind());
  }
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_aggfilter()) {
    _internal_mutable_aggfilter()->::pg_query::Node::MergeFrom(from._internal_aggfilter());
  }
  if (from.aggfnoid() != 0) {
    _internal_set_aggfnoid(from._internal_aggfnoid());
  }
  if (from.aggtype() != 0) {
    _internal_set_aggtype(from._internal_aggtype());
  }
  if (from.aggcollid() != 0) {
    _internal_set_aggcollid(from._internal_aggcollid());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.aggtranstype() != 0) {
    _internal_set_aggtranstype(from._internal_aggtranstype());
  }
  if (from.aggstar() != 0) {
    _internal_set_aggstar(from._internal_aggstar());
  }
  if (from.aggvariadic() != 0) {
    _internal_set_aggvariadic(from._internal_aggvariadic());
  }
  if (from.agglevelsup() != 0) {
    _internal_set_agglevelsup(from._internal_agglevelsup());
  }
  if (from.aggsplit() != 0) {
    _internal_set_aggsplit(from._internal_aggsplit());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void Aggref::InternalSwap(Aggref* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  aggargtypes_.InternalSwap(&other->aggargtypes_);
  aggdirectargs_.InternalSwap(&other->aggdirectargs_);
  args_.InternalSwap(&other->args_);
  aggorder_.InternalSwap(&other->aggorder_);
  aggdistinct_.InternalSwap(&other->aggdistinct_);
  aggkind_.Swap(&other->aggkind_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Aggref, location_)
      + sizeof(Aggref::location_)
      - PROTOBUF_FIELD_OFFSET(Aggref, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Aggref::GetMetadata() const {
  return GetMetadataStatic();
}


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

class GroupingFunc::_Internal {
 public:
  static const ::pg_query::Node& xpr(const GroupingFunc* msg);
};

const ::pg_query::Node&
GroupingFunc::_Internal::xpr(const GroupingFunc* msg) {
  return *msg->xpr_;
}
GroupingFunc::GroupingFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena),
  refs_(arena),
  cols_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GroupingFunc)
}
GroupingFunc::GroupingFunc(const GroupingFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_),
      refs_(from.refs_),
      cols_(from.cols_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&agglevelsup_, &from.agglevelsup_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&agglevelsup_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GroupingFunc)
}

void GroupingFunc::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

GroupingFunc::~GroupingFunc() {
  // @@protoc_insertion_point(destructor:pg_query.GroupingFunc)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void GroupingFunc::ArenaDtor(void* object) {
  GroupingFunc* _this = reinterpret_cast< GroupingFunc* >(object);
  (void)_this;
}
void GroupingFunc::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GroupingFunc::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GroupingFunc& GroupingFunc::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  refs_.Clear();
  cols_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&agglevelsup_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&agglevelsup_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GroupingFunc::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 2 [json_name = "args"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node refs = 3 [json_name = "refs"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_refs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node cols = 4 [json_name = "cols"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_cols(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // uint32 agglevelsup = 5 [json_name = "agglevelsup"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          agglevelsup_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 6 [json_name = "location"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* GroupingFunc::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GroupingFunc)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_args(i), target, stream);
  }

  // repeated .pg_query.Node refs = 3 [json_name = "refs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_refs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_refs(i), target, stream);
  }

  // repeated .pg_query.Node cols = 4 [json_name = "cols"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_cols_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_cols(i), target, stream);
  }

  // uint32 agglevelsup = 5 [json_name = "agglevelsup"];
  if (this->agglevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_agglevelsup(), target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_location(), 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:pg_query.GroupingFunc)
  return target;
}

size_t GroupingFunc::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.GroupingFunc)
  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 .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node refs = 3 [json_name = "refs"];
  total_size += 1UL * this->_internal_refs_size();
  for (const auto& msg : this->refs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node cols = 4 [json_name = "cols"];
  total_size += 1UL * this->_internal_cols_size();
  for (const auto& msg : this->cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 agglevelsup = 5 [json_name = "agglevelsup"];
  if (this->agglevelsup() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_agglevelsup());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  refs_.MergeFrom(from.refs_);
  cols_.MergeFrom(from.cols_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.agglevelsup() != 0) {
    _internal_set_agglevelsup(from._internal_agglevelsup());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void GroupingFunc::InternalSwap(GroupingFunc* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  refs_.InternalSwap(&other->refs_);
  cols_.InternalSwap(&other->cols_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GroupingFunc, location_)
      + sizeof(GroupingFunc::location_)
      - PROTOBUF_FIELD_OFFSET(GroupingFunc, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GroupingFunc::GetMetadata() const {
  return GetMetadataStatic();
}


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

class WindowFunc::_Internal {
 public:
  static const ::pg_query::Node& xpr(const WindowFunc* msg);
  static const ::pg_query::Node& aggfilter(const WindowFunc* msg);
};

const ::pg_query::Node&
WindowFunc::_Internal::xpr(const WindowFunc* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
WindowFunc::_Internal::aggfilter(const WindowFunc* msg) {
  return *msg->aggfilter_;
}
WindowFunc::WindowFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowFunc)
}
WindowFunc::WindowFunc(const WindowFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_aggfilter()) {
    aggfilter_ = new ::pg_query::Node(*from.aggfilter_);
  } else {
    aggfilter_ = nullptr;
  }
  ::memcpy(&winfnoid_, &from.winfnoid_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&winfnoid_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WindowFunc)
}

void WindowFunc::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

WindowFunc::~WindowFunc() {
  // @@protoc_insertion_point(destructor:pg_query.WindowFunc)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void WindowFunc::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete aggfilter_;
}

void WindowFunc::ArenaDtor(void* object) {
  WindowFunc* _this = reinterpret_cast< WindowFunc* >(object);
  (void)_this;
}
void WindowFunc::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void WindowFunc::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const WindowFunc& WindowFunc::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && aggfilter_ != nullptr) {
    delete aggfilter_;
  }
  aggfilter_ = nullptr;
  ::memset(&winfnoid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&winfnoid_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WindowFunc::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 winfnoid = 2 [json_name = "winfnoid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          winfnoid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 wintype = 3 [json_name = "wintype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          wintype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 wincollid = 4 [json_name = "wincollid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          wincollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 5 [json_name = "inputcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 6 [json_name = "args"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_aggfilter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 winref = 8 [json_name = "winref"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          winref_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool winstar = 9 [json_name = "winstar"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          winstar_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool winagg = 10 [json_name = "winagg"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          winagg_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 11 [json_name = "location"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* WindowFunc::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowFunc)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 winfnoid = 2 [json_name = "winfnoid"];
  if (this->winfnoid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_winfnoid(), target);
  }

  // uint32 wintype = 3 [json_name = "wintype"];
  if (this->wintype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_wintype(), target);
  }

  // uint32 wincollid = 4 [json_name = "wincollid"];
  if (this->wincollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_wincollid(), target);
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_args(i), target, stream);
  }

  // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
  if (this->has_aggfilter()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::aggfilter(this), target, stream);
  }

  // uint32 winref = 8 [json_name = "winref"];
  if (this->winref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(8, this->_internal_winref(), target);
  }

  // bool winstar = 9 [json_name = "winstar"];
  if (this->winstar() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(9, this->_internal_winstar(), target);
  }

  // bool winagg = 10 [json_name = "winagg"];
  if (this->winagg() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(10, this->_internal_winagg(), target);
  }

  // int32 location = 11 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_location(), 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:pg_query.WindowFunc)
  return target;
}

size_t WindowFunc::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.WindowFunc)
  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 .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
  if (this->has_aggfilter()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *aggfilter_);
  }

  // uint32 winfnoid = 2 [json_name = "winfnoid"];
  if (this->winfnoid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_winfnoid());
  }

  // uint32 wintype = 3 [json_name = "wintype"];
  if (this->wintype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_wintype());
  }

  // uint32 wincollid = 4 [json_name = "wincollid"];
  if (this->wincollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_wincollid());
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // uint32 winref = 8 [json_name = "winref"];
  if (this->winref() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_winref());
  }

  // bool winstar = 9 [json_name = "winstar"];
  if (this->winstar() != 0) {
    total_size += 1 + 1;
  }

  // bool winagg = 10 [json_name = "winagg"];
  if (this->winagg() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 11 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_aggfilter()) {
    _internal_mutable_aggfilter()->::pg_query::Node::MergeFrom(from._internal_aggfilter());
  }
  if (from.winfnoid() != 0) {
    _internal_set_winfnoid(from._internal_winfnoid());
  }
  if (from.wintype() != 0) {
    _internal_set_wintype(from._internal_wintype());
  }
  if (from.wincollid() != 0) {
    _internal_set_wincollid(from._internal_wincollid());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.winref() != 0) {
    _internal_set_winref(from._internal_winref());
  }
  if (from.winstar() != 0) {
    _internal_set_winstar(from._internal_winstar());
  }
  if (from.winagg() != 0) {
    _internal_set_winagg(from._internal_winagg());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void WindowFunc::InternalSwap(WindowFunc* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowFunc, location_)
      + sizeof(WindowFunc::location_)
      - PROTOBUF_FIELD_OFFSET(WindowFunc, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WindowFunc::GetMetadata() const {
  return GetMetadataStatic();
}


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

class SubscriptingRef::_Internal {
 public:
  static const ::pg_query::Node& xpr(const SubscriptingRef* msg);
  static const ::pg_query::Node& refexpr(const SubscriptingRef* msg);
  static const ::pg_query::Node& refassgnexpr(const SubscriptingRef* msg);
};

const ::pg_query::Node&
SubscriptingRef::_Internal::xpr(const SubscriptingRef* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
SubscriptingRef::_Internal::refexpr(const SubscriptingRef* msg) {
  return *msg->refexpr_;
}
const ::pg_query::Node&
SubscriptingRef::_Internal::refassgnexpr(const SubscriptingRef* msg) {
  return *msg->refassgnexpr_;
}
SubscriptingRef::SubscriptingRef(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  refupperindexpr_(arena),
  reflowerindexpr_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubscriptingRef)
}
SubscriptingRef::SubscriptingRef(const SubscriptingRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      refupperindexpr_(from.refupperindexpr_),
      reflowerindexpr_(from.reflowerindexpr_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_refexpr()) {
    refexpr_ = new ::pg_query::Node(*from.refexpr_);
  } else {
    refexpr_ = nullptr;
  }
  if (from._internal_has_refassgnexpr()) {
    refassgnexpr_ = new ::pg_query::Node(*from.refassgnexpr_);
  } else {
    refassgnexpr_ = nullptr;
  }
  ::memcpy(&refcontainertype_, &from.refcontainertype_,
    static_cast<size_t>(reinterpret_cast<char*>(&refcollid_) -
    reinterpret_cast<char*>(&refcontainertype_)) + sizeof(refcollid_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SubscriptingRef)
}

void SubscriptingRef::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&refcollid_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(refcollid_));
}

SubscriptingRef::~SubscriptingRef() {
  // @@protoc_insertion_point(destructor:pg_query.SubscriptingRef)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SubscriptingRef::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete refexpr_;
  if (this != internal_default_instance()) delete refassgnexpr_;
}

void SubscriptingRef::ArenaDtor(void* object) {
  SubscriptingRef* _this = reinterpret_cast< SubscriptingRef* >(object);
  (void)_this;
}
void SubscriptingRef::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SubscriptingRef::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SubscriptingRef& SubscriptingRef::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  refupperindexpr_.Clear();
  reflowerindexpr_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && refexpr_ != nullptr) {
    delete refexpr_;
  }
  refexpr_ = nullptr;
  if (GetArena() == nullptr && refassgnexpr_ != nullptr) {
    delete refassgnexpr_;
  }
  refassgnexpr_ = nullptr;
  ::memset(&refcontainertype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&refcollid_) -
      reinterpret_cast<char*>(&refcontainertype_)) + sizeof(refcollid_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SubscriptingRef::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          refcontainertype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 refelemtype = 3 [json_name = "refelemtype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          refelemtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 reftypmod = 4 [json_name = "reftypmod"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          reftypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 refcollid = 5 [json_name = "refcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          refcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node refupperindexpr = 6 [json_name = "refupperindexpr"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_refupperindexpr(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node reflowerindexpr = 7 [json_name = "reflowerindexpr"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_reflowerindexpr(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node refexpr = 8 [json_name = "refexpr"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_refexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node refassgnexpr = 9 [json_name = "refassgnexpr"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_refassgnexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SubscriptingRef::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SubscriptingRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
  if (this->refcontainertype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_refcontainertype(), target);
  }

  // uint32 refelemtype = 3 [json_name = "refelemtype"];
  if (this->refelemtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_refelemtype(), target);
  }

  // int32 reftypmod = 4 [json_name = "reftypmod"];
  if (this->reftypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_reftypmod(), target);
  }

  // uint32 refcollid = 5 [json_name = "refcollid"];
  if (this->refcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_refcollid(), target);
  }

  // repeated .pg_query.Node refupperindexpr = 6 [json_name = "refupperindexpr"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_refupperindexpr_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_refupperindexpr(i), target, stream);
  }

  // repeated .pg_query.Node reflowerindexpr = 7 [json_name = "reflowerindexpr"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_reflowerindexpr_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_reflowerindexpr(i), target, stream);
  }

  // .pg_query.Node refexpr = 8 [json_name = "refexpr"];
  if (this->has_refexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        8, _Internal::refexpr(this), target, stream);
  }

  // .pg_query.Node refassgnexpr = 9 [json_name = "refassgnexpr"];
  if (this->has_refassgnexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        9, _Internal::refassgnexpr(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:pg_query.SubscriptingRef)
  return target;
}

size_t SubscriptingRef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SubscriptingRef)
  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 .pg_query.Node refupperindexpr = 6 [json_name = "refupperindexpr"];
  total_size += 1UL * this->_internal_refupperindexpr_size();
  for (const auto& msg : this->refupperindexpr_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node reflowerindexpr = 7 [json_name = "reflowerindexpr"];
  total_size += 1UL * this->_internal_reflowerindexpr_size();
  for (const auto& msg : this->reflowerindexpr_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node refexpr = 8 [json_name = "refexpr"];
  if (this->has_refexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *refexpr_);
  }

  // .pg_query.Node refassgnexpr = 9 [json_name = "refassgnexpr"];
  if (this->has_refassgnexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *refassgnexpr_);
  }

  // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
  if (this->refcontainertype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_refcontainertype());
  }

  // uint32 refelemtype = 3 [json_name = "refelemtype"];
  if (this->refelemtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_refelemtype());
  }

  // int32 reftypmod = 4 [json_name = "reftypmod"];
  if (this->reftypmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_reftypmod());
  }

  // uint32 refcollid = 5 [json_name = "refcollid"];
  if (this->refcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_refcollid());
  }

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

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

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

  refupperindexpr_.MergeFrom(from.refupperindexpr_);
  reflowerindexpr_.MergeFrom(from.reflowerindexpr_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_refexpr()) {
    _internal_mutable_refexpr()->::pg_query::Node::MergeFrom(from._internal_refexpr());
  }
  if (from.has_refassgnexpr()) {
    _internal_mutable_refassgnexpr()->::pg_query::Node::MergeFrom(from._internal_refassgnexpr());
  }
  if (from.refcontainertype() != 0) {
    _internal_set_refcontainertype(from._internal_refcontainertype());
  }
  if (from.refelemtype() != 0) {
    _internal_set_refelemtype(from._internal_refelemtype());
  }
  if (from.reftypmod() != 0) {
    _internal_set_reftypmod(from._internal_reftypmod());
  }
  if (from.refcollid() != 0) {
    _internal_set_refcollid(from._internal_refcollid());
  }
}

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

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

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

void SubscriptingRef::InternalSwap(SubscriptingRef* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  refupperindexpr_.InternalSwap(&other->refupperindexpr_);
  reflowerindexpr_.InternalSwap(&other->reflowerindexpr_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubscriptingRef, refcollid_)
      + sizeof(SubscriptingRef::refcollid_)
      - PROTOBUF_FIELD_OFFSET(SubscriptingRef, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SubscriptingRef::GetMetadata() const {
  return GetMetadataStatic();
}


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

class FuncExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const FuncExpr* msg);
};

const ::pg_query::Node&
FuncExpr::_Internal::xpr(const FuncExpr* msg) {
  return *msg->xpr_;
}
FuncExpr::FuncExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FuncExpr)
}
FuncExpr::FuncExpr(const FuncExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&funcid_, &from.funcid_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&funcid_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FuncExpr)
}

void FuncExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

FuncExpr::~FuncExpr() {
  // @@protoc_insertion_point(destructor:pg_query.FuncExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void FuncExpr::ArenaDtor(void* object) {
  FuncExpr* _this = reinterpret_cast< FuncExpr* >(object);
  (void)_this;
}
void FuncExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void FuncExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FuncExpr& FuncExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&funcid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&funcid_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FuncExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 funcid = 2 [json_name = "funcid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          funcid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          funcresulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool funcretset = 4 [json_name = "funcretset"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          funcretset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool funcvariadic = 5 [json_name = "funcvariadic"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          funcvariadic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_funcformat(static_cast<::pg_query::CoercionForm>(val));
        } else goto handle_unusual;
        continue;
      // uint32 funccollid = 7 [json_name = "funccollid"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          funccollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 8 [json_name = "inputcollid"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 9 [json_name = "args"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 10 [json_name = "location"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* FuncExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FuncExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 funcid = 2 [json_name = "funcid"];
  if (this->funcid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_funcid(), target);
  }

  // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
  if (this->funcresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_funcresulttype(), target);
  }

  // bool funcretset = 4 [json_name = "funcretset"];
  if (this->funcretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_funcretset(), target);
  }

  // bool funcvariadic = 5 [json_name = "funcvariadic"];
  if (this->funcvariadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_funcvariadic(), target);
  }

  // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
  if (this->funcformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      6, this->_internal_funcformat(), target);
  }

  // uint32 funccollid = 7 [json_name = "funccollid"];
  if (this->funccollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_funccollid(), target);
  }

  // uint32 inputcollid = 8 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(8, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 9 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, this->_internal_args(i), target, stream);
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_location(), 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:pg_query.FuncExpr)
  return target;
}

size_t FuncExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.FuncExpr)
  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 .pg_query.Node args = 9 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 funcid = 2 [json_name = "funcid"];
  if (this->funcid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_funcid());
  }

  // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
  if (this->funcresulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_funcresulttype());
  }

  // bool funcretset = 4 [json_name = "funcretset"];
  if (this->funcretset() != 0) {
    total_size += 1 + 1;
  }

  // bool funcvariadic = 5 [json_name = "funcvariadic"];
  if (this->funcvariadic() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
  if (this->funcformat() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_funcformat());
  }

  // uint32 funccollid = 7 [json_name = "funccollid"];
  if (this->funccollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_funccollid());
  }

  // uint32 inputcollid = 8 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.funcid() != 0) {
    _internal_set_funcid(from._internal_funcid());
  }
  if (from.funcresulttype() != 0) {
    _internal_set_funcresulttype(from._internal_funcresulttype());
  }
  if (from.funcretset() != 0) {
    _internal_set_funcretset(from._internal_funcretset());
  }
  if (from.funcvariadic() != 0) {
    _internal_set_funcvariadic(from._internal_funcvariadic());
  }
  if (from.funcformat() != 0) {
    _internal_set_funcformat(from._internal_funcformat());
  }
  if (from.funccollid() != 0) {
    _internal_set_funccollid(from._internal_funccollid());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void FuncExpr::InternalSwap(FuncExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FuncExpr, location_)
      + sizeof(FuncExpr::location_)
      - PROTOBUF_FIELD_OFFSET(FuncExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FuncExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class NamedArgExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const NamedArgExpr* msg);
  static const ::pg_query::Node& arg(const NamedArgExpr* msg);
};

const ::pg_query::Node&
NamedArgExpr::_Internal::xpr(const NamedArgExpr* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
NamedArgExpr::_Internal::arg(const NamedArgExpr* msg) {
  return *msg->arg_;
}
NamedArgExpr::NamedArgExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NamedArgExpr)
}
NamedArgExpr::NamedArgExpr(const NamedArgExpr& 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(), 
      GetArena());
  }
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&argnumber_, &from.argnumber_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&argnumber_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NamedArgExpr)
}

void NamedArgExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

NamedArgExpr::~NamedArgExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NamedArgExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void NamedArgExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void NamedArgExpr::ArenaDtor(void* object) {
  NamedArgExpr* _this = reinterpret_cast< NamedArgExpr* >(object);
  (void)_this;
}
void NamedArgExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void NamedArgExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const NamedArgExpr& NamedArgExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  name_.ClearToEmpty();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&argnumber_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&argnumber_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* NamedArgExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string name = 3 [json_name = "name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.NamedArgExpr.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 argnumber = 4 [json_name = "argnumber"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          argnumber_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* NamedArgExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NamedArgExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.NamedArgExpr.name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_name(), target);
  }

  // int32 argnumber = 4 [json_name = "argnumber"];
  if (this->argnumber() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_argnumber(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.NamedArgExpr)
  return target;
}

size_t NamedArgExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.NamedArgExpr)
  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 = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // int32 argnumber = 4 [json_name = "argnumber"];
  if (this->argnumber() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_argnumber());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.argnumber() != 0) {
    _internal_set_argnumber(from._internal_argnumber());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void NamedArgExpr::InternalSwap(NamedArgExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NamedArgExpr, location_)
      + sizeof(NamedArgExpr::location_)
      - PROTOBUF_FIELD_OFFSET(NamedArgExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NamedArgExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class OpExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const OpExpr* msg);
};

const ::pg_query::Node&
OpExpr::_Internal::xpr(const OpExpr* msg) {
  return *msg->xpr_;
}
OpExpr::OpExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.OpExpr)
}
OpExpr::OpExpr(const OpExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&opno_, &from.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.OpExpr)
}

void OpExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

OpExpr::~OpExpr() {
  // @@protoc_insertion_point(destructor:pg_query.OpExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void OpExpr::ArenaDtor(void* object) {
  OpExpr* _this = reinterpret_cast< OpExpr* >(object);
  (void)_this;
}
void OpExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void OpExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const OpExpr& OpExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&opno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* OpExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opno = 2 [json_name = "opno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          opno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opfuncid = 3 [json_name = "opfuncid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          opfuncid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opresulttype = 4 [json_name = "opresulttype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          opresulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool opretset = 5 [json_name = "opretset"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          opretset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opcollid = 6 [json_name = "opcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          opcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 7 [json_name = "inputcollid"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 8 [json_name = "args"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 9 [json_name = "location"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* OpExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OpExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_opresulttype(), target);
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_args(i), target, stream);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_location(), 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:pg_query.OpExpr)
  return target;
}

size_t OpExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.OpExpr)
  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 .pg_query.Node args = 8 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opfuncid());
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->opresulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opresulttype());
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->opretset() != 0) {
    total_size += 1 + 1;
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->opcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opcollid());
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.opno() != 0) {
    _internal_set_opno(from._internal_opno());
  }
  if (from.opfuncid() != 0) {
    _internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from.opresulttype() != 0) {
    _internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from.opretset() != 0) {
    _internal_set_opretset(from._internal_opretset());
  }
  if (from.opcollid() != 0) {
    _internal_set_opcollid(from._internal_opcollid());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void OpExpr::InternalSwap(OpExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OpExpr, location_)
      + sizeof(OpExpr::location_)
      - PROTOBUF_FIELD_OFFSET(OpExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata OpExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class DistinctExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const DistinctExpr* msg);
};

const ::pg_query::Node&
DistinctExpr::_Internal::xpr(const DistinctExpr* msg) {
  return *msg->xpr_;
}
DistinctExpr::DistinctExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DistinctExpr)
}
DistinctExpr::DistinctExpr(const DistinctExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&opno_, &from.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DistinctExpr)
}

void DistinctExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

DistinctExpr::~DistinctExpr() {
  // @@protoc_insertion_point(destructor:pg_query.DistinctExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void DistinctExpr::ArenaDtor(void* object) {
  DistinctExpr* _this = reinterpret_cast< DistinctExpr* >(object);
  (void)_this;
}
void DistinctExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DistinctExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DistinctExpr& DistinctExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&opno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DistinctExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opno = 2 [json_name = "opno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          opno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opfuncid = 3 [json_name = "opfuncid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          opfuncid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opresulttype = 4 [json_name = "opresulttype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          opresulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool opretset = 5 [json_name = "opretset"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          opretset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opcollid = 6 [json_name = "opcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          opcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 7 [json_name = "inputcollid"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 8 [json_name = "args"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 9 [json_name = "location"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DistinctExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DistinctExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_opresulttype(), target);
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_args(i), target, stream);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_location(), 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:pg_query.DistinctExpr)
  return target;
}

size_t DistinctExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DistinctExpr)
  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 .pg_query.Node args = 8 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opfuncid());
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->opresulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opresulttype());
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->opretset() != 0) {
    total_size += 1 + 1;
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->opcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opcollid());
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.opno() != 0) {
    _internal_set_opno(from._internal_opno());
  }
  if (from.opfuncid() != 0) {
    _internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from.opresulttype() != 0) {
    _internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from.opretset() != 0) {
    _internal_set_opretset(from._internal_opretset());
  }
  if (from.opcollid() != 0) {
    _internal_set_opcollid(from._internal_opcollid());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void DistinctExpr::InternalSwap(DistinctExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DistinctExpr, location_)
      + sizeof(DistinctExpr::location_)
      - PROTOBUF_FIELD_OFFSET(DistinctExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DistinctExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class NullIfExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const NullIfExpr* msg);
};

const ::pg_query::Node&
NullIfExpr::_Internal::xpr(const NullIfExpr* msg) {
  return *msg->xpr_;
}
NullIfExpr::NullIfExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NullIfExpr)
}
NullIfExpr::NullIfExpr(const NullIfExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&opno_, &from.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NullIfExpr)
}

void NullIfExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

NullIfExpr::~NullIfExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NullIfExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void NullIfExpr::ArenaDtor(void* object) {
  NullIfExpr* _this = reinterpret_cast< NullIfExpr* >(object);
  (void)_this;
}
void NullIfExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void NullIfExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const NullIfExpr& NullIfExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&opno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* NullIfExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opno = 2 [json_name = "opno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          opno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opfuncid = 3 [json_name = "opfuncid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          opfuncid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opresulttype = 4 [json_name = "opresulttype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          opresulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool opretset = 5 [json_name = "opretset"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          opretset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opcollid = 6 [json_name = "opcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          opcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 7 [json_name = "inputcollid"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 8 [json_name = "args"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 9 [json_name = "location"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* NullIfExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NullIfExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_opresulttype(), target);
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_args(i), target, stream);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_location(), 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:pg_query.NullIfExpr)
  return target;
}

size_t NullIfExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.NullIfExpr)
  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 .pg_query.Node args = 8 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opfuncid());
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->opresulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opresulttype());
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->opretset() != 0) {
    total_size += 1 + 1;
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->opcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opcollid());
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.opno() != 0) {
    _internal_set_opno(from._internal_opno());
  }
  if (from.opfuncid() != 0) {
    _internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from.opresulttype() != 0) {
    _internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from.opretset() != 0) {
    _internal_set_opretset(from._internal_opretset());
  }
  if (from.opcollid() != 0) {
    _internal_set_opcollid(from._internal_opcollid());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void NullIfExpr::InternalSwap(NullIfExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NullIfExpr, location_)
      + sizeof(NullIfExpr::location_)
      - PROTOBUF_FIELD_OFFSET(NullIfExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NullIfExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class ScalarArrayOpExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const ScalarArrayOpExpr* msg);
};

const ::pg_query::Node&
ScalarArrayOpExpr::_Internal::xpr(const ScalarArrayOpExpr* msg) {
  return *msg->xpr_;
}
ScalarArrayOpExpr::ScalarArrayOpExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScalarArrayOpExpr)
}
ScalarArrayOpExpr::ScalarArrayOpExpr(const ScalarArrayOpExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&opno_, &from.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ScalarArrayOpExpr)
}

void ScalarArrayOpExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

ScalarArrayOpExpr::~ScalarArrayOpExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ScalarArrayOpExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void ScalarArrayOpExpr::ArenaDtor(void* object) {
  ScalarArrayOpExpr* _this = reinterpret_cast< ScalarArrayOpExpr* >(object);
  (void)_this;
}
void ScalarArrayOpExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ScalarArrayOpExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ScalarArrayOpExpr& ScalarArrayOpExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&opno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&opno_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ScalarArrayOpExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opno = 2 [json_name = "opno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          opno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 opfuncid = 3 [json_name = "opfuncid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          opfuncid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool use_or = 4 [json_name = "useOr"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          use_or_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 5 [json_name = "inputcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 6 [json_name = "args"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ScalarArrayOpExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ScalarArrayOpExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // bool use_or = 4 [json_name = "useOr"];
  if (this->use_or() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_use_or(), target);
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_args(i), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.ScalarArrayOpExpr)
  return target;
}

size_t ScalarArrayOpExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ScalarArrayOpExpr)
  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 .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->opno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->opfuncid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_opfuncid());
  }

  // bool use_or = 4 [json_name = "useOr"];
  if (this->use_or() != 0) {
    total_size += 1 + 1;
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.opno() != 0) {
    _internal_set_opno(from._internal_opno());
  }
  if (from.opfuncid() != 0) {
    _internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from.use_or() != 0) {
    _internal_set_use_or(from._internal_use_or());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void ScalarArrayOpExpr::InternalSwap(ScalarArrayOpExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, location_)
      + sizeof(ScalarArrayOpExpr::location_)
      - PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ScalarArrayOpExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class BoolExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const BoolExpr* msg);
};

const ::pg_query::Node&
BoolExpr::_Internal::xpr(const BoolExpr* msg) {
  return *msg->xpr_;
}
BoolExpr::BoolExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.BoolExpr)
}
BoolExpr::BoolExpr(const BoolExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&boolop_, &from.boolop_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&boolop_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.BoolExpr)
}

void BoolExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

BoolExpr::~BoolExpr() {
  // @@protoc_insertion_point(destructor:pg_query.BoolExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void BoolExpr::ArenaDtor(void* object) {
  BoolExpr* _this = reinterpret_cast< BoolExpr* >(object);
  (void)_this;
}
void BoolExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void BoolExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const BoolExpr& BoolExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&boolop_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&boolop_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* BoolExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
      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_boolop(static_cast<::pg_query::BoolExprType>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 3 [json_name = "args"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* BoolExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.BoolExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
  if (this->boolop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_boolop(), target);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_args(i), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), 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:pg_query.BoolExpr)
  return target;
}

size_t BoolExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.BoolExpr)
  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 .pg_query.Node args = 3 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
  if (this->boolop() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_boolop());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.boolop() != 0) {
    _internal_set_boolop(from._internal_boolop());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void BoolExpr::InternalSwap(BoolExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BoolExpr, location_)
      + sizeof(BoolExpr::location_)
      - PROTOBUF_FIELD_OFFSET(BoolExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata BoolExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class SubLink::_Internal {
 public:
  static const ::pg_query::Node& xpr(const SubLink* msg);
  static const ::pg_query::Node& testexpr(const SubLink* msg);
  static const ::pg_query::Node& subselect(const SubLink* msg);
};

const ::pg_query::Node&
SubLink::_Internal::xpr(const SubLink* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
SubLink::_Internal::testexpr(const SubLink* msg) {
  return *msg->testexpr_;
}
const ::pg_query::Node&
SubLink::_Internal::subselect(const SubLink* msg) {
  return *msg->subselect_;
}
SubLink::SubLink(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  oper_name_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubLink)
}
SubLink::SubLink(const SubLink& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      oper_name_(from.oper_name_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_testexpr()) {
    testexpr_ = new ::pg_query::Node(*from.testexpr_);
  } else {
    testexpr_ = nullptr;
  }
  if (from._internal_has_subselect()) {
    subselect_ = new ::pg_query::Node(*from.subselect_);
  } else {
    subselect_ = nullptr;
  }
  ::memcpy(&sub_link_type_, &from.sub_link_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&sub_link_type_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SubLink)
}

void SubLink::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

SubLink::~SubLink() {
  // @@protoc_insertion_point(destructor:pg_query.SubLink)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SubLink::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete testexpr_;
  if (this != internal_default_instance()) delete subselect_;
}

void SubLink::ArenaDtor(void* object) {
  SubLink* _this = reinterpret_cast< SubLink* >(object);
  (void)_this;
}
void SubLink::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SubLink::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SubLink& SubLink::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  oper_name_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && testexpr_ != nullptr) {
    delete testexpr_;
  }
  testexpr_ = nullptr;
  if (GetArena() == nullptr && subselect_ != nullptr) {
    delete subselect_;
  }
  subselect_ = nullptr;
  ::memset(&sub_link_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&sub_link_type_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SubLink::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
      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_sub_link_type(static_cast<::pg_query::SubLinkType>(val));
        } else goto handle_unusual;
        continue;
      // int32 sub_link_id = 3 [json_name = "subLinkId"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          sub_link_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_testexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node oper_name = 5 [json_name = "operName"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_oper_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node subselect = 6 [json_name = "subselect"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_subselect(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SubLink::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SubLink)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->sub_link_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_sub_link_type(), target);
  }

  // int32 sub_link_id = 3 [json_name = "subLinkId"];
  if (this->sub_link_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_sub_link_id(), target);
  }

  // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
  if (this->has_testexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::testexpr(this), target, stream);
  }

  // repeated .pg_query.Node oper_name = 5 [json_name = "operName"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_oper_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_oper_name(i), target, stream);
  }

  // .pg_query.Node subselect = 6 [json_name = "subselect"];
  if (this->has_subselect()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::subselect(this), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.SubLink)
  return target;
}

size_t SubLink::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SubLink)
  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 .pg_query.Node oper_name = 5 [json_name = "operName"];
  total_size += 1UL * this->_internal_oper_name_size();
  for (const auto& msg : this->oper_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
  if (this->has_testexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *testexpr_);
  }

  // .pg_query.Node subselect = 6 [json_name = "subselect"];
  if (this->has_subselect()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *subselect_);
  }

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->sub_link_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_sub_link_type());
  }

  // int32 sub_link_id = 3 [json_name = "subLinkId"];
  if (this->sub_link_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_sub_link_id());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  oper_name_.MergeFrom(from.oper_name_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_testexpr()) {
    _internal_mutable_testexpr()->::pg_query::Node::MergeFrom(from._internal_testexpr());
  }
  if (from.has_subselect()) {
    _internal_mutable_subselect()->::pg_query::Node::MergeFrom(from._internal_subselect());
  }
  if (from.sub_link_type() != 0) {
    _internal_set_sub_link_type(from._internal_sub_link_type());
  }
  if (from.sub_link_id() != 0) {
    _internal_set_sub_link_id(from._internal_sub_link_id());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void SubLink::InternalSwap(SubLink* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  oper_name_.InternalSwap(&other->oper_name_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubLink, location_)
      + sizeof(SubLink::location_)
      - PROTOBUF_FIELD_OFFSET(SubLink, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SubLink::GetMetadata() const {
  return GetMetadataStatic();
}


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

class SubPlan::_Internal {
 public:
  static const ::pg_query::Node& xpr(const SubPlan* msg);
  static const ::pg_query::Node& testexpr(const SubPlan* msg);
};

const ::pg_query::Node&
SubPlan::_Internal::xpr(const SubPlan* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
SubPlan::_Internal::testexpr(const SubPlan* msg) {
  return *msg->testexpr_;
}
SubPlan::SubPlan(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  param_ids_(arena),
  set_param_(arena),
  par_param_(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubPlan)
}
SubPlan::SubPlan(const SubPlan& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      param_ids_(from.param_ids_),
      set_param_(from.set_param_),
      par_param_(from.par_param_),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  plan_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_plan_name().empty()) {
    plan_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_plan_name(), 
      GetArena());
  }
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_testexpr()) {
    testexpr_ = new ::pg_query::Node(*from.testexpr_);
  } else {
    testexpr_ = nullptr;
  }
  ::memcpy(&sub_link_type_, &from.sub_link_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&per_call_cost_) -
    reinterpret_cast<char*>(&sub_link_type_)) + sizeof(per_call_cost_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SubPlan)
}

void SubPlan::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  plan_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&per_call_cost_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(per_call_cost_));
}

SubPlan::~SubPlan() {
  // @@protoc_insertion_point(destructor:pg_query.SubPlan)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SubPlan::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  plan_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete testexpr_;
}

void SubPlan::ArenaDtor(void* object) {
  SubPlan* _this = reinterpret_cast< SubPlan* >(object);
  (void)_this;
}
void SubPlan::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SubPlan::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SubPlan& SubPlan::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  param_ids_.Clear();
  set_param_.Clear();
  par_param_.Clear();
  args_.Clear();
  plan_name_.ClearToEmpty();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && testexpr_ != nullptr) {
    delete testexpr_;
  }
  testexpr_ = nullptr;
  ::memset(&sub_link_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&per_call_cost_) -
      reinterpret_cast<char*>(&sub_link_type_)) + sizeof(per_call_cost_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SubPlan::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
      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_sub_link_type(static_cast<::pg_query::SubLinkType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node testexpr = 3 [json_name = "testexpr"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_testexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_param_ids(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 plan_id = 5 [json_name = "plan_id"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          plan_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string plan_name = 6 [json_name = "plan_name"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_plan_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.SubPlan.plan_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 first_col_type = 7 [json_name = "firstColType"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          first_col_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          first_col_typmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          first_col_collation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool use_hash_table = 10 [json_name = "useHashTable"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          use_hash_table_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          unknown_eq_false_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool parallel_safe = 12 [json_name = "parallel_safe"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          parallel_safe_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_set_param(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<106>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_par_param(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<114>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 15 [json_name = "args"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<122>(ptr));
        } else goto handle_unusual;
        continue;
      // double startup_cost = 16 [json_name = "startup_cost"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 129)) {
          startup_cost_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double per_call_cost = 17 [json_name = "per_call_cost"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 137)) {
          per_call_cost_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SubPlan::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SubPlan)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->sub_link_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_sub_link_type(), target);
  }

  // .pg_query.Node testexpr = 3 [json_name = "testexpr"];
  if (this->has_testexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::testexpr(this), target, stream);
  }

  // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_param_ids_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_param_ids(i), target, stream);
  }

  // int32 plan_id = 5 [json_name = "plan_id"];
  if (this->plan_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_plan_id(), target);
  }

  // string plan_name = 6 [json_name = "plan_name"];
  if (this->plan_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_plan_name().data(), static_cast<int>(this->_internal_plan_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.SubPlan.plan_name");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_plan_name(), target);
  }

  // uint32 first_col_type = 7 [json_name = "firstColType"];
  if (this->first_col_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_first_col_type(), target);
  }

  // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
  if (this->first_col_typmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_first_col_typmod(), target);
  }

  // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
  if (this->first_col_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(9, this->_internal_first_col_collation(), target);
  }

  // bool use_hash_table = 10 [json_name = "useHashTable"];
  if (this->use_hash_table() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(10, this->_internal_use_hash_table(), target);
  }

  // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
  if (this->unknown_eq_false() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(11, this->_internal_unknown_eq_false(), target);
  }

  // bool parallel_safe = 12 [json_name = "parallel_safe"];
  if (this->parallel_safe() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_parallel_safe(), target);
  }

  // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_set_param_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(13, this->_internal_set_param(i), target, stream);
  }

  // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_par_param_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(14, this->_internal_par_param(i), target, stream);
  }

  // repeated .pg_query.Node args = 15 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(15, this->_internal_args(i), target, stream);
  }

  // double startup_cost = 16 [json_name = "startup_cost"];
  if (!(this->startup_cost() <= 0 && this->startup_cost() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_startup_cost(), target);
  }

  // double per_call_cost = 17 [json_name = "per_call_cost"];
  if (!(this->per_call_cost() <= 0 && this->per_call_cost() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_per_call_cost(), 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:pg_query.SubPlan)
  return target;
}

size_t SubPlan::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SubPlan)
  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 .pg_query.Node param_ids = 4 [json_name = "paramIds"];
  total_size += 1UL * this->_internal_param_ids_size();
  for (const auto& msg : this->param_ids_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
  total_size += 1UL * this->_internal_set_param_size();
  for (const auto& msg : this->set_param_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
  total_size += 1UL * this->_internal_par_param_size();
  for (const auto& msg : this->par_param_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node args = 15 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string plan_name = 6 [json_name = "plan_name"];
  if (this->plan_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_plan_name());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node testexpr = 3 [json_name = "testexpr"];
  if (this->has_testexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *testexpr_);
  }

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->sub_link_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_sub_link_type());
  }

  // int32 plan_id = 5 [json_name = "plan_id"];
  if (this->plan_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_plan_id());
  }

  // uint32 first_col_type = 7 [json_name = "firstColType"];
  if (this->first_col_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_first_col_type());
  }

  // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
  if (this->first_col_typmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_first_col_typmod());
  }

  // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
  if (this->first_col_collation() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_first_col_collation());
  }

  // bool use_hash_table = 10 [json_name = "useHashTable"];
  if (this->use_hash_table() != 0) {
    total_size += 1 + 1;
  }

  // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
  if (this->unknown_eq_false() != 0) {
    total_size += 1 + 1;
  }

  // bool parallel_safe = 12 [json_name = "parallel_safe"];
  if (this->parallel_safe() != 0) {
    total_size += 1 + 1;
  }

  // double startup_cost = 16 [json_name = "startup_cost"];
  if (!(this->startup_cost() <= 0 && this->startup_cost() >= 0)) {
    total_size += 2 + 8;
  }

  // double per_call_cost = 17 [json_name = "per_call_cost"];
  if (!(this->per_call_cost() <= 0 && this->per_call_cost() >= 0)) {
    total_size += 2 + 8;
  }

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

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

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

  param_ids_.MergeFrom(from.param_ids_);
  set_param_.MergeFrom(from.set_param_);
  par_param_.MergeFrom(from.par_param_);
  args_.MergeFrom(from.args_);
  if (from.plan_name().size() > 0) {
    _internal_set_plan_name(from._internal_plan_name());
  }
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_testexpr()) {
    _internal_mutable_testexpr()->::pg_query::Node::MergeFrom(from._internal_testexpr());
  }
  if (from.sub_link_type() != 0) {
    _internal_set_sub_link_type(from._internal_sub_link_type());
  }
  if (from.plan_id() != 0) {
    _internal_set_plan_id(from._internal_plan_id());
  }
  if (from.first_col_type() != 0) {
    _internal_set_first_col_type(from._internal_first_col_type());
  }
  if (from.first_col_typmod() != 0) {
    _internal_set_first_col_typmod(from._internal_first_col_typmod());
  }
  if (from.first_col_collation() != 0) {
    _internal_set_first_col_collation(from._internal_first_col_collation());
  }
  if (from.use_hash_table() != 0) {
    _internal_set_use_hash_table(from._internal_use_hash_table());
  }
  if (from.unknown_eq_false() != 0) {
    _internal_set_unknown_eq_false(from._internal_unknown_eq_false());
  }
  if (from.parallel_safe() != 0) {
    _internal_set_parallel_safe(from._internal_parallel_safe());
  }
  if (!(from.startup_cost() <= 0 && from.startup_cost() >= 0)) {
    _internal_set_startup_cost(from._internal_startup_cost());
  }
  if (!(from.per_call_cost() <= 0 && from.per_call_cost() >= 0)) {
    _internal_set_per_call_cost(from._internal_per_call_cost());
  }
}

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

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

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

void SubPlan::InternalSwap(SubPlan* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  param_ids_.InternalSwap(&other->param_ids_);
  set_param_.InternalSwap(&other->set_param_);
  par_param_.InternalSwap(&other->par_param_);
  args_.InternalSwap(&other->args_);
  plan_name_.Swap(&other->plan_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubPlan, per_call_cost_)
      + sizeof(SubPlan::per_call_cost_)
      - PROTOBUF_FIELD_OFFSET(SubPlan, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SubPlan::GetMetadata() const {
  return GetMetadataStatic();
}


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

class AlternativeSubPlan::_Internal {
 public:
  static const ::pg_query::Node& xpr(const AlternativeSubPlan* msg);
};

const ::pg_query::Node&
AlternativeSubPlan::_Internal::xpr(const AlternativeSubPlan* msg) {
  return *msg->xpr_;
}
AlternativeSubPlan::AlternativeSubPlan(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  subplans_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlternativeSubPlan)
}
AlternativeSubPlan::AlternativeSubPlan(const AlternativeSubPlan& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      subplans_(from.subplans_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlternativeSubPlan)
}

void AlternativeSubPlan::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  xpr_ = nullptr;
}

AlternativeSubPlan::~AlternativeSubPlan() {
  // @@protoc_insertion_point(destructor:pg_query.AlternativeSubPlan)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void AlternativeSubPlan::ArenaDtor(void* object) {
  AlternativeSubPlan* _this = reinterpret_cast< AlternativeSubPlan* >(object);
  (void)_this;
}
void AlternativeSubPlan::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlternativeSubPlan::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlternativeSubPlan& AlternativeSubPlan::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  subplans_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlternativeSubPlan::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node subplans = 2 [json_name = "subplans"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_subplans(), 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 & 7) == 4 || tag == 0) {
          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* AlternativeSubPlan::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlternativeSubPlan)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // repeated .pg_query.Node subplans = 2 [json_name = "subplans"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_subplans_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_subplans(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:pg_query.AlternativeSubPlan)
  return target;
}

size_t AlternativeSubPlan::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlternativeSubPlan)
  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 .pg_query.Node subplans = 2 [json_name = "subplans"];
  total_size += 1UL * this->_internal_subplans_size();
  for (const auto& msg : this->subplans_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

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

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

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

  subplans_.MergeFrom(from.subplans_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
}

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

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

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

void AlternativeSubPlan::InternalSwap(AlternativeSubPlan* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  subplans_.InternalSwap(&other->subplans_);
  swap(xpr_, other->xpr_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlternativeSubPlan::GetMetadata() const {
  return GetMetadataStatic();
}


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

class FieldSelect::_Internal {
 public:
  static const ::pg_query::Node& xpr(const FieldSelect* msg);
  static const ::pg_query::Node& arg(const FieldSelect* msg);
};

const ::pg_query::Node&
FieldSelect::_Internal::xpr(const FieldSelect* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
FieldSelect::_Internal::arg(const FieldSelect* msg) {
  return *msg->arg_;
}
FieldSelect::FieldSelect(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FieldSelect)
}
FieldSelect::FieldSelect(const FieldSelect& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&fieldnum_, &from.fieldnum_,
    static_cast<size_t>(reinterpret_cast<char*>(&resultcollid_) -
    reinterpret_cast<char*>(&fieldnum_)) + sizeof(resultcollid_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FieldSelect)
}

void FieldSelect::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&resultcollid_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(resultcollid_));
}

FieldSelect::~FieldSelect() {
  // @@protoc_insertion_point(destructor:pg_query.FieldSelect)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void FieldSelect::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void FieldSelect::ArenaDtor(void* object) {
  FieldSelect* _this = reinterpret_cast< FieldSelect* >(object);
  (void)_this;
}
void FieldSelect::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void FieldSelect::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FieldSelect& FieldSelect::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&fieldnum_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&resultcollid_) -
      reinterpret_cast<char*>(&fieldnum_)) + sizeof(resultcollid_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FieldSelect::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 fieldnum = 3 [json_name = "fieldnum"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          fieldnum_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resulttype = 4 [json_name = "resulttype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 resulttypmod = 5 [json_name = "resulttypmod"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resultcollid = 6 [json_name = "resultcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          resultcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* FieldSelect::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FieldSelect)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // int32 fieldnum = 3 [json_name = "fieldnum"];
  if (this->fieldnum() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_fieldnum(), target);
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_resultcollid(), 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:pg_query.FieldSelect)
  return target;
}

size_t FieldSelect::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.FieldSelect)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // int32 fieldnum = 3 [json_name = "fieldnum"];
  if (this->fieldnum() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_fieldnum());
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resultcollid());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.fieldnum() != 0) {
    _internal_set_fieldnum(from._internal_fieldnum());
  }
  if (from.resulttype() != 0) {
    _internal_set_resulttype(from._internal_resulttype());
  }
  if (from.resulttypmod() != 0) {
    _internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from.resultcollid() != 0) {
    _internal_set_resultcollid(from._internal_resultcollid());
  }
}

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

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

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

void FieldSelect::InternalSwap(FieldSelect* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldSelect, resultcollid_)
      + sizeof(FieldSelect::resultcollid_)
      - PROTOBUF_FIELD_OFFSET(FieldSelect, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FieldSelect::GetMetadata() const {
  return GetMetadataStatic();
}


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

class FieldStore::_Internal {
 public:
  static const ::pg_query::Node& xpr(const FieldStore* msg);
  static const ::pg_query::Node& arg(const FieldStore* msg);
};

const ::pg_query::Node&
FieldStore::_Internal::xpr(const FieldStore* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
FieldStore::_Internal::arg(const FieldStore* msg) {
  return *msg->arg_;
}
FieldStore::FieldStore(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  newvals_(arena),
  fieldnums_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FieldStore)
}
FieldStore::FieldStore(const FieldStore& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      newvals_(from.newvals_),
      fieldnums_(from.fieldnums_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  resulttype_ = from.resulttype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.FieldStore)
}

void FieldStore::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&resulttype_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(resulttype_));
}

FieldStore::~FieldStore() {
  // @@protoc_insertion_point(destructor:pg_query.FieldStore)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void FieldStore::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void FieldStore::ArenaDtor(void* object) {
  FieldStore* _this = reinterpret_cast< FieldStore* >(object);
  (void)_this;
}
void FieldStore::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void FieldStore::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FieldStore& FieldStore::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  newvals_.Clear();
  fieldnums_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  resulttype_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FieldStore::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node newvals = 3 [json_name = "newvals"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_newvals(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_fieldnums(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // uint32 resulttype = 5 [json_name = "resulttype"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* FieldStore::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FieldStore)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // repeated .pg_query.Node newvals = 3 [json_name = "newvals"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_newvals_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_newvals(i), target, stream);
  }

  // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_fieldnums_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_fieldnums(i), target, stream);
  }

  // uint32 resulttype = 5 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_resulttype(), 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:pg_query.FieldStore)
  return target;
}

size_t FieldStore::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.FieldStore)
  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 .pg_query.Node newvals = 3 [json_name = "newvals"];
  total_size += 1UL * this->_internal_newvals_size();
  for (const auto& msg : this->newvals_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
  total_size += 1UL * this->_internal_fieldnums_size();
  for (const auto& msg : this->fieldnums_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // uint32 resulttype = 5 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resulttype());
  }

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

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

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

  newvals_.MergeFrom(from.newvals_);
  fieldnums_.MergeFrom(from.fieldnums_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.resulttype() != 0) {
    _internal_set_resulttype(from._internal_resulttype());
  }
}

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

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

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

void FieldStore::InternalSwap(FieldStore* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  newvals_.InternalSwap(&other->newvals_);
  fieldnums_.InternalSwap(&other->fieldnums_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldStore, resulttype_)
      + sizeof(FieldStore::resulttype_)
      - PROTOBUF_FIELD_OFFSET(FieldStore, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FieldStore::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RelabelType::_Internal {
 public:
  static const ::pg_query::Node& xpr(const RelabelType* msg);
  static const ::pg_query::Node& arg(const RelabelType* msg);
};

const ::pg_query::Node&
RelabelType::_Internal::xpr(const RelabelType* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
RelabelType::_Internal::arg(const RelabelType* msg) {
  return *msg->arg_;
}
RelabelType::RelabelType(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RelabelType)
}
RelabelType::RelabelType(const RelabelType& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&resulttype_, &from.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RelabelType)
}

void RelabelType::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

RelabelType::~RelabelType() {
  // @@protoc_insertion_point(destructor:pg_query.RelabelType)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RelabelType::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void RelabelType::ArenaDtor(void* object) {
  RelabelType* _this = reinterpret_cast< RelabelType* >(object);
  (void)_this;
}
void RelabelType::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RelabelType::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RelabelType& RelabelType::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&resulttype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RelabelType::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resulttype = 3 [json_name = "resulttype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 resulttypmod = 4 [json_name = "resulttypmod"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resultcollid = 5 [json_name = "resultcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          resultcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_relabelformat(static_cast<::pg_query::CoercionForm>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RelabelType::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RelabelType)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
  if (this->relabelformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      6, this->_internal_relabelformat(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.RelabelType)
  return target;
}

size_t RelabelType::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RelabelType)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
  if (this->relabelformat() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_relabelformat());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.resulttype() != 0) {
    _internal_set_resulttype(from._internal_resulttype());
  }
  if (from.resulttypmod() != 0) {
    _internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from.resultcollid() != 0) {
    _internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from.relabelformat() != 0) {
    _internal_set_relabelformat(from._internal_relabelformat());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void RelabelType::InternalSwap(RelabelType* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RelabelType, location_)
      + sizeof(RelabelType::location_)
      - PROTOBUF_FIELD_OFFSET(RelabelType, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RelabelType::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CoerceViaIO::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CoerceViaIO* msg);
  static const ::pg_query::Node& arg(const CoerceViaIO* msg);
};

const ::pg_query::Node&
CoerceViaIO::_Internal::xpr(const CoerceViaIO* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
CoerceViaIO::_Internal::arg(const CoerceViaIO* msg) {
  return *msg->arg_;
}
CoerceViaIO::CoerceViaIO(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceViaIO)
}
CoerceViaIO::CoerceViaIO(const CoerceViaIO& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&resulttype_, &from.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceViaIO)
}

void CoerceViaIO::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

CoerceViaIO::~CoerceViaIO() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceViaIO)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CoerceViaIO::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void CoerceViaIO::ArenaDtor(void* object) {
  CoerceViaIO* _this = reinterpret_cast< CoerceViaIO* >(object);
  (void)_this;
}
void CoerceViaIO::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CoerceViaIO::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CoerceViaIO& CoerceViaIO::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&resulttype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CoerceViaIO::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resulttype = 3 [json_name = "resulttype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resultcollid = 4 [json_name = "resultcollid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          resultcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_coerceformat(static_cast<::pg_query::CoercionForm>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 6 [json_name = "location"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CoerceViaIO::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoerceViaIO)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // uint32 resultcollid = 4 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
  if (this->coerceformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      5, this->_internal_coerceformat(), target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_location(), 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:pg_query.CoerceViaIO)
  return target;
}

size_t CoerceViaIO::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CoerceViaIO)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resulttype());
  }

  // uint32 resultcollid = 4 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
  if (this->coerceformat() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_coerceformat());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.resulttype() != 0) {
    _internal_set_resulttype(from._internal_resulttype());
  }
  if (from.resultcollid() != 0) {
    _internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from.coerceformat() != 0) {
    _internal_set_coerceformat(from._internal_coerceformat());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void CoerceViaIO::InternalSwap(CoerceViaIO* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceViaIO, location_)
      + sizeof(CoerceViaIO::location_)
      - PROTOBUF_FIELD_OFFSET(CoerceViaIO, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoerceViaIO::GetMetadata() const {
  return GetMetadataStatic();
}


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

class ArrayCoerceExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const ArrayCoerceExpr* msg);
  static const ::pg_query::Node& arg(const ArrayCoerceExpr* msg);
  static const ::pg_query::Node& elemexpr(const ArrayCoerceExpr* msg);
};

const ::pg_query::Node&
ArrayCoerceExpr::_Internal::xpr(const ArrayCoerceExpr* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
ArrayCoerceExpr::_Internal::arg(const ArrayCoerceExpr* msg) {
  return *msg->arg_;
}
const ::pg_query::Node&
ArrayCoerceExpr::_Internal::elemexpr(const ArrayCoerceExpr* msg) {
  return *msg->elemexpr_;
}
ArrayCoerceExpr::ArrayCoerceExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ArrayCoerceExpr)
}
ArrayCoerceExpr::ArrayCoerceExpr(const ArrayCoerceExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  if (from._internal_has_elemexpr()) {
    elemexpr_ = new ::pg_query::Node(*from.elemexpr_);
  } else {
    elemexpr_ = nullptr;
  }
  ::memcpy(&resulttype_, &from.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ArrayCoerceExpr)
}

void ArrayCoerceExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

ArrayCoerceExpr::~ArrayCoerceExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ArrayCoerceExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ArrayCoerceExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
  if (this != internal_default_instance()) delete elemexpr_;
}

void ArrayCoerceExpr::ArenaDtor(void* object) {
  ArrayCoerceExpr* _this = reinterpret_cast< ArrayCoerceExpr* >(object);
  (void)_this;
}
void ArrayCoerceExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ArrayCoerceExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ArrayCoerceExpr& ArrayCoerceExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  if (GetArena() == nullptr && elemexpr_ != nullptr) {
    delete elemexpr_;
  }
  elemexpr_ = nullptr;
  ::memset(&resulttype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ArrayCoerceExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_elemexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resulttype = 4 [json_name = "resulttype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 resulttypmod = 5 [json_name = "resulttypmod"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resultcollid = 6 [json_name = "resultcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          resultcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_coerceformat(static_cast<::pg_query::CoercionForm>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 8 [json_name = "location"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ArrayCoerceExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ArrayCoerceExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"];
  if (this->has_elemexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::elemexpr(this), target, stream);
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
  if (this->coerceformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      7, this->_internal_coerceformat(), target);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), 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:pg_query.ArrayCoerceExpr)
  return target;
}

size_t ArrayCoerceExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ArrayCoerceExpr)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"];
  if (this->has_elemexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *elemexpr_);
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
  if (this->coerceformat() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_coerceformat());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.has_elemexpr()) {
    _internal_mutable_elemexpr()->::pg_query::Node::MergeFrom(from._internal_elemexpr());
  }
  if (from.resulttype() != 0) {
    _internal_set_resulttype(from._internal_resulttype());
  }
  if (from.resulttypmod() != 0) {
    _internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from.resultcollid() != 0) {
    _internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from.coerceformat() != 0) {
    _internal_set_coerceformat(from._internal_coerceformat());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void ArrayCoerceExpr::InternalSwap(ArrayCoerceExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, location_)
      + sizeof(ArrayCoerceExpr::location_)
      - PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ArrayCoerceExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class ConvertRowtypeExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const ConvertRowtypeExpr* msg);
  static const ::pg_query::Node& arg(const ConvertRowtypeExpr* msg);
};

const ::pg_query::Node&
ConvertRowtypeExpr::_Internal::xpr(const ConvertRowtypeExpr* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
ConvertRowtypeExpr::_Internal::arg(const ConvertRowtypeExpr* msg) {
  return *msg->arg_;
}
ConvertRowtypeExpr::ConvertRowtypeExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ConvertRowtypeExpr)
}
ConvertRowtypeExpr::ConvertRowtypeExpr(const ConvertRowtypeExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&resulttype_, &from.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ConvertRowtypeExpr)
}

void ConvertRowtypeExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

ConvertRowtypeExpr::~ConvertRowtypeExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ConvertRowtypeExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ConvertRowtypeExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void ConvertRowtypeExpr::ArenaDtor(void* object) {
  ConvertRowtypeExpr* _this = reinterpret_cast< ConvertRowtypeExpr* >(object);
  (void)_this;
}
void ConvertRowtypeExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ConvertRowtypeExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ConvertRowtypeExpr& ConvertRowtypeExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&resulttype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ConvertRowtypeExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resulttype = 3 [json_name = "resulttype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_convertformat(static_cast<::pg_query::CoercionForm>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ConvertRowtypeExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ConvertRowtypeExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
  if (this->convertformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_convertformat(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.ConvertRowtypeExpr)
  return target;
}

size_t ConvertRowtypeExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ConvertRowtypeExpr)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resulttype());
  }

  // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
  if (this->convertformat() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_convertformat());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.resulttype() != 0) {
    _internal_set_resulttype(from._internal_resulttype());
  }
  if (from.convertformat() != 0) {
    _internal_set_convertformat(from._internal_convertformat());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void ConvertRowtypeExpr::InternalSwap(ConvertRowtypeExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, location_)
      + sizeof(ConvertRowtypeExpr::location_)
      - PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ConvertRowtypeExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CollateExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CollateExpr* msg);
  static const ::pg_query::Node& arg(const CollateExpr* msg);
};

const ::pg_query::Node&
CollateExpr::_Internal::xpr(const CollateExpr* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
CollateExpr::_Internal::arg(const CollateExpr* msg) {
  return *msg->arg_;
}
CollateExpr::CollateExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CollateExpr)
}
CollateExpr::CollateExpr(const CollateExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&coll_oid_, &from.coll_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&coll_oid_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CollateExpr)
}

void CollateExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

CollateExpr::~CollateExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CollateExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CollateExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void CollateExpr::ArenaDtor(void* object) {
  CollateExpr* _this = reinterpret_cast< CollateExpr* >(object);
  (void)_this;
}
void CollateExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CollateExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CollateExpr& CollateExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&coll_oid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&coll_oid_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CollateExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 coll_oid = 3 [json_name = "collOid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          coll_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CollateExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CollateExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // uint32 coll_oid = 3 [json_name = "collOid"];
  if (this->coll_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_coll_oid(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), 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:pg_query.CollateExpr)
  return target;
}

size_t CollateExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CollateExpr)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // uint32 coll_oid = 3 [json_name = "collOid"];
  if (this->coll_oid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_coll_oid());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.coll_oid() != 0) {
    _internal_set_coll_oid(from._internal_coll_oid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void CollateExpr::InternalSwap(CollateExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CollateExpr, location_)
      + sizeof(CollateExpr::location_)
      - PROTOBUF_FIELD_OFFSET(CollateExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CollateExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CaseExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CaseExpr* msg);
  static const ::pg_query::Node& arg(const CaseExpr* msg);
  static const ::pg_query::Node& defresult(const CaseExpr* msg);
};

const ::pg_query::Node&
CaseExpr::_Internal::xpr(const CaseExpr* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
CaseExpr::_Internal::arg(const CaseExpr* msg) {
  return *msg->arg_;
}
const ::pg_query::Node&
CaseExpr::_Internal::defresult(const CaseExpr* msg) {
  return *msg->defresult_;
}
CaseExpr::CaseExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseExpr)
}
CaseExpr::CaseExpr(const CaseExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  if (from._internal_has_defresult()) {
    defresult_ = new ::pg_query::Node(*from.defresult_);
  } else {
    defresult_ = nullptr;
  }
  ::memcpy(&casetype_, &from.casetype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&casetype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CaseExpr)
}

void CaseExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

CaseExpr::~CaseExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CaseExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CaseExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
  if (this != internal_default_instance()) delete defresult_;
}

void CaseExpr::ArenaDtor(void* object) {
  CaseExpr* _this = reinterpret_cast< CaseExpr* >(object);
  (void)_this;
}
void CaseExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CaseExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CaseExpr& CaseExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  if (GetArena() == nullptr && defresult_ != nullptr) {
    delete defresult_;
  }
  defresult_ = nullptr;
  ::memset(&casetype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&casetype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CaseExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 casetype = 2 [json_name = "casetype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          casetype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 casecollid = 3 [json_name = "casecollid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          casecollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 4 [json_name = "arg"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 5 [json_name = "args"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node defresult = 6 [json_name = "defresult"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_defresult(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CaseExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CaseExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 casetype = 2 [json_name = "casetype"];
  if (this->casetype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_casetype(), target);
  }

  // uint32 casecollid = 3 [json_name = "casecollid"];
  if (this->casecollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_casecollid(), target);
  }

  // .pg_query.Node arg = 4 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::arg(this), target, stream);
  }

  // repeated .pg_query.Node args = 5 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_args(i), target, stream);
  }

  // .pg_query.Node defresult = 6 [json_name = "defresult"];
  if (this->has_defresult()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::defresult(this), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.CaseExpr)
  return target;
}

size_t CaseExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CaseExpr)
  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 .pg_query.Node args = 5 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 4 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // .pg_query.Node defresult = 6 [json_name = "defresult"];
  if (this->has_defresult()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *defresult_);
  }

  // uint32 casetype = 2 [json_name = "casetype"];
  if (this->casetype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_casetype());
  }

  // uint32 casecollid = 3 [json_name = "casecollid"];
  if (this->casecollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_casecollid());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.has_defresult()) {
    _internal_mutable_defresult()->::pg_query::Node::MergeFrom(from._internal_defresult());
  }
  if (from.casetype() != 0) {
    _internal_set_casetype(from._internal_casetype());
  }
  if (from.casecollid() != 0) {
    _internal_set_casecollid(from._internal_casecollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void CaseExpr::InternalSwap(CaseExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseExpr, location_)
      + sizeof(CaseExpr::location_)
      - PROTOBUF_FIELD_OFFSET(CaseExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CaseExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CaseWhen::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CaseWhen* msg);
  static const ::pg_query::Node& expr(const CaseWhen* msg);
  static const ::pg_query::Node& result(const CaseWhen* msg);
};

const ::pg_query::Node&
CaseWhen::_Internal::xpr(const CaseWhen* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
CaseWhen::_Internal::expr(const CaseWhen* msg) {
  return *msg->expr_;
}
const ::pg_query::Node&
CaseWhen::_Internal::result(const CaseWhen* msg) {
  return *msg->result_;
}
CaseWhen::CaseWhen(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseWhen)
}
CaseWhen::CaseWhen(const CaseWhen& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_expr()) {
    expr_ = new ::pg_query::Node(*from.expr_);
  } else {
    expr_ = nullptr;
  }
  if (from._internal_has_result()) {
    result_ = new ::pg_query::Node(*from.result_);
  } else {
    result_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CaseWhen)
}

void CaseWhen::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

CaseWhen::~CaseWhen() {
  // @@protoc_insertion_point(destructor:pg_query.CaseWhen)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CaseWhen::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete expr_;
  if (this != internal_default_instance()) delete result_;
}

void CaseWhen::ArenaDtor(void* object) {
  CaseWhen* _this = reinterpret_cast< CaseWhen* >(object);
  (void)_this;
}
void CaseWhen::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CaseWhen::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CaseWhen& CaseWhen::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && expr_ != nullptr) {
    delete expr_;
  }
  expr_ = nullptr;
  if (GetArena() == nullptr && result_ != nullptr) {
    delete result_;
  }
  result_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CaseWhen::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node result = 3 [json_name = "result"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_result(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CaseWhen::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CaseWhen)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::expr(this), target, stream);
  }

  // .pg_query.Node result = 3 [json_name = "result"];
  if (this->has_result()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::result(this), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), 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:pg_query.CaseWhen)
  return target;
}

size_t CaseWhen::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CaseWhen)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *expr_);
  }

  // .pg_query.Node result = 3 [json_name = "result"];
  if (this->has_result()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *result_);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_expr()) {
    _internal_mutable_expr()->::pg_query::Node::MergeFrom(from._internal_expr());
  }
  if (from.has_result()) {
    _internal_mutable_result()->::pg_query::Node::MergeFrom(from._internal_result());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void CaseWhen::InternalSwap(CaseWhen* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseWhen, location_)
      + sizeof(CaseWhen::location_)
      - PROTOBUF_FIELD_OFFSET(CaseWhen, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CaseWhen::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CaseTestExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CaseTestExpr* msg);
};

const ::pg_query::Node&
CaseTestExpr::_Internal::xpr(const CaseTestExpr* msg) {
  return *msg->xpr_;
}
CaseTestExpr::CaseTestExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseTestExpr)
}
CaseTestExpr::CaseTestExpr(const CaseTestExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&type_id_, &from.type_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&collation_) -
    reinterpret_cast<char*>(&type_id_)) + sizeof(collation_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CaseTestExpr)
}

void CaseTestExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&collation_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(collation_));
}

CaseTestExpr::~CaseTestExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CaseTestExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void CaseTestExpr::ArenaDtor(void* object) {
  CaseTestExpr* _this = reinterpret_cast< CaseTestExpr* >(object);
  (void)_this;
}
void CaseTestExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CaseTestExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CaseTestExpr& CaseTestExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&type_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&collation_) -
      reinterpret_cast<char*>(&type_id_)) + sizeof(collation_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CaseTestExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 type_id = 2 [json_name = "typeId"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 type_mod = 3 [json_name = "typeMod"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          type_mod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          collation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CaseTestExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CaseTestExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->type_mod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_collation(), 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:pg_query.CaseTestExpr)
  return target;
}

size_t CaseTestExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CaseTestExpr)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->type_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->type_mod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->collation() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_collation());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.type_id() != 0) {
    _internal_set_type_id(from._internal_type_id());
  }
  if (from.type_mod() != 0) {
    _internal_set_type_mod(from._internal_type_mod());
  }
  if (from.collation() != 0) {
    _internal_set_collation(from._internal_collation());
  }
}

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

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

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

void CaseTestExpr::InternalSwap(CaseTestExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseTestExpr, collation_)
      + sizeof(CaseTestExpr::collation_)
      - PROTOBUF_FIELD_OFFSET(CaseTestExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CaseTestExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class ArrayExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const ArrayExpr* msg);
};

const ::pg_query::Node&
ArrayExpr::_Internal::xpr(const ArrayExpr* msg) {
  return *msg->xpr_;
}
ArrayExpr::ArrayExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  elements_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ArrayExpr)
}
ArrayExpr::ArrayExpr(const ArrayExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      elements_(from.elements_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&array_typeid_, &from.array_typeid_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&array_typeid_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ArrayExpr)
}

void ArrayExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

ArrayExpr::~ArrayExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ArrayExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void ArrayExpr::ArenaDtor(void* object) {
  ArrayExpr* _this = reinterpret_cast< ArrayExpr* >(object);
  (void)_this;
}
void ArrayExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ArrayExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ArrayExpr& ArrayExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  elements_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&array_typeid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&array_typeid_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ArrayExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 array_typeid = 2 [json_name = "array_typeid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          array_typeid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 array_collid = 3 [json_name = "array_collid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          array_collid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 element_typeid = 4 [json_name = "element_typeid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          element_typeid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node elements = 5 [json_name = "elements"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_elements(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // bool multidims = 6 [json_name = "multidims"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          multidims_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ArrayExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ArrayExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 array_typeid = 2 [json_name = "array_typeid"];
  if (this->array_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_array_typeid(), target);
  }

  // uint32 array_collid = 3 [json_name = "array_collid"];
  if (this->array_collid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_array_collid(), target);
  }

  // uint32 element_typeid = 4 [json_name = "element_typeid"];
  if (this->element_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_element_typeid(), target);
  }

  // repeated .pg_query.Node elements = 5 [json_name = "elements"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_elements_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_elements(i), target, stream);
  }

  // bool multidims = 6 [json_name = "multidims"];
  if (this->multidims() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_multidims(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.ArrayExpr)
  return target;
}

size_t ArrayExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ArrayExpr)
  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 .pg_query.Node elements = 5 [json_name = "elements"];
  total_size += 1UL * this->_internal_elements_size();
  for (const auto& msg : this->elements_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 array_typeid = 2 [json_name = "array_typeid"];
  if (this->array_typeid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_array_typeid());
  }

  // uint32 array_collid = 3 [json_name = "array_collid"];
  if (this->array_collid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_array_collid());
  }

  // uint32 element_typeid = 4 [json_name = "element_typeid"];
  if (this->element_typeid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_element_typeid());
  }

  // bool multidims = 6 [json_name = "multidims"];
  if (this->multidims() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  elements_.MergeFrom(from.elements_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.array_typeid() != 0) {
    _internal_set_array_typeid(from._internal_array_typeid());
  }
  if (from.array_collid() != 0) {
    _internal_set_array_collid(from._internal_array_collid());
  }
  if (from.element_typeid() != 0) {
    _internal_set_element_typeid(from._internal_element_typeid());
  }
  if (from.multidims() != 0) {
    _internal_set_multidims(from._internal_multidims());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void ArrayExpr::InternalSwap(ArrayExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  elements_.InternalSwap(&other->elements_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ArrayExpr, location_)
      + sizeof(ArrayExpr::location_)
      - PROTOBUF_FIELD_OFFSET(ArrayExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ArrayExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RowExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const RowExpr* msg);
};

const ::pg_query::Node&
RowExpr::_Internal::xpr(const RowExpr* msg) {
  return *msg->xpr_;
}
RowExpr::RowExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena),
  colnames_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowExpr)
}
RowExpr::RowExpr(const RowExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_),
      colnames_(from.colnames_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&row_typeid_, &from.row_typeid_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&row_typeid_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RowExpr)
}

void RowExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

RowExpr::~RowExpr() {
  // @@protoc_insertion_point(destructor:pg_query.RowExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void RowExpr::ArenaDtor(void* object) {
  RowExpr* _this = reinterpret_cast< RowExpr* >(object);
  (void)_this;
}
void RowExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RowExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RowExpr& RowExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  colnames_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&row_typeid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&row_typeid_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RowExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 2 [json_name = "args"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // uint32 row_typeid = 3 [json_name = "row_typeid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          row_typeid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_row_format(static_cast<::pg_query::CoercionForm>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_colnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 6 [json_name = "location"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RowExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RowExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_args(i), target, stream);
  }

  // uint32 row_typeid = 3 [json_name = "row_typeid"];
  if (this->row_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_row_typeid(), target);
  }

  // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
  if (this->row_format() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_row_format(), target);
  }

  // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_colnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_colnames(i), target, stream);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_location(), 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:pg_query.RowExpr)
  return target;
}

size_t RowExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RowExpr)
  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 .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
  total_size += 1UL * this->_internal_colnames_size();
  for (const auto& msg : this->colnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 row_typeid = 3 [json_name = "row_typeid"];
  if (this->row_typeid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_row_typeid());
  }

  // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
  if (this->row_format() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_row_format());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  colnames_.MergeFrom(from.colnames_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.row_typeid() != 0) {
    _internal_set_row_typeid(from._internal_row_typeid());
  }
  if (from.row_format() != 0) {
    _internal_set_row_format(from._internal_row_format());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void RowExpr::InternalSwap(RowExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  colnames_.InternalSwap(&other->colnames_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowExpr, location_)
      + sizeof(RowExpr::location_)
      - PROTOBUF_FIELD_OFFSET(RowExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RowExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RowCompareExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const RowCompareExpr* msg);
};

const ::pg_query::Node&
RowCompareExpr::_Internal::xpr(const RowCompareExpr* msg) {
  return *msg->xpr_;
}
RowCompareExpr::RowCompareExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  opnos_(arena),
  opfamilies_(arena),
  inputcollids_(arena),
  largs_(arena),
  rargs_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowCompareExpr)
}
RowCompareExpr::RowCompareExpr(const RowCompareExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      opnos_(from.opnos_),
      opfamilies_(from.opfamilies_),
      inputcollids_(from.inputcollids_),
      largs_(from.largs_),
      rargs_(from.rargs_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  rctype_ = from.rctype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RowCompareExpr)
}

void RowCompareExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&rctype_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(rctype_));
}

RowCompareExpr::~RowCompareExpr() {
  // @@protoc_insertion_point(destructor:pg_query.RowCompareExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void RowCompareExpr::ArenaDtor(void* object) {
  RowCompareExpr* _this = reinterpret_cast< RowCompareExpr* >(object);
  (void)_this;
}
void RowCompareExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RowCompareExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RowCompareExpr& RowCompareExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  opnos_.Clear();
  opfamilies_.Clear();
  inputcollids_.Clear();
  largs_.Clear();
  rargs_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  rctype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RowCompareExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
      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_rctype(static_cast<::pg_query::RowCompareType>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node opnos = 3 [json_name = "opnos"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opnos(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opfamilies(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_inputcollids(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node largs = 6 [json_name = "largs"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_largs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_rargs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RowCompareExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RowCompareExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
  if (this->rctype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_rctype(), target);
  }

  // repeated .pg_query.Node opnos = 3 [json_name = "opnos"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opnos_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_opnos(i), target, stream);
  }

  // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opfamilies_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_opfamilies(i), target, stream);
  }

  // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_inputcollids_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_inputcollids(i), target, stream);
  }

  // repeated .pg_query.Node largs = 6 [json_name = "largs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_largs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_largs(i), target, stream);
  }

  // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_rargs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_rargs(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:pg_query.RowCompareExpr)
  return target;
}

size_t RowCompareExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RowCompareExpr)
  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 .pg_query.Node opnos = 3 [json_name = "opnos"];
  total_size += 1UL * this->_internal_opnos_size();
  for (const auto& msg : this->opnos_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
  total_size += 1UL * this->_internal_opfamilies_size();
  for (const auto& msg : this->opfamilies_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
  total_size += 1UL * this->_internal_inputcollids_size();
  for (const auto& msg : this->inputcollids_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node largs = 6 [json_name = "largs"];
  total_size += 1UL * this->_internal_largs_size();
  for (const auto& msg : this->largs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
  total_size += 1UL * this->_internal_rargs_size();
  for (const auto& msg : this->rargs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
  if (this->rctype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_rctype());
  }

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

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

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

  opnos_.MergeFrom(from.opnos_);
  opfamilies_.MergeFrom(from.opfamilies_);
  inputcollids_.MergeFrom(from.inputcollids_);
  largs_.MergeFrom(from.largs_);
  rargs_.MergeFrom(from.rargs_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.rctype() != 0) {
    _internal_set_rctype(from._internal_rctype());
  }
}

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

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

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

void RowCompareExpr::InternalSwap(RowCompareExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  opnos_.InternalSwap(&other->opnos_);
  opfamilies_.InternalSwap(&other->opfamilies_);
  inputcollids_.InternalSwap(&other->inputcollids_);
  largs_.InternalSwap(&other->largs_);
  rargs_.InternalSwap(&other->rargs_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowCompareExpr, rctype_)
      + sizeof(RowCompareExpr::rctype_)
      - PROTOBUF_FIELD_OFFSET(RowCompareExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RowCompareExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CoalesceExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CoalesceExpr* msg);
};

const ::pg_query::Node&
CoalesceExpr::_Internal::xpr(const CoalesceExpr* msg) {
  return *msg->xpr_;
}
CoalesceExpr::CoalesceExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoalesceExpr)
}
CoalesceExpr::CoalesceExpr(const CoalesceExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&coalescetype_, &from.coalescetype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&coalescetype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoalesceExpr)
}

void CoalesceExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

CoalesceExpr::~CoalesceExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CoalesceExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void CoalesceExpr::ArenaDtor(void* object) {
  CoalesceExpr* _this = reinterpret_cast< CoalesceExpr* >(object);
  (void)_this;
}
void CoalesceExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CoalesceExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CoalesceExpr& CoalesceExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&coalescetype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&coalescetype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CoalesceExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 coalescetype = 2 [json_name = "coalescetype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          coalescetype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          coalescecollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 4 [json_name = "args"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CoalesceExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoalesceExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 coalescetype = 2 [json_name = "coalescetype"];
  if (this->coalescetype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_coalescetype(), target);
  }

  // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
  if (this->coalescecollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_coalescecollid(), target);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_args(i), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.CoalesceExpr)
  return target;
}

size_t CoalesceExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CoalesceExpr)
  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 .pg_query.Node args = 4 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 coalescetype = 2 [json_name = "coalescetype"];
  if (this->coalescetype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_coalescetype());
  }

  // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
  if (this->coalescecollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_coalescecollid());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.coalescetype() != 0) {
    _internal_set_coalescetype(from._internal_coalescetype());
  }
  if (from.coalescecollid() != 0) {
    _internal_set_coalescecollid(from._internal_coalescecollid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void CoalesceExpr::InternalSwap(CoalesceExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoalesceExpr, location_)
      + sizeof(CoalesceExpr::location_)
      - PROTOBUF_FIELD_OFFSET(CoalesceExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoalesceExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class MinMaxExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const MinMaxExpr* msg);
};

const ::pg_query::Node&
MinMaxExpr::_Internal::xpr(const MinMaxExpr* msg) {
  return *msg->xpr_;
}
MinMaxExpr::MinMaxExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MinMaxExpr)
}
MinMaxExpr::MinMaxExpr(const MinMaxExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&minmaxtype_, &from.minmaxtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&minmaxtype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.MinMaxExpr)
}

void MinMaxExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

MinMaxExpr::~MinMaxExpr() {
  // @@protoc_insertion_point(destructor:pg_query.MinMaxExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void MinMaxExpr::ArenaDtor(void* object) {
  MinMaxExpr* _this = reinterpret_cast< MinMaxExpr* >(object);
  (void)_this;
}
void MinMaxExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void MinMaxExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const MinMaxExpr& MinMaxExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  args_.Clear();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&minmaxtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&minmaxtype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* MinMaxExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          minmaxtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          minmaxcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inputcollid = 4 [json_name = "inputcollid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          inputcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.MinMaxOp op = 5 [json_name = "op"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_op(static_cast<::pg_query::MinMaxOp>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 6 [json_name = "args"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* MinMaxExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MinMaxExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
  if (this->minmaxtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_minmaxtype(), target);
  }

  // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
  if (this->minmaxcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_minmaxcollid(), target);
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_inputcollid(), target);
  }

  // .pg_query.MinMaxOp op = 5 [json_name = "op"];
  if (this->op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      5, this->_internal_op(), target);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_args(i), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.MinMaxExpr)
  return target;
}

size_t MinMaxExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.MinMaxExpr)
  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 .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
  if (this->minmaxtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_minmaxtype());
  }

  // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
  if (this->minmaxcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_minmaxcollid());
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->inputcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inputcollid());
  }

  // .pg_query.MinMaxOp op = 5 [json_name = "op"];
  if (this->op() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_op());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  args_.MergeFrom(from.args_);
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.minmaxtype() != 0) {
    _internal_set_minmaxtype(from._internal_minmaxtype());
  }
  if (from.minmaxcollid() != 0) {
    _internal_set_minmaxcollid(from._internal_minmaxcollid());
  }
  if (from.inputcollid() != 0) {
    _internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from.op() != 0) {
    _internal_set_op(from._internal_op());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void MinMaxExpr::InternalSwap(MinMaxExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MinMaxExpr, location_)
      + sizeof(MinMaxExpr::location_)
      - PROTOBUF_FIELD_OFFSET(MinMaxExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata MinMaxExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class SQLValueFunction::_Internal {
 public:
  static const ::pg_query::Node& xpr(const SQLValueFunction* msg);
};

const ::pg_query::Node&
SQLValueFunction::_Internal::xpr(const SQLValueFunction* msg) {
  return *msg->xpr_;
}
SQLValueFunction::SQLValueFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SQLValueFunction)
}
SQLValueFunction::SQLValueFunction(const SQLValueFunction& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&op_, &from.op_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&op_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SQLValueFunction)
}

void SQLValueFunction::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

SQLValueFunction::~SQLValueFunction() {
  // @@protoc_insertion_point(destructor:pg_query.SQLValueFunction)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void SQLValueFunction::ArenaDtor(void* object) {
  SQLValueFunction* _this = reinterpret_cast< SQLValueFunction* >(object);
  (void)_this;
}
void SQLValueFunction::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SQLValueFunction::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SQLValueFunction& SQLValueFunction::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&op_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&op_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SQLValueFunction::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
      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_op(static_cast<::pg_query::SQLValueFunctionOp>(val));
        } else goto handle_unusual;
        continue;
      // uint32 type = 3 [json_name = "type"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 typmod = 4 [json_name = "typmod"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          typmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SQLValueFunction::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SQLValueFunction)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
  if (this->op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_op(), target);
  }

  // uint32 type = 3 [json_name = "type"];
  if (this->type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_type(), target);
  }

  // int32 typmod = 4 [json_name = "typmod"];
  if (this->typmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_typmod(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.SQLValueFunction)
  return target;
}

size_t SQLValueFunction::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SQLValueFunction)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
  if (this->op() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_op());
  }

  // uint32 type = 3 [json_name = "type"];
  if (this->type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_type());
  }

  // int32 typmod = 4 [json_name = "typmod"];
  if (this->typmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_typmod());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.op() != 0) {
    _internal_set_op(from._internal_op());
  }
  if (from.type() != 0) {
    _internal_set_type(from._internal_type());
  }
  if (from.typmod() != 0) {
    _internal_set_typmod(from._internal_typmod());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void SQLValueFunction::InternalSwap(SQLValueFunction* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SQLValueFunction, location_)
      + sizeof(SQLValueFunction::location_)
      - PROTOBUF_FIELD_OFFSET(SQLValueFunction, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SQLValueFunction::GetMetadata() const {
  return GetMetadataStatic();
}


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

class XmlExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const XmlExpr* msg);
};

const ::pg_query::Node&
XmlExpr::_Internal::xpr(const XmlExpr* msg) {
  return *msg->xpr_;
}
XmlExpr::XmlExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  named_args_(arena),
  arg_names_(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.XmlExpr)
}
XmlExpr::XmlExpr(const XmlExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      named_args_(from.named_args_),
      arg_names_(from.arg_names_),
      args_(from.args_) {
  _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(), 
      GetArena());
  }
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&op_, &from.op_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&op_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.XmlExpr)
}

void XmlExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

XmlExpr::~XmlExpr() {
  // @@protoc_insertion_point(destructor:pg_query.XmlExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void XmlExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete xpr_;
}

void XmlExpr::ArenaDtor(void* object) {
  XmlExpr* _this = reinterpret_cast< XmlExpr* >(object);
  (void)_this;
}
void XmlExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void XmlExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const XmlExpr& XmlExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  named_args_.Clear();
  arg_names_.Clear();
  args_.Clear();
  name_.ClearToEmpty();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&op_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&op_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* XmlExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.XmlExprOp op = 2 [json_name = "op"];
      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_op(static_cast<::pg_query::XmlExprOp>(val));
        } else goto handle_unusual;
        continue;
      // string name = 3 [json_name = "name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.XmlExpr.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node named_args = 4 [json_name = "named_args"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_named_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_arg_names(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 6 [json_name = "args"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_xmloption(static_cast<::pg_query::XmlOptionType>(val));
        } else goto handle_unusual;
        continue;
      // uint32 type = 8 [json_name = "type"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 typmod = 9 [json_name = "typmod"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          typmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 10 [json_name = "location"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* XmlExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.XmlExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.XmlExprOp op = 2 [json_name = "op"];
  if (this->op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_op(), target);
  }

  // string name = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.XmlExpr.name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_name(), target);
  }

  // repeated .pg_query.Node named_args = 4 [json_name = "named_args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_named_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_named_args(i), target, stream);
  }

  // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_arg_names_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_arg_names(i), target, stream);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_args(i), target, stream);
  }

  // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
  if (this->xmloption() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      7, this->_internal_xmloption(), target);
  }

  // uint32 type = 8 [json_name = "type"];
  if (this->type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(8, this->_internal_type(), target);
  }

  // int32 typmod = 9 [json_name = "typmod"];
  if (this->typmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_typmod(), target);
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_location(), 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:pg_query.XmlExpr)
  return target;
}

size_t XmlExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.XmlExpr)
  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 .pg_query.Node named_args = 4 [json_name = "named_args"];
  total_size += 1UL * this->_internal_named_args_size();
  for (const auto& msg : this->named_args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
  total_size += 1UL * this->_internal_arg_names_size();
  for (const auto& msg : this->arg_names_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.XmlExprOp op = 2 [json_name = "op"];
  if (this->op() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_op());
  }

  // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
  if (this->xmloption() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_xmloption());
  }

  // uint32 type = 8 [json_name = "type"];
  if (this->type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_type());
  }

  // int32 typmod = 9 [json_name = "typmod"];
  if (this->typmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_typmod());
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  named_args_.MergeFrom(from.named_args_);
  arg_names_.MergeFrom(from.arg_names_);
  args_.MergeFrom(from.args_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.op() != 0) {
    _internal_set_op(from._internal_op());
  }
  if (from.xmloption() != 0) {
    _internal_set_xmloption(from._internal_xmloption());
  }
  if (from.type() != 0) {
    _internal_set_type(from._internal_type());
  }
  if (from.typmod() != 0) {
    _internal_set_typmod(from._internal_typmod());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void XmlExpr::InternalSwap(XmlExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  named_args_.InternalSwap(&other->named_args_);
  arg_names_.InternalSwap(&other->arg_names_);
  args_.InternalSwap(&other->args_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(XmlExpr, location_)
      + sizeof(XmlExpr::location_)
      - PROTOBUF_FIELD_OFFSET(XmlExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata XmlExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class NullTest::_Internal {
 public:
  static const ::pg_query::Node& xpr(const NullTest* msg);
  static const ::pg_query::Node& arg(const NullTest* msg);
};

const ::pg_query::Node&
NullTest::_Internal::xpr(const NullTest* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
NullTest::_Internal::arg(const NullTest* msg) {
  return *msg->arg_;
}
NullTest::NullTest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NullTest)
}
NullTest::NullTest(const NullTest& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&nulltesttype_, &from.nulltesttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&nulltesttype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NullTest)
}

void NullTest::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

NullTest::~NullTest() {
  // @@protoc_insertion_point(destructor:pg_query.NullTest)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void NullTest::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void NullTest::ArenaDtor(void* object) {
  NullTest* _this = reinterpret_cast< NullTest* >(object);
  (void)_this;
}
void NullTest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void NullTest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const NullTest& NullTest::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&nulltesttype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&nulltesttype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* NullTest::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
      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_nulltesttype(static_cast<::pg_query::NullTestType>(val));
        } else goto handle_unusual;
        continue;
      // bool argisrow = 4 [json_name = "argisrow"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          argisrow_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* NullTest::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NullTest)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
  if (this->nulltesttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_nulltesttype(), target);
  }

  // bool argisrow = 4 [json_name = "argisrow"];
  if (this->argisrow() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_argisrow(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.NullTest)
  return target;
}

size_t NullTest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.NullTest)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
  if (this->nulltesttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_nulltesttype());
  }

  // bool argisrow = 4 [json_name = "argisrow"];
  if (this->argisrow() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.nulltesttype() != 0) {
    _internal_set_nulltesttype(from._internal_nulltesttype());
  }
  if (from.argisrow() != 0) {
    _internal_set_argisrow(from._internal_argisrow());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void NullTest::InternalSwap(NullTest* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NullTest, location_)
      + sizeof(NullTest::location_)
      - PROTOBUF_FIELD_OFFSET(NullTest, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NullTest::GetMetadata() const {
  return GetMetadataStatic();
}


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

class BooleanTest::_Internal {
 public:
  static const ::pg_query::Node& xpr(const BooleanTest* msg);
  static const ::pg_query::Node& arg(const BooleanTest* msg);
};

const ::pg_query::Node&
BooleanTest::_Internal::xpr(const BooleanTest* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
BooleanTest::_Internal::arg(const BooleanTest* msg) {
  return *msg->arg_;
}
BooleanTest::BooleanTest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.BooleanTest)
}
BooleanTest::BooleanTest(const BooleanTest& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&booltesttype_, &from.booltesttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&booltesttype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.BooleanTest)
}

void BooleanTest::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

BooleanTest::~BooleanTest() {
  // @@protoc_insertion_point(destructor:pg_query.BooleanTest)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void BooleanTest::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void BooleanTest::ArenaDtor(void* object) {
  BooleanTest* _this = reinterpret_cast< BooleanTest* >(object);
  (void)_this;
}
void BooleanTest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void BooleanTest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const BooleanTest& BooleanTest::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&booltesttype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&booltesttype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* BooleanTest::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
      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_booltesttype(static_cast<::pg_query::BoolTestType>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* BooleanTest::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.BooleanTest)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
  if (this->booltesttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_booltesttype(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), 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:pg_query.BooleanTest)
  return target;
}

size_t BooleanTest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.BooleanTest)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
  if (this->booltesttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_booltesttype());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.booltesttype() != 0) {
    _internal_set_booltesttype(from._internal_booltesttype());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void BooleanTest::InternalSwap(BooleanTest* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BooleanTest, location_)
      + sizeof(BooleanTest::location_)
      - PROTOBUF_FIELD_OFFSET(BooleanTest, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata BooleanTest::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CoerceToDomain::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CoerceToDomain* msg);
  static const ::pg_query::Node& arg(const CoerceToDomain* msg);
};

const ::pg_query::Node&
CoerceToDomain::_Internal::xpr(const CoerceToDomain* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
CoerceToDomain::_Internal::arg(const CoerceToDomain* msg) {
  return *msg->arg_;
}
CoerceToDomain::CoerceToDomain(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceToDomain)
}
CoerceToDomain::CoerceToDomain(const CoerceToDomain& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&resulttype_, &from.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceToDomain)
}

void CoerceToDomain::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

CoerceToDomain::~CoerceToDomain() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceToDomain)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CoerceToDomain::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete arg_;
}

void CoerceToDomain::ArenaDtor(void* object) {
  CoerceToDomain* _this = reinterpret_cast< CoerceToDomain* >(object);
  (void)_this;
}
void CoerceToDomain::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CoerceToDomain::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CoerceToDomain& CoerceToDomain::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&resulttype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&resulttype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CoerceToDomain::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 2 [json_name = "arg"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resulttype = 3 [json_name = "resulttype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 resulttypmod = 4 [json_name = "resulttypmod"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resultcollid = 5 [json_name = "resultcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          resultcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_coercionformat(static_cast<::pg_query::CoercionForm>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CoerceToDomain::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoerceToDomain)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg(this), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
  if (this->coercionformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      6, this->_internal_coercionformat(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.CoerceToDomain)
  return target;
}

size_t CoerceToDomain::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CoerceToDomain)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->resulttype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->resulttypmod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->resultcollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
  if (this->coercionformat() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_coercionformat());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.resulttype() != 0) {
    _internal_set_resulttype(from._internal_resulttype());
  }
  if (from.resulttypmod() != 0) {
    _internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from.resultcollid() != 0) {
    _internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from.coercionformat() != 0) {
    _internal_set_coercionformat(from._internal_coercionformat());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void CoerceToDomain::InternalSwap(CoerceToDomain* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceToDomain, location_)
      + sizeof(CoerceToDomain::location_)
      - PROTOBUF_FIELD_OFFSET(CoerceToDomain, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoerceToDomain::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CoerceToDomainValue::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CoerceToDomainValue* msg);
};

const ::pg_query::Node&
CoerceToDomainValue::_Internal::xpr(const CoerceToDomainValue* msg) {
  return *msg->xpr_;
}
CoerceToDomainValue::CoerceToDomainValue(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceToDomainValue)
}
CoerceToDomainValue::CoerceToDomainValue(const CoerceToDomainValue& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&type_id_, &from.type_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&type_id_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceToDomainValue)
}

void CoerceToDomainValue::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

CoerceToDomainValue::~CoerceToDomainValue() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceToDomainValue)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void CoerceToDomainValue::ArenaDtor(void* object) {
  CoerceToDomainValue* _this = reinterpret_cast< CoerceToDomainValue* >(object);
  (void)_this;
}
void CoerceToDomainValue::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CoerceToDomainValue::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CoerceToDomainValue& CoerceToDomainValue::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&type_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&type_id_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CoerceToDomainValue::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 type_id = 2 [json_name = "typeId"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 type_mod = 3 [json_name = "typeMod"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          type_mod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          collation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CoerceToDomainValue::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoerceToDomainValue)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->type_mod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_collation(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.CoerceToDomainValue)
  return target;
}

size_t CoerceToDomainValue::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CoerceToDomainValue)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->type_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->type_mod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->collation() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_collation());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.type_id() != 0) {
    _internal_set_type_id(from._internal_type_id());
  }
  if (from.type_mod() != 0) {
    _internal_set_type_mod(from._internal_type_mod());
  }
  if (from.collation() != 0) {
    _internal_set_collation(from._internal_collation());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void CoerceToDomainValue::InternalSwap(CoerceToDomainValue* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, location_)
      + sizeof(CoerceToDomainValue::location_)
      - PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoerceToDomainValue::GetMetadata() const {
  return GetMetadataStatic();
}


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

class SetToDefault::_Internal {
 public:
  static const ::pg_query::Node& xpr(const SetToDefault* msg);
};

const ::pg_query::Node&
SetToDefault::_Internal::xpr(const SetToDefault* msg) {
  return *msg->xpr_;
}
SetToDefault::SetToDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SetToDefault)
}
SetToDefault::SetToDefault(const SetToDefault& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&type_id_, &from.type_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&type_id_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SetToDefault)
}

void SetToDefault::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(location_));
}

SetToDefault::~SetToDefault() {
  // @@protoc_insertion_point(destructor:pg_query.SetToDefault)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void SetToDefault::ArenaDtor(void* object) {
  SetToDefault* _this = reinterpret_cast< SetToDefault* >(object);
  (void)_this;
}
void SetToDefault::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SetToDefault::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SetToDefault& SetToDefault::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&type_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&type_id_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SetToDefault::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 type_id = 2 [json_name = "typeId"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 type_mod = 3 [json_name = "typeMod"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          type_mod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          collation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SetToDefault::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SetToDefault)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->type_mod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_collation(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.SetToDefault)
  return target;
}

size_t SetToDefault::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SetToDefault)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->type_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->type_mod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->collation() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_collation());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.type_id() != 0) {
    _internal_set_type_id(from._internal_type_id());
  }
  if (from.type_mod() != 0) {
    _internal_set_type_mod(from._internal_type_mod());
  }
  if (from.collation() != 0) {
    _internal_set_collation(from._internal_collation());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

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

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

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

void SetToDefault::InternalSwap(SetToDefault* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SetToDefault, location_)
      + sizeof(SetToDefault::location_)
      - PROTOBUF_FIELD_OFFSET(SetToDefault, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SetToDefault::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CurrentOfExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const CurrentOfExpr* msg);
};

const ::pg_query::Node&
CurrentOfExpr::_Internal::xpr(const CurrentOfExpr* msg) {
  return *msg->xpr_;
}
CurrentOfExpr::CurrentOfExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CurrentOfExpr)
}
CurrentOfExpr::CurrentOfExpr(const CurrentOfExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  cursor_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_cursor_name().empty()) {
    cursor_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_cursor_name(), 
      GetArena());
  }
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&cvarno_, &from.cvarno_,
    static_cast<size_t>(reinterpret_cast<char*>(&cursor_param_) -
    reinterpret_cast<char*>(&cvarno_)) + sizeof(cursor_param_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CurrentOfExpr)
}

void CurrentOfExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  cursor_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&cursor_param_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(cursor_param_));
}

CurrentOfExpr::~CurrentOfExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CurrentOfExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CurrentOfExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  cursor_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete xpr_;
}

void CurrentOfExpr::ArenaDtor(void* object) {
  CurrentOfExpr* _this = reinterpret_cast< CurrentOfExpr* >(object);
  (void)_this;
}
void CurrentOfExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CurrentOfExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CurrentOfExpr& CurrentOfExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  cursor_name_.ClearToEmpty();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&cvarno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&cursor_param_) -
      reinterpret_cast<char*>(&cvarno_)) + sizeof(cursor_param_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CurrentOfExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 cvarno = 2 [json_name = "cvarno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          cvarno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string cursor_name = 3 [json_name = "cursor_name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_cursor_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CurrentOfExpr.cursor_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 cursor_param = 4 [json_name = "cursor_param"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          cursor_param_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CurrentOfExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CurrentOfExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 cvarno = 2 [json_name = "cvarno"];
  if (this->cvarno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_cvarno(), target);
  }

  // string cursor_name = 3 [json_name = "cursor_name"];
  if (this->cursor_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_cursor_name().data(), static_cast<int>(this->_internal_cursor_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CurrentOfExpr.cursor_name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_cursor_name(), target);
  }

  // int32 cursor_param = 4 [json_name = "cursor_param"];
  if (this->cursor_param() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_cursor_param(), 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:pg_query.CurrentOfExpr)
  return target;
}

size_t CurrentOfExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CurrentOfExpr)
  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 cursor_name = 3 [json_name = "cursor_name"];
  if (this->cursor_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cursor_name());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 cvarno = 2 [json_name = "cvarno"];
  if (this->cvarno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_cvarno());
  }

  // int32 cursor_param = 4 [json_name = "cursor_param"];
  if (this->cursor_param() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_cursor_param());
  }

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

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

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

  if (from.cursor_name().size() > 0) {
    _internal_set_cursor_name(from._internal_cursor_name());
  }
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.cvarno() != 0) {
    _internal_set_cvarno(from._internal_cvarno());
  }
  if (from.cursor_param() != 0) {
    _internal_set_cursor_param(from._internal_cursor_param());
  }
}

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

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

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

void CurrentOfExpr::InternalSwap(CurrentOfExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  cursor_name_.Swap(&other->cursor_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CurrentOfExpr, cursor_param_)
      + sizeof(CurrentOfExpr::cursor_param_)
      - PROTOBUF_FIELD_OFFSET(CurrentOfExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CurrentOfExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class NextValueExpr::_Internal {
 public:
  static const ::pg_query::Node& xpr(const NextValueExpr* msg);
};

const ::pg_query::Node&
NextValueExpr::_Internal::xpr(const NextValueExpr* msg) {
  return *msg->xpr_;
}
NextValueExpr::NextValueExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NextValueExpr)
}
NextValueExpr::NextValueExpr(const NextValueExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  ::memcpy(&seqid_, &from.seqid_,
    static_cast<size_t>(reinterpret_cast<char*>(&type_id_) -
    reinterpret_cast<char*>(&seqid_)) + sizeof(type_id_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NextValueExpr)
}

void NextValueExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&type_id_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(type_id_));
}

NextValueExpr::~NextValueExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NextValueExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void NextValueExpr::ArenaDtor(void* object) {
  NextValueExpr* _this = reinterpret_cast< NextValueExpr* >(object);
  (void)_this;
}
void NextValueExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void NextValueExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const NextValueExpr& NextValueExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  ::memset(&seqid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&type_id_) -
      reinterpret_cast<char*>(&seqid_)) + sizeof(type_id_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* NextValueExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 seqid = 2 [json_name = "seqid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          seqid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 type_id = 3 [json_name = "typeId"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* NextValueExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NextValueExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // uint32 seqid = 2 [json_name = "seqid"];
  if (this->seqid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_seqid(), target);
  }

  // uint32 type_id = 3 [json_name = "typeId"];
  if (this->type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_type_id(), 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:pg_query.NextValueExpr)
  return target;
}

size_t NextValueExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.NextValueExpr)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // uint32 seqid = 2 [json_name = "seqid"];
  if (this->seqid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_seqid());
  }

  // uint32 type_id = 3 [json_name = "typeId"];
  if (this->type_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_type_id());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.seqid() != 0) {
    _internal_set_seqid(from._internal_seqid());
  }
  if (from.type_id() != 0) {
    _internal_set_type_id(from._internal_type_id());
  }
}

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

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

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

void NextValueExpr::InternalSwap(NextValueExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NextValueExpr, type_id_)
      + sizeof(NextValueExpr::type_id_)
      - PROTOBUF_FIELD_OFFSET(NextValueExpr, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NextValueExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class InferenceElem::_Internal {
 public:
  static const ::pg_query::Node& xpr(const InferenceElem* msg);
  static const ::pg_query::Node& expr(const InferenceElem* msg);
};

const ::pg_query::Node&
InferenceElem::_Internal::xpr(const InferenceElem* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
InferenceElem::_Internal::expr(const InferenceElem* msg) {
  return *msg->expr_;
}
InferenceElem::InferenceElem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InferenceElem)
}
InferenceElem::InferenceElem(const InferenceElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_expr()) {
    expr_ = new ::pg_query::Node(*from.expr_);
  } else {
    expr_ = nullptr;
  }
  ::memcpy(&infercollid_, &from.infercollid_,
    static_cast<size_t>(reinterpret_cast<char*>(&inferopclass_) -
    reinterpret_cast<char*>(&infercollid_)) + sizeof(inferopclass_));
  // @@protoc_insertion_point(copy_constructor:pg_query.InferenceElem)
}

void InferenceElem::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&inferopclass_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(inferopclass_));
}

InferenceElem::~InferenceElem() {
  // @@protoc_insertion_point(destructor:pg_query.InferenceElem)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void InferenceElem::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete expr_;
}

void InferenceElem::ArenaDtor(void* object) {
  InferenceElem* _this = reinterpret_cast< InferenceElem* >(object);
  (void)_this;
}
void InferenceElem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void InferenceElem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const InferenceElem& InferenceElem::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && expr_ != nullptr) {
    delete expr_;
  }
  expr_ = nullptr;
  ::memset(&infercollid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&inferopclass_) -
      reinterpret_cast<char*>(&infercollid_)) + sizeof(inferopclass_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InferenceElem::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 infercollid = 3 [json_name = "infercollid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          infercollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 inferopclass = 4 [json_name = "inferopclass"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          inferopclass_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* InferenceElem::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InferenceElem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::expr(this), target, stream);
  }

  // uint32 infercollid = 3 [json_name = "infercollid"];
  if (this->infercollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_infercollid(), target);
  }

  // uint32 inferopclass = 4 [json_name = "inferopclass"];
  if (this->inferopclass() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_inferopclass(), 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:pg_query.InferenceElem)
  return target;
}

size_t InferenceElem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.InferenceElem)
  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;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *expr_);
  }

  // uint32 infercollid = 3 [json_name = "infercollid"];
  if (this->infercollid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_infercollid());
  }

  // uint32 inferopclass = 4 [json_name = "inferopclass"];
  if (this->inferopclass() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_inferopclass());
  }

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

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

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

  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_expr()) {
    _internal_mutable_expr()->::pg_query::Node::MergeFrom(from._internal_expr());
  }
  if (from.infercollid() != 0) {
    _internal_set_infercollid(from._internal_infercollid());
  }
  if (from.inferopclass() != 0) {
    _internal_set_inferopclass(from._internal_inferopclass());
  }
}

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

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

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

void InferenceElem::InternalSwap(InferenceElem* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InferenceElem, inferopclass_)
      + sizeof(InferenceElem::inferopclass_)
      - PROTOBUF_FIELD_OFFSET(InferenceElem, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InferenceElem::GetMetadata() const {
  return GetMetadataStatic();
}


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

class TargetEntry::_Internal {
 public:
  static const ::pg_query::Node& xpr(const TargetEntry* msg);
  static const ::pg_query::Node& expr(const TargetEntry* msg);
};

const ::pg_query::Node&
TargetEntry::_Internal::xpr(const TargetEntry* msg) {
  return *msg->xpr_;
}
const ::pg_query::Node&
TargetEntry::_Internal::expr(const TargetEntry* msg) {
  return *msg->expr_;
}
TargetEntry::TargetEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TargetEntry)
}
TargetEntry::TargetEntry(const TargetEntry& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  resname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_resname().empty()) {
    resname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_resname(), 
      GetArena());
  }
  if (from._internal_has_xpr()) {
    xpr_ = new ::pg_query::Node(*from.xpr_);
  } else {
    xpr_ = nullptr;
  }
  if (from._internal_has_expr()) {
    expr_ = new ::pg_query::Node(*from.expr_);
  } else {
    expr_ = nullptr;
  }
  ::memcpy(&resno_, &from.resno_,
    static_cast<size_t>(reinterpret_cast<char*>(&resjunk_) -
    reinterpret_cast<char*>(&resno_)) + sizeof(resjunk_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TargetEntry)
}

void TargetEntry::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  resname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&xpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&resjunk_) -
      reinterpret_cast<char*>(&xpr_)) + sizeof(resjunk_));
}

TargetEntry::~TargetEntry() {
  // @@protoc_insertion_point(destructor:pg_query.TargetEntry)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TargetEntry::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  resname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete xpr_;
  if (this != internal_default_instance()) delete expr_;
}

void TargetEntry::ArenaDtor(void* object) {
  TargetEntry* _this = reinterpret_cast< TargetEntry* >(object);
  (void)_this;
}
void TargetEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TargetEntry::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TargetEntry& TargetEntry::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  resname_.ClearToEmpty();
  if (GetArena() == nullptr && xpr_ != nullptr) {
    delete xpr_;
  }
  xpr_ = nullptr;
  if (GetArena() == nullptr && expr_ != nullptr) {
    delete expr_;
  }
  expr_ = nullptr;
  ::memset(&resno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&resjunk_) -
      reinterpret_cast<char*>(&resno_)) + sizeof(resjunk_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TargetEntry::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 resno = 3 [json_name = "resno"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          resno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string resname = 4 [json_name = "resname"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_resname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.TargetEntry.resname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ressortgroupref_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          resorigtbl_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 resorigcol = 7 [json_name = "resorigcol"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          resorigcol_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool resjunk = 8 [json_name = "resjunk"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          resjunk_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TargetEntry::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TargetEntry)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::xpr(this), target, stream);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::expr(this), target, stream);
  }

  // int32 resno = 3 [json_name = "resno"];
  if (this->resno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_resno(), target);
  }

  // string resname = 4 [json_name = "resname"];
  if (this->resname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_resname().data(), static_cast<int>(this->_internal_resname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.TargetEntry.resname");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_resname(), target);
  }

  // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
  if (this->ressortgroupref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_ressortgroupref(), target);
  }

  // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
  if (this->resorigtbl() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_resorigtbl(), target);
  }

  // int32 resorigcol = 7 [json_name = "resorigcol"];
  if (this->resorigcol() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_resorigcol(), target);
  }

  // bool resjunk = 8 [json_name = "resjunk"];
  if (this->resjunk() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(8, this->_internal_resjunk(), 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:pg_query.TargetEntry)
  return target;
}

size_t TargetEntry::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TargetEntry)
  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 resname = 4 [json_name = "resname"];
  if (this->resname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_resname());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (this->has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *xpr_);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *expr_);
  }

  // int32 resno = 3 [json_name = "resno"];
  if (this->resno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_resno());
  }

  // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
  if (this->ressortgroupref() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_ressortgroupref());
  }

  // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
  if (this->resorigtbl() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_resorigtbl());
  }

  // int32 resorigcol = 7 [json_name = "resorigcol"];
  if (this->resorigcol() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_resorigcol());
  }

  // bool resjunk = 8 [json_name = "resjunk"];
  if (this->resjunk() != 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;
}

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

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

  if (from.resname().size() > 0) {
    _internal_set_resname(from._internal_resname());
  }
  if (from.has_xpr()) {
    _internal_mutable_xpr()->::pg_query::Node::MergeFrom(from._internal_xpr());
  }
  if (from.has_expr()) {
    _internal_mutable_expr()->::pg_query::Node::MergeFrom(from._internal_expr());
  }
  if (from.resno() != 0) {
    _internal_set_resno(from._internal_resno());
  }
  if (from.ressortgroupref() != 0) {
    _internal_set_ressortgroupref(from._internal_ressortgroupref());
  }
  if (from.resorigtbl() != 0) {
    _internal_set_resorigtbl(from._internal_resorigtbl());
  }
  if (from.resorigcol() != 0) {
    _internal_set_resorigcol(from._internal_resorigcol());
  }
  if (from.resjunk() != 0) {
    _internal_set_resjunk(from._internal_resjunk());
  }
}

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

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

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

void TargetEntry::InternalSwap(TargetEntry* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  resname_.Swap(&other->resname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TargetEntry, resjunk_)
      + sizeof(TargetEntry::resjunk_)
      - PROTOBUF_FIELD_OFFSET(TargetEntry, xpr_)>(
          reinterpret_cast<char*>(&xpr_),
          reinterpret_cast<char*>(&other->xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TargetEntry::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RangeTblRef::_Internal {
 public:
};

RangeTblRef::RangeTblRef(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblRef)
}
RangeTblRef::RangeTblRef(const RangeTblRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  rtindex_ = from.rtindex_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblRef)
}

void RangeTblRef::SharedCtor() {
  rtindex_ = 0;
}

RangeTblRef::~RangeTblRef() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblRef)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void RangeTblRef::ArenaDtor(void* object) {
  RangeTblRef* _this = reinterpret_cast< RangeTblRef* >(object);
  (void)_this;
}
void RangeTblRef::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeTblRef::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeTblRef& RangeTblRef::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_RangeTblRef_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  rtindex_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTblRef::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 rtindex = 1 [json_name = "rtindex"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          rtindex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RangeTblRef::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 rtindex = 1 [json_name = "rtindex"];
  if (this->rtindex() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_rtindex(), 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:pg_query.RangeTblRef)
  return target;
}

size_t RangeTblRef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeTblRef)
  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;

  // int32 rtindex = 1 [json_name = "rtindex"];
  if (this->rtindex() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_rtindex());
  }

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

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

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

  if (from.rtindex() != 0) {
    _internal_set_rtindex(from._internal_rtindex());
  }
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata RangeTblRef::GetMetadata() const {
  return GetMetadataStatic();
}


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

class JoinExpr::_Internal {
 public:
  static const ::pg_query::Node& larg(const JoinExpr* msg);
  static const ::pg_query::Node& rarg(const JoinExpr* msg);
  static const ::pg_query::Node& quals(const JoinExpr* msg);
  static const ::pg_query::Alias& alias(const JoinExpr* msg);
};

const ::pg_query::Node&
JoinExpr::_Internal::larg(const JoinExpr* msg) {
  return *msg->larg_;
}
const ::pg_query::Node&
JoinExpr::_Internal::rarg(const JoinExpr* msg) {
  return *msg->rarg_;
}
const ::pg_query::Node&
JoinExpr::_Internal::quals(const JoinExpr* msg) {
  return *msg->quals_;
}
const ::pg_query::Alias&
JoinExpr::_Internal::alias(const JoinExpr* msg) {
  return *msg->alias_;
}
JoinExpr::JoinExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  using_clause_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JoinExpr)
}
JoinExpr::JoinExpr(const JoinExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      using_clause_(from.using_clause_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_larg()) {
    larg_ = new ::pg_query::Node(*from.larg_);
  } else {
    larg_ = nullptr;
  }
  if (from._internal_has_rarg()) {
    rarg_ = new ::pg_query::Node(*from.rarg_);
  } else {
    rarg_ = nullptr;
  }
  if (from._internal_has_quals()) {
    quals_ = new ::pg_query::Node(*from.quals_);
  } else {
    quals_ = nullptr;
  }
  if (from._internal_has_alias()) {
    alias_ = new ::pg_query::Alias(*from.alias_);
  } else {
    alias_ = nullptr;
  }
  ::memcpy(&jointype_, &from.jointype_,
    static_cast<size_t>(reinterpret_cast<char*>(&rtindex_) -
    reinterpret_cast<char*>(&jointype_)) + sizeof(rtindex_));
  // @@protoc_insertion_point(copy_constructor:pg_query.JoinExpr)
}

void JoinExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&larg_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&rtindex_) -
      reinterpret_cast<char*>(&larg_)) + sizeof(rtindex_));
}

JoinExpr::~JoinExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JoinExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void JoinExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete larg_;
  if (this != internal_default_instance()) delete rarg_;
  if (this != internal_default_instance()) delete quals_;
  if (this != internal_default_instance()) delete alias_;
}

void JoinExpr::ArenaDtor(void* object) {
  JoinExpr* _this = reinterpret_cast< JoinExpr* >(object);
  (void)_this;
}
void JoinExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void JoinExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const JoinExpr& JoinExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  using_clause_.Clear();
  if (GetArena() == nullptr && larg_ != nullptr) {
    delete larg_;
  }
  larg_ = nullptr;
  if (GetArena() == nullptr && rarg_ != nullptr) {
    delete rarg_;
  }
  rarg_ = nullptr;
  if (GetArena() == nullptr && quals_ != nullptr) {
    delete quals_;
  }
  quals_ = nullptr;
  if (GetArena() == nullptr && alias_ != nullptr) {
    delete alias_;
  }
  alias_ = nullptr;
  ::memset(&jointype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&rtindex_) -
      reinterpret_cast<char*>(&jointype_)) + sizeof(rtindex_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* JoinExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
      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);
          _internal_set_jointype(static_cast<::pg_query::JoinType>(val));
        } else goto handle_unusual;
        continue;
      // bool is_natural = 2 [json_name = "isNatural"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          is_natural_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node larg = 3 [json_name = "larg"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_larg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node rarg = 4 [json_name = "rarg"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_rarg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_using_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node quals = 6 [json_name = "quals"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_quals(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 7 [json_name = "alias"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 rtindex = 8 [json_name = "rtindex"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          rtindex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* JoinExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JoinExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
  if (this->jointype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_jointype(), target);
  }

  // bool is_natural = 2 [json_name = "isNatural"];
  if (this->is_natural() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_is_natural(), target);
  }

  // .pg_query.Node larg = 3 [json_name = "larg"];
  if (this->has_larg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::larg(this), target, stream);
  }

  // .pg_query.Node rarg = 4 [json_name = "rarg"];
  if (this->has_rarg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::rarg(this), target, stream);
  }

  // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_using_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_using_clause(i), target, stream);
  }

  // .pg_query.Node quals = 6 [json_name = "quals"];
  if (this->has_quals()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::quals(this), target, stream);
  }

  // .pg_query.Alias alias = 7 [json_name = "alias"];
  if (this->has_alias()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::alias(this), target, stream);
  }

  // int32 rtindex = 8 [json_name = "rtindex"];
  if (this->rtindex() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_rtindex(), 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:pg_query.JoinExpr)
  return target;
}

size_t JoinExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.JoinExpr)
  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 .pg_query.Node using_clause = 5 [json_name = "usingClause"];
  total_size += 1UL * this->_internal_using_clause_size();
  for (const auto& msg : this->using_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node larg = 3 [json_name = "larg"];
  if (this->has_larg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *larg_);
  }

  // .pg_query.Node rarg = 4 [json_name = "rarg"];
  if (this->has_rarg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *rarg_);
  }

  // .pg_query.Node quals = 6 [json_name = "quals"];
  if (this->has_quals()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *quals_);
  }

  // .pg_query.Alias alias = 7 [json_name = "alias"];
  if (this->has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *alias_);
  }

  // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
  if (this->jointype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_jointype());
  }

  // bool is_natural = 2 [json_name = "isNatural"];
  if (this->is_natural() != 0) {
    total_size += 1 + 1;
  }

  // int32 rtindex = 8 [json_name = "rtindex"];
  if (this->rtindex() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_rtindex());
  }

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

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

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

  using_clause_.MergeFrom(from.using_clause_);
  if (from.has_larg()) {
    _internal_mutable_larg()->::pg_query::Node::MergeFrom(from._internal_larg());
  }
  if (from.has_rarg()) {
    _internal_mutable_rarg()->::pg_query::Node::MergeFrom(from._internal_rarg());
  }
  if (from.has_quals()) {
    _internal_mutable_quals()->::pg_query::Node::MergeFrom(from._internal_quals());
  }
  if (from.has_alias()) {
    _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
  }
  if (from.jointype() != 0) {
    _internal_set_jointype(from._internal_jointype());
  }
  if (from.is_natural() != 0) {
    _internal_set_is_natural(from._internal_is_natural());
  }
  if (from.rtindex() != 0) {
    _internal_set_rtindex(from._internal_rtindex());
  }
}

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

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

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

void JoinExpr::InternalSwap(JoinExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  using_clause_.InternalSwap(&other->using_clause_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JoinExpr, rtindex_)
      + sizeof(JoinExpr::rtindex_)
      - PROTOBUF_FIELD_OFFSET(JoinExpr, larg_)>(
          reinterpret_cast<char*>(&larg_),
          reinterpret_cast<char*>(&other->larg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata JoinExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class FromExpr::_Internal {
 public:
  static const ::pg_query::Node& quals(const FromExpr* msg);
};

const ::pg_query::Node&
FromExpr::_Internal::quals(const FromExpr* msg) {
  return *msg->quals_;
}
FromExpr::FromExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  fromlist_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FromExpr)
}
FromExpr::FromExpr(const FromExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      fromlist_(from.fromlist_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_quals()) {
    quals_ = new ::pg_query::Node(*from.quals_);
  } else {
    quals_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.FromExpr)
}

void FromExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  quals_ = nullptr;
}

FromExpr::~FromExpr() {
  // @@protoc_insertion_point(destructor:pg_query.FromExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void FromExpr::ArenaDtor(void* object) {
  FromExpr* _this = reinterpret_cast< FromExpr* >(object);
  (void)_this;
}
void FromExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void FromExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FromExpr& FromExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  fromlist_.Clear();
  if (GetArena() == nullptr && quals_ != nullptr) {
    delete quals_;
  }
  quals_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FromExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_fromlist(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node quals = 2 [json_name = "quals"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_quals(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* FromExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FromExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_fromlist_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_fromlist(i), target, stream);
  }

  // .pg_query.Node quals = 2 [json_name = "quals"];
  if (this->has_quals()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::quals(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:pg_query.FromExpr)
  return target;
}

size_t FromExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.FromExpr)
  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 .pg_query.Node fromlist = 1 [json_name = "fromlist"];
  total_size += 1UL * this->_internal_fromlist_size();
  for (const auto& msg : this->fromlist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node quals = 2 [json_name = "quals"];
  if (this->has_quals()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *quals_);
  }

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

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

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

  fromlist_.MergeFrom(from.fromlist_);
  if (from.has_quals()) {
    _internal_mutable_quals()->::pg_query::Node::MergeFrom(from._internal_quals());
  }
}

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

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

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

void FromExpr::InternalSwap(FromExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  fromlist_.InternalSwap(&other->fromlist_);
  swap(quals_, other->quals_);
}

::PROTOBUF_NAMESPACE_ID::Metadata FromExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class OnConflictExpr::_Internal {
 public:
  static const ::pg_query::Node& arbiter_where(const OnConflictExpr* msg);
  static const ::pg_query::Node& on_conflict_where(const OnConflictExpr* msg);
};

const ::pg_query::Node&
OnConflictExpr::_Internal::arbiter_where(const OnConflictExpr* msg) {
  return *msg->arbiter_where_;
}
const ::pg_query::Node&
OnConflictExpr::_Internal::on_conflict_where(const OnConflictExpr* msg) {
  return *msg->on_conflict_where_;
}
OnConflictExpr::OnConflictExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  arbiter_elems_(arena),
  on_conflict_set_(arena),
  excl_rel_tlist_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.OnConflictExpr)
}
OnConflictExpr::OnConflictExpr(const OnConflictExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      arbiter_elems_(from.arbiter_elems_),
      on_conflict_set_(from.on_conflict_set_),
      excl_rel_tlist_(from.excl_rel_tlist_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arbiter_where()) {
    arbiter_where_ = new ::pg_query::Node(*from.arbiter_where_);
  } else {
    arbiter_where_ = nullptr;
  }
  if (from._internal_has_on_conflict_where()) {
    on_conflict_where_ = new ::pg_query::Node(*from.on_conflict_where_);
  } else {
    on_conflict_where_ = nullptr;
  }
  ::memcpy(&action_, &from.action_,
    static_cast<size_t>(reinterpret_cast<char*>(&excl_rel_index_) -
    reinterpret_cast<char*>(&action_)) + sizeof(excl_rel_index_));
  // @@protoc_insertion_point(copy_constructor:pg_query.OnConflictExpr)
}

void OnConflictExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&arbiter_where_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&excl_rel_index_) -
      reinterpret_cast<char*>(&arbiter_where_)) + sizeof(excl_rel_index_));
}

OnConflictExpr::~OnConflictExpr() {
  // @@protoc_insertion_point(destructor:pg_query.OnConflictExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void OnConflictExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete arbiter_where_;
  if (this != internal_default_instance()) delete on_conflict_where_;
}

void OnConflictExpr::ArenaDtor(void* object) {
  OnConflictExpr* _this = reinterpret_cast< OnConflictExpr* >(object);
  (void)_this;
}
void OnConflictExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void OnConflictExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const OnConflictExpr& OnConflictExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  arbiter_elems_.Clear();
  on_conflict_set_.Clear();
  excl_rel_tlist_.Clear();
  if (GetArena() == nullptr && arbiter_where_ != nullptr) {
    delete arbiter_where_;
  }
  arbiter_where_ = nullptr;
  if (GetArena() == nullptr && on_conflict_where_ != nullptr) {
    delete on_conflict_where_;
  }
  on_conflict_where_ = nullptr;
  ::memset(&action_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&excl_rel_index_) -
      reinterpret_cast<char*>(&action_)) + sizeof(excl_rel_index_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* OnConflictExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.OnConflictAction action = 1 [json_name = "action"];
      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);
          _internal_set_action(static_cast<::pg_query::OnConflictAction>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_arbiter_elems(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_arbiter_where(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 constraint = 4 [json_name = "constraint"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_on_conflict_set(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_on_conflict_where(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          excl_rel_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_excl_rel_tlist(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* OnConflictExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OnConflictExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_action(), target);
  }

  // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_arbiter_elems_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_arbiter_elems(i), target, stream);
  }

  // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
  if (this->has_arbiter_where()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::arbiter_where(this), target, stream);
  }

  // uint32 constraint = 4 [json_name = "constraint"];
  if (this->constraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_constraint(), target);
  }

  // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_on_conflict_set_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_on_conflict_set(i), target, stream);
  }

  // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
  if (this->has_on_conflict_where()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::on_conflict_where(this), target, stream);
  }

  // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
  if (this->excl_rel_index() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_excl_rel_index(), target);
  }

  // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_excl_rel_tlist_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_excl_rel_tlist(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:pg_query.OnConflictExpr)
  return target;
}

size_t OnConflictExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.OnConflictExpr)
  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 .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
  total_size += 1UL * this->_internal_arbiter_elems_size();
  for (const auto& msg : this->arbiter_elems_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
  total_size += 1UL * this->_internal_on_conflict_set_size();
  for (const auto& msg : this->on_conflict_set_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
  total_size += 1UL * this->_internal_excl_rel_tlist_size();
  for (const auto& msg : this->excl_rel_tlist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
  if (this->has_arbiter_where()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arbiter_where_);
  }

  // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
  if (this->has_on_conflict_where()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *on_conflict_where_);
  }

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->action() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_action());
  }

  // uint32 constraint = 4 [json_name = "constraint"];
  if (this->constraint() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_constraint());
  }

  // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
  if (this->excl_rel_index() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_excl_rel_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;
}

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

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

  arbiter_elems_.MergeFrom(from.arbiter_elems_);
  on_conflict_set_.MergeFrom(from.on_conflict_set_);
  excl_rel_tlist_.MergeFrom(from.excl_rel_tlist_);
  if (from.has_arbiter_where()) {
    _internal_mutable_arbiter_where()->::pg_query::Node::MergeFrom(from._internal_arbiter_where());
  }
  if (from.has_on_conflict_where()) {
    _internal_mutable_on_conflict_where()->::pg_query::Node::MergeFrom(from._internal_on_conflict_where());
  }
  if (from.action() != 0) {
    _internal_set_action(from._internal_action());
  }
  if (from.constraint() != 0) {
    _internal_set_constraint(from._internal_constraint());
  }
  if (from.excl_rel_index() != 0) {
    _internal_set_excl_rel_index(from._internal_excl_rel_index());
  }
}

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

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

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

void OnConflictExpr::InternalSwap(OnConflictExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  arbiter_elems_.InternalSwap(&other->arbiter_elems_);
  on_conflict_set_.InternalSwap(&other->on_conflict_set_);
  excl_rel_tlist_.InternalSwap(&other->excl_rel_tlist_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OnConflictExpr, excl_rel_index_)
      + sizeof(OnConflictExpr::excl_rel_index_)
      - PROTOBUF_FIELD_OFFSET(OnConflictExpr, arbiter_where_)>(
          reinterpret_cast<char*>(&arbiter_where_),
          reinterpret_cast<char*>(&other->arbiter_where_));
}

::PROTOBUF_NAMESPACE_ID::Metadata OnConflictExpr::GetMetadata() const {
  return GetMetadataStatic();
}


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

class IntoClause::_Internal {
 public:
  static const ::pg_query::RangeVar& rel(const IntoClause* msg);
  static const ::pg_query::Node& view_query(const IntoClause* msg);
};

const ::pg_query::RangeVar&
IntoClause::_Internal::rel(const IntoClause* msg) {
  return *msg->rel_;
}
const ::pg_query::Node&
IntoClause::_Internal::view_query(const IntoClause* msg) {
  return *msg->view_query_;
}
IntoClause::IntoClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  col_names_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.IntoClause)
}
IntoClause::IntoClause(const IntoClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      col_names_(from.col_names_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_access_method().empty()) {
    access_method_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_access_method(), 
      GetArena());
  }
  table_space_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_table_space_name().empty()) {
    table_space_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_space_name(), 
      GetArena());
  }
  if (from._internal_has_rel()) {
    rel_ = new ::pg_query::RangeVar(*from.rel_);
  } else {
    rel_ = nullptr;
  }
  if (from._internal_has_view_query()) {
    view_query_ = new ::pg_query::Node(*from.view_query_);
  } else {
    view_query_ = nullptr;
  }
  ::memcpy(&on_commit_, &from.on_commit_,
    static_cast<size_t>(reinterpret_cast<char*>(&skip_data_) -
    reinterpret_cast<char*>(&on_commit_)) + sizeof(skip_data_));
  // @@protoc_insertion_point(copy_constructor:pg_query.IntoClause)
}

void IntoClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_space_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&rel_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&skip_data_) -
      reinterpret_cast<char*>(&rel_)) + sizeof(skip_data_));
}

IntoClause::~IntoClause() {
  // @@protoc_insertion_point(destructor:pg_query.IntoClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void IntoClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  access_method_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_space_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete rel_;
  if (this != internal_default_instance()) delete view_query_;
}

void IntoClause::ArenaDtor(void* object) {
  IntoClause* _this = reinterpret_cast< IntoClause* >(object);
  (void)_this;
}
void IntoClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void IntoClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const IntoClause& IntoClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  col_names_.Clear();
  options_.Clear();
  access_method_.ClearToEmpty();
  table_space_name_.ClearToEmpty();
  if (GetArena() == nullptr && rel_ != nullptr) {
    delete rel_;
  }
  rel_ = nullptr;
  if (GetArena() == nullptr && view_query_ != nullptr) {
    delete view_query_;
  }
  view_query_ = nullptr;
  ::memset(&on_commit_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&skip_data_) -
      reinterpret_cast<char*>(&on_commit_)) + sizeof(skip_data_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IntoClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar rel = 1 [json_name = "rel"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_rel(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node col_names = 2 [json_name = "colNames"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_col_names(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // string access_method = 3 [json_name = "accessMethod"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_access_method();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.IntoClause.access_method"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 4 [json_name = "options"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_on_commit(static_cast<::pg_query::OnCommitAction>(val));
        } else goto handle_unusual;
        continue;
      // string table_space_name = 6 [json_name = "tableSpaceName"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_table_space_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.IntoClause.table_space_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_view_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool skip_data = 8 [json_name = "skipData"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          skip_data_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* IntoClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IntoClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar rel = 1 [json_name = "rel"];
  if (this->has_rel()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::rel(this), target, stream);
  }

  // repeated .pg_query.Node col_names = 2 [json_name = "colNames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_col_names_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_col_names(i), target, stream);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (this->access_method().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_access_method().data(), static_cast<int>(this->_internal_access_method().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IntoClause.access_method");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_access_method(), target);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_options(i), target, stream);
  }

  // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
  if (this->on_commit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      5, this->_internal_on_commit(), target);
  }

  // string table_space_name = 6 [json_name = "tableSpaceName"];
  if (this->table_space_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_table_space_name().data(), static_cast<int>(this->_internal_table_space_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IntoClause.table_space_name");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_table_space_name(), target);
  }

  // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
  if (this->has_view_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::view_query(this), target, stream);
  }

  // bool skip_data = 8 [json_name = "skipData"];
  if (this->skip_data() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(8, this->_internal_skip_data(), 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:pg_query.IntoClause)
  return target;
}

size_t IntoClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.IntoClause)
  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 .pg_query.Node col_names = 2 [json_name = "colNames"];
  total_size += 1UL * this->_internal_col_names_size();
  for (const auto& msg : this->col_names_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (this->access_method().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // string table_space_name = 6 [json_name = "tableSpaceName"];
  if (this->table_space_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_space_name());
  }

  // .pg_query.RangeVar rel = 1 [json_name = "rel"];
  if (this->has_rel()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *rel_);
  }

  // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
  if (this->has_view_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *view_query_);
  }

  // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
  if (this->on_commit() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_on_commit());
  }

  // bool skip_data = 8 [json_name = "skipData"];
  if (this->skip_data() != 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;
}

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

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

  col_names_.MergeFrom(from.col_names_);
  options_.MergeFrom(from.options_);
  if (from.access_method().size() > 0) {
    _internal_set_access_method(from._internal_access_method());
  }
  if (from.table_space_name().size() > 0) {
    _internal_set_table_space_name(from._internal_table_space_name());
  }
  if (from.has_rel()) {
    _internal_mutable_rel()->::pg_query::RangeVar::MergeFrom(from._internal_rel());
  }
  if (from.has_view_query()) {
    _internal_mutable_view_query()->::pg_query::Node::MergeFrom(from._internal_view_query());
  }
  if (from.on_commit() != 0) {
    _internal_set_on_commit(from._internal_on_commit());
  }
  if (from.skip_data() != 0) {
    _internal_set_skip_data(from._internal_skip_data());
  }
}

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

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

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

void IntoClause::InternalSwap(IntoClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  col_names_.InternalSwap(&other->col_names_);
  options_.InternalSwap(&other->options_);
  access_method_.Swap(&other->access_method_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  table_space_name_.Swap(&other->table_space_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IntoClause, skip_data_)
      + sizeof(IntoClause::skip_data_)
      - PROTOBUF_FIELD_OFFSET(IntoClause, rel_)>(
          reinterpret_cast<char*>(&rel_),
          reinterpret_cast<char*>(&other->rel_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IntoClause::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RawStmt::_Internal {
 public:
  static const ::pg_query::Node& stmt(const RawStmt* msg);
};

const ::pg_query::Node&
RawStmt::_Internal::stmt(const RawStmt* msg) {
  return *msg->stmt_;
}
RawStmt::RawStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RawStmt)
}
RawStmt::RawStmt(const RawStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_stmt()) {
    stmt_ = new ::pg_query::Node(*from.stmt_);
  } else {
    stmt_ = nullptr;
  }
  ::memcpy(&stmt_location_, &from.stmt_location_,
    static_cast<size_t>(reinterpret_cast<char*>(&stmt_len_) -
    reinterpret_cast<char*>(&stmt_location_)) + sizeof(stmt_len_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RawStmt)
}

void RawStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&stmt_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&stmt_len_) -
      reinterpret_cast<char*>(&stmt_)) + sizeof(stmt_len_));
}

RawStmt::~RawStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RawStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void RawStmt::ArenaDtor(void* object) {
  RawStmt* _this = reinterpret_cast< RawStmt* >(object);
  (void)_this;
}
void RawStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RawStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RawStmt& RawStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  if (GetArena() == nullptr && stmt_ != nullptr) {
    delete stmt_;
  }
  stmt_ = nullptr;
  ::memset(&stmt_location_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&stmt_len_) -
      reinterpret_cast<char*>(&stmt_location_)) + sizeof(stmt_len_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RawStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node stmt = 1 [json_name = "stmt"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 stmt_location = 2 [json_name = "stmt_location"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          stmt_location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 stmt_len = 3 [json_name = "stmt_len"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          stmt_len_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RawStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RawStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node stmt = 1 [json_name = "stmt"];
  if (this->has_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::stmt(this), target, stream);
  }

  // int32 stmt_location = 2 [json_name = "stmt_location"];
  if (this->stmt_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_stmt_location(), target);
  }

  // int32 stmt_len = 3 [json_name = "stmt_len"];
  if (this->stmt_len() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_stmt_len(), 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:pg_query.RawStmt)
  return target;
}

size_t RawStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RawStmt)
  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;

  // .pg_query.Node stmt = 1 [json_name = "stmt"];
  if (this->has_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *stmt_);
  }

  // int32 stmt_location = 2 [json_name = "stmt_location"];
  if (this->stmt_location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_stmt_location());
  }

  // int32 stmt_len = 3 [json_name = "stmt_len"];
  if (this->stmt_len() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_stmt_len());
  }

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

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

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

  if (from.has_stmt()) {
    _internal_mutable_stmt()->::pg_query::Node::MergeFrom(from._internal_stmt());
  }
  if (from.stmt_location() != 0) {
    _internal_set_stmt_location(from._internal_stmt_location());
  }
  if (from.stmt_len() != 0) {
    _internal_set_stmt_len(from._internal_stmt_len());
  }
}

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

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

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

void RawStmt::InternalSwap(RawStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RawStmt, stmt_len_)
      + sizeof(RawStmt::stmt_len_)
      - PROTOBUF_FIELD_OFFSET(RawStmt, stmt_)>(
          reinterpret_cast<char*>(&stmt_),
          reinterpret_cast<char*>(&other->stmt_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RawStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class Query::_Internal {
 public:
  static const ::pg_query::Node& utility_stmt(const Query* msg);
  static const ::pg_query::FromExpr& jointree(const Query* msg);
  static const ::pg_query::OnConflictExpr& on_conflict(const Query* msg);
  static const ::pg_query::Node& having_qual(const Query* msg);
  static const ::pg_query::Node& limit_offset(const Query* msg);
  static const ::pg_query::Node& limit_count(const Query* msg);
  static const ::pg_query::Node& set_operations(const Query* msg);
};

const ::pg_query::Node&
Query::_Internal::utility_stmt(const Query* msg) {
  return *msg->utility_stmt_;
}
const ::pg_query::FromExpr&
Query::_Internal::jointree(const Query* msg) {
  return *msg->jointree_;
}
const ::pg_query::OnConflictExpr&
Query::_Internal::on_conflict(const Query* msg) {
  return *msg->on_conflict_;
}
const ::pg_query::Node&
Query::_Internal::having_qual(const Query* msg) {
  return *msg->having_qual_;
}
const ::pg_query::Node&
Query::_Internal::limit_offset(const Query* msg) {
  return *msg->limit_offset_;
}
const ::pg_query::Node&
Query::_Internal::limit_count(const Query* msg) {
  return *msg->limit_count_;
}
const ::pg_query::Node&
Query::_Internal::set_operations(const Query* msg) {
  return *msg->set_operations_;
}
Query::Query(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  cte_list_(arena),
  rtable_(arena),
  target_list_(arena),
  returning_list_(arena),
  group_clause_(arena),
  grouping_sets_(arena),
  window_clause_(arena),
  distinct_clause_(arena),
  sort_clause_(arena),
  row_marks_(arena),
  constraint_deps_(arena),
  with_check_options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Query)
}
Query::Query(const Query& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      cte_list_(from.cte_list_),
      rtable_(from.rtable_),
      target_list_(from.target_list_),
      returning_list_(from.returning_list_),
      group_clause_(from.group_clause_),
      grouping_sets_(from.grouping_sets_),
      window_clause_(from.window_clause_),
      distinct_clause_(from.distinct_clause_),
      sort_clause_(from.sort_clause_),
      row_marks_(from.row_marks_),
      constraint_deps_(from.constraint_deps_),
      with_check_options_(from.with_check_options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_utility_stmt()) {
    utility_stmt_ = new ::pg_query::Node(*from.utility_stmt_);
  } else {
    utility_stmt_ = nullptr;
  }
  if (from._internal_has_jointree()) {
    jointree_ = new ::pg_query::FromExpr(*from.jointree_);
  } else {
    jointree_ = nullptr;
  }
  if (from._internal_has_on_conflict()) {
    on_conflict_ = new ::pg_query::OnConflictExpr(*from.on_conflict_);
  } else {
    on_conflict_ = nullptr;
  }
  if (from._internal_has_having_qual()) {
    having_qual_ = new ::pg_query::Node(*from.having_qual_);
  } else {
    having_qual_ = nullptr;
  }
  if (from._internal_has_limit_offset()) {
    limit_offset_ = new ::pg_query::Node(*from.limit_offset_);
  } else {
    limit_offset_ = nullptr;
  }
  if (from._internal_has_limit_count()) {
    limit_count_ = new ::pg_query::Node(*from.limit_count_);
  } else {
    limit_count_ = nullptr;
  }
  if (from._internal_has_set_operations()) {
    set_operations_ = new ::pg_query::Node(*from.set_operations_);
  } else {
    set_operations_ = nullptr;
  }
  ::memcpy(&command_type_, &from.command_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&stmt_len_) -
    reinterpret_cast<char*>(&command_type_)) + sizeof(stmt_len_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Query)
}

void Query::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&utility_stmt_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&stmt_len_) -
      reinterpret_cast<char*>(&utility_stmt_)) + sizeof(stmt_len_));
}

Query::~Query() {
  // @@protoc_insertion_point(destructor:pg_query.Query)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Query::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete utility_stmt_;
  if (this != internal_default_instance()) delete jointree_;
  if (this != internal_default_instance()) delete on_conflict_;
  if (this != internal_default_instance()) delete having_qual_;
  if (this != internal_default_instance()) delete limit_offset_;
  if (this != internal_default_instance()) delete limit_count_;
  if (this != internal_default_instance()) delete set_operations_;
}

void Query::ArenaDtor(void* object) {
  Query* _this = reinterpret_cast< Query* >(object);
  (void)_this;
}
void Query::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Query::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Query& Query::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  cte_list_.Clear();
  rtable_.Clear();
  target_list_.Clear();
  returning_list_.Clear();
  group_clause_.Clear();
  grouping_sets_.Clear();
  window_clause_.Clear();
  distinct_clause_.Clear();
  sort_clause_.Clear();
  row_marks_.Clear();
  constraint_deps_.Clear();
  with_check_options_.Clear();
  if (GetArena() == nullptr && utility_stmt_ != nullptr) {
    delete utility_stmt_;
  }
  utility_stmt_ = nullptr;
  if (GetArena() == nullptr && jointree_ != nullptr) {
    delete jointree_;
  }
  jointree_ = nullptr;
  if (GetArena() == nullptr && on_conflict_ != nullptr) {
    delete on_conflict_;
  }
  on_conflict_ = nullptr;
  if (GetArena() == nullptr && having_qual_ != nullptr) {
    delete having_qual_;
  }
  having_qual_ = nullptr;
  if (GetArena() == nullptr && limit_offset_ != nullptr) {
    delete limit_offset_;
  }
  limit_offset_ = nullptr;
  if (GetArena() == nullptr && limit_count_ != nullptr) {
    delete limit_count_;
  }
  limit_count_ = nullptr;
  if (GetArena() == nullptr && set_operations_ != nullptr) {
    delete set_operations_;
  }
  set_operations_ = nullptr;
  ::memset(&command_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&stmt_len_) -
      reinterpret_cast<char*>(&command_type_)) + sizeof(stmt_len_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Query::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
      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);
          _internal_set_command_type(static_cast<::pg_query::CmdType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
      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_query_source(static_cast<::pg_query::QuerySource>(val));
        } else goto handle_unusual;
        continue;
      // bool can_set_tag = 3 [json_name = "canSetTag"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          can_set_tag_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_utility_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 result_relation = 5 [json_name = "resultRelation"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          result_relation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_aggs = 6 [json_name = "hasAggs"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          has_aggs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          has_window_funcs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          has_target_srfs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_sub_links = 9 [json_name = "hasSubLinks"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          has_sub_links_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          has_distinct_on_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_recursive = 11 [json_name = "hasRecursive"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          has_recursive_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          has_modifying_cte_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_for_update = 13 [json_name = "hasForUpdate"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          has_for_update_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool has_row_security = 14 [json_name = "hasRowSecurity"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          has_row_security_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node cte_list = 15 [json_name = "cteList"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_cte_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<122>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node rtable = 16 [json_name = "rtable"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_rtable(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<130>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.FromExpr jointree = 17 [json_name = "jointree"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          ptr = ctx->ParseMessage(_internal_mutable_jointree(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node target_list = 18 [json_name = "targetList"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_target_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<146>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.OverridingKind override = 19 [json_name = "override"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_override(static_cast<::pg_query::OverridingKind>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.OnConflictExpr on_conflict = 20 [json_name = "onConflict"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_on_conflict(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node returning_list = 21 [json_name = "returningList"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_returning_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<170>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node group_clause = 22 [json_name = "groupClause"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_group_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<178>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node grouping_sets = 23 [json_name = "groupingSets"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_grouping_sets(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<186>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node having_qual = 24 [json_name = "havingQual"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          ptr = ctx->ParseMessage(_internal_mutable_having_qual(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node window_clause = 25 [json_name = "windowClause"];
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_window_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<202>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node distinct_clause = 26 [json_name = "distinctClause"];
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_distinct_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<210>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node sort_clause = 27 [json_name = "sortClause"];
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_sort_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<218>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node limit_offset = 28 [json_name = "limitOffset"];
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_offset(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node limit_count = 29 [json_name = "limitCount"];
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_count(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.LimitOption limit_option = 30 [json_name = "limitOption"];
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_limit_option(static_cast<::pg_query::LimitOption>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node row_marks = 31 [json_name = "rowMarks"];
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_row_marks(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<250>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node set_operations = 32 [json_name = "setOperations"];
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_set_operations(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node constraint_deps = 33 [json_name = "constraintDeps"];
      case 33:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_constraint_deps(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<266>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node with_check_options = 34 [json_name = "withCheckOptions"];
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_with_check_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<274>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 stmt_location = 35 [json_name = "stmt_location"];
      case 35:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          stmt_location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 stmt_len = 36 [json_name = "stmt_len"];
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          stmt_len_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Query::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Query)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
  if (this->command_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_command_type(), target);
  }

  // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
  if (this->query_source() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_query_source(), target);
  }

  // bool can_set_tag = 3 [json_name = "canSetTag"];
  if (this->can_set_tag() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_can_set_tag(), target);
  }

  // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
  if (this->has_utility_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::utility_stmt(this), target, stream);
  }

  // int32 result_relation = 5 [json_name = "resultRelation"];
  if (this->result_relation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_result_relation(), target);
  }

  // bool has_aggs = 6 [json_name = "hasAggs"];
  if (this->has_aggs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_has_aggs(), target);
  }

  // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
  if (this->has_window_funcs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_has_window_funcs(), target);
  }

  // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
  if (this->has_target_srfs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(8, this->_internal_has_target_srfs(), target);
  }

  // bool has_sub_links = 9 [json_name = "hasSubLinks"];
  if (this->has_sub_links() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(9, this->_internal_has_sub_links(), target);
  }

  // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
  if (this->has_distinct_on() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(10, this->_internal_has_distinct_on(), target);
  }

  // bool has_recursive = 11 [json_name = "hasRecursive"];
  if (this->has_recursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(11, this->_internal_has_recursive(), target);
  }

  // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
  if (this->has_modifying_cte() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_has_modifying_cte(), target);
  }

  // bool has_for_update = 13 [json_name = "hasForUpdate"];
  if (this->has_for_update() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(13, this->_internal_has_for_update(), target);
  }

  // bool has_row_security = 14 [json_name = "hasRowSecurity"];
  if (this->has_row_security() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(14, this->_internal_has_row_security(), target);
  }

  // repeated .pg_query.Node cte_list = 15 [json_name = "cteList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_cte_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(15, this->_internal_cte_list(i), target, stream);
  }

  // repeated .pg_query.Node rtable = 16 [json_name = "rtable"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_rtable_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(16, this->_internal_rtable(i), target, stream);
  }

  // .pg_query.FromExpr jointree = 17 [json_name = "jointree"];
  if (this->has_jointree()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        17, _Internal::jointree(this), target, stream);
  }

  // repeated .pg_query.Node target_list = 18 [json_name = "targetList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_target_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(18, this->_internal_target_list(i), target, stream);
  }

  // .pg_query.OverridingKind override = 19 [json_name = "override"];
  if (this->override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      19, this->_internal_override(), target);
  }

  // .pg_query.OnConflictExpr on_conflict = 20 [json_name = "onConflict"];
  if (this->has_on_conflict()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        20, _Internal::on_conflict(this), target, stream);
  }

  // repeated .pg_query.Node returning_list = 21 [json_name = "returningList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_returning_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(21, this->_internal_returning_list(i), target, stream);
  }

  // repeated .pg_query.Node group_clause = 22 [json_name = "groupClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_group_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(22, this->_internal_group_clause(i), target, stream);
  }

  // repeated .pg_query.Node grouping_sets = 23 [json_name = "groupingSets"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_grouping_sets_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(23, this->_internal_grouping_sets(i), target, stream);
  }

  // .pg_query.Node having_qual = 24 [json_name = "havingQual"];
  if (this->has_having_qual()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        24, _Internal::having_qual(this), target, stream);
  }

  // repeated .pg_query.Node window_clause = 25 [json_name = "windowClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_window_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(25, this->_internal_window_clause(i), target, stream);
  }

  // repeated .pg_query.Node distinct_clause = 26 [json_name = "distinctClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_distinct_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(26, this->_internal_distinct_clause(i), target, stream);
  }

  // repeated .pg_query.Node sort_clause = 27 [json_name = "sortClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_sort_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(27, this->_internal_sort_clause(i), target, stream);
  }

  // .pg_query.Node limit_offset = 28 [json_name = "limitOffset"];
  if (this->has_limit_offset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        28, _Internal::limit_offset(this), target, stream);
  }

  // .pg_query.Node limit_count = 29 [json_name = "limitCount"];
  if (this->has_limit_count()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        29, _Internal::limit_count(this), target, stream);
  }

  // .pg_query.LimitOption limit_option = 30 [json_name = "limitOption"];
  if (this->limit_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      30, this->_internal_limit_option(), target);
  }

  // repeated .pg_query.Node row_marks = 31 [json_name = "rowMarks"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_row_marks_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(31, this->_internal_row_marks(i), target, stream);
  }

  // .pg_query.Node set_operations = 32 [json_name = "setOperations"];
  if (this->has_set_operations()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        32, _Internal::set_operations(this), target, stream);
  }

  // repeated .pg_query.Node constraint_deps = 33 [json_name = "constraintDeps"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_constraint_deps_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(33, this->_internal_constraint_deps(i), target, stream);
  }

  // repeated .pg_query.Node with_check_options = 34 [json_name = "withCheckOptions"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_with_check_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(34, this->_internal_with_check_options(i), target, stream);
  }

  // int32 stmt_location = 35 [json_name = "stmt_location"];
  if (this->stmt_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(35, this->_internal_stmt_location(), target);
  }

  // int32 stmt_len = 36 [json_name = "stmt_len"];
  if (this->stmt_len() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(36, this->_internal_stmt_len(), 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:pg_query.Query)
  return target;
}

size_t Query::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Query)
  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 .pg_query.Node cte_list = 15 [json_name = "cteList"];
  total_size += 1UL * this->_internal_cte_list_size();
  for (const auto& msg : this->cte_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node rtable = 16 [json_name = "rtable"];
  total_size += 2UL * this->_internal_rtable_size();
  for (const auto& msg : this->rtable_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node target_list = 18 [json_name = "targetList"];
  total_size += 2UL * this->_internal_target_list_size();
  for (const auto& msg : this->target_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node returning_list = 21 [json_name = "returningList"];
  total_size += 2UL * this->_internal_returning_list_size();
  for (const auto& msg : this->returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node group_clause = 22 [json_name = "groupClause"];
  total_size += 2UL * this->_internal_group_clause_size();
  for (const auto& msg : this->group_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node grouping_sets = 23 [json_name = "groupingSets"];
  total_size += 2UL * this->_internal_grouping_sets_size();
  for (const auto& msg : this->grouping_sets_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node window_clause = 25 [json_name = "windowClause"];
  total_size += 2UL * this->_internal_window_clause_size();
  for (const auto& msg : this->window_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node distinct_clause = 26 [json_name = "distinctClause"];
  total_size += 2UL * this->_internal_distinct_clause_size();
  for (const auto& msg : this->distinct_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node sort_clause = 27 [json_name = "sortClause"];
  total_size += 2UL * this->_internal_sort_clause_size();
  for (const auto& msg : this->sort_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node row_marks = 31 [json_name = "rowMarks"];
  total_size += 2UL * this->_internal_row_marks_size();
  for (const auto& msg : this->row_marks_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node constraint_deps = 33 [json_name = "constraintDeps"];
  total_size += 2UL * this->_internal_constraint_deps_size();
  for (const auto& msg : this->constraint_deps_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node with_check_options = 34 [json_name = "withCheckOptions"];
  total_size += 2UL * this->_internal_with_check_options_size();
  for (const auto& msg : this->with_check_options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
  if (this->has_utility_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *utility_stmt_);
  }

  // .pg_query.FromExpr jointree = 17 [json_name = "jointree"];
  if (this->has_jointree()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *jointree_);
  }

  // .pg_query.OnConflictExpr on_conflict = 20 [json_name = "onConflict"];
  if (this->has_on_conflict()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *on_conflict_);
  }

  // .pg_query.Node having_qual = 24 [json_name = "havingQual"];
  if (this->has_having_qual()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *having_qual_);
  }

  // .pg_query.Node limit_offset = 28 [json_name = "limitOffset"];
  if (this->has_limit_offset()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *limit_offset_);
  }

  // .pg_query.Node limit_count = 29 [json_name = "limitCount"];
  if (this->has_limit_count()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *limit_count_);
  }

  // .pg_query.Node set_operations = 32 [json_name = "setOperations"];
  if (this->has_set_operations()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *set_operations_);
  }

  // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
  if (this->command_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_command_type());
  }

  // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
  if (this->query_source() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_query_source());
  }

  // int32 result_relation = 5 [json_name = "resultRelation"];
  if (this->result_relation() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_result_relation());
  }

  // bool can_set_tag = 3 [json_name = "canSetTag"];
  if (this->can_set_tag() != 0) {
    total_size += 1 + 1;
  }

  // bool has_aggs = 6 [json_name = "hasAggs"];
  if (this->has_aggs() != 0) {
    total_size += 1 + 1;
  }

  // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
  if (this->has_window_funcs() != 0) {
    total_size += 1 + 1;
  }

  // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
  if (this->has_target_srfs() != 0) {
    total_size += 1 + 1;
  }

  // bool has_sub_links = 9 [json_name = "hasSubLinks"];
  if (this->has_sub_links() != 0) {
    total_size += 1 + 1;
  }

  // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
  if (this->has_distinct_on() != 0) {
    total_size += 1 + 1;
  }

  // bool has_recursive = 11 [json_name = "hasRecursive"];
  if (this->has_recursive() != 0) {
    total_size += 1 + 1;
  }

  // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
  if (this->has_modifying_cte() != 0) {
    total_size += 1 + 1;
  }

  // bool has_for_update = 13 [json_name = "hasForUpdate"];
  if (this->has_for_update() != 0) {
    total_size += 1 + 1;
  }

  // bool has_row_security = 14 [json_name = "hasRowSecurity"];
  if (this->has_row_security() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.OverridingKind override = 19 [json_name = "override"];
  if (this->override() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_override());
  }

  // .pg_query.LimitOption limit_option = 30 [json_name = "limitOption"];
  if (this->limit_option() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_limit_option());
  }

  // int32 stmt_location = 35 [json_name = "stmt_location"];
  if (this->stmt_location() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_stmt_location());
  }

  // int32 stmt_len = 36 [json_name = "stmt_len"];
  if (this->stmt_len() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_stmt_len());
  }

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

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

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

  cte_list_.MergeFrom(from.cte_list_);
  rtable_.MergeFrom(from.rtable_);
  target_list_.MergeFrom(from.target_list_);
  returning_list_.MergeFrom(from.returning_list_);
  group_clause_.MergeFrom(from.group_clause_);
  grouping_sets_.MergeFrom(from.grouping_sets_);
  window_clause_.MergeFrom(from.window_clause_);
  distinct_clause_.MergeFrom(from.distinct_clause_);
  sort_clause_.MergeFrom(from.sort_clause_);
  row_marks_.MergeFrom(from.row_marks_);
  constraint_deps_.MergeFrom(from.constraint_deps_);
  with_check_options_.MergeFrom(from.with_check_options_);
  if (from.has_utility_stmt()) {
    _internal_mutable_utility_stmt()->::pg_query::Node::MergeFrom(from._internal_utility_stmt());
  }
  if (from.has_jointree()) {
    _internal_mutable_jointree()->::pg_query::FromExpr::MergeFrom(from._internal_jointree());
  }
  if (from.has_on_conflict()) {
    _internal_mutable_on_conflict()->::pg_query::OnConflictExpr::MergeFrom(from._internal_on_conflict());
  }
  if (from.has_having_qual()) {
    _internal_mutable_having_qual()->::pg_query::Node::MergeFrom(from._internal_having_qual());
  }
  if (from.has_limit_offset()) {
    _internal_mutable_limit_offset()->::pg_query::Node::MergeFrom(from._internal_limit_offset());
  }
  if (from.has_limit_count()) {
    _internal_mutable_limit_count()->::pg_query::Node::MergeFrom(from._internal_limit_count());
  }
  if (from.has_set_operations()) {
    _internal_mutable_set_operations()->::pg_query::Node::MergeFrom(from._internal_set_operations());
  }
  if (from.command_type() != 0) {
    _internal_set_command_type(from._internal_command_type());
  }
  if (from.query_source() != 0) {
    _internal_set_query_source(from._internal_query_source());
  }
  if (from.result_relation() != 0) {
    _internal_set_result_relation(from._internal_result_relation());
  }
  if (from.can_set_tag() != 0) {
    _internal_set_can_set_tag(from._internal_can_set_tag());
  }
  if (from.has_aggs() != 0) {
    _internal_set_has_aggs(from._internal_has_aggs());
  }
  if (from.has_window_funcs() != 0) {
    _internal_set_has_window_funcs(from._internal_has_window_funcs());
  }
  if (from.has_target_srfs() != 0) {
    _internal_set_has_target_srfs(from._internal_has_target_srfs());
  }
  if (from.has_sub_links() != 0) {
    _internal_set_has_sub_links(from._internal_has_sub_links());
  }
  if (from.has_distinct_on() != 0) {
    _internal_set_has_distinct_on(from._internal_has_distinct_on());
  }
  if (from.has_recursive() != 0) {
    _internal_set_has_recursive(from._internal_has_recursive());
  }
  if (from.has_modifying_cte() != 0) {
    _internal_set_has_modifying_cte(from._internal_has_modifying_cte());
  }
  if (from.has_for_update() != 0) {
    _internal_set_has_for_update(from._internal_has_for_update());
  }
  if (from.has_row_security() != 0) {
    _internal_set_has_row_security(from._internal_has_row_security());
  }
  if (from.override() != 0) {
    _internal_set_override(from._internal_override());
  }
  if (from.limit_option() != 0) {
    _internal_set_limit_option(from._internal_limit_option());
  }
  if (from.stmt_location() != 0) {
    _internal_set_stmt_location(from._internal_stmt_location());
  }
  if (from.stmt_len() != 0) {
    _internal_set_stmt_len(from._internal_stmt_len());
  }
}

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

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

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

void Query::InternalSwap(Query* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  cte_list_.InternalSwap(&other->cte_list_);
  rtable_.InternalSwap(&other->rtable_);
  target_list_.InternalSwap(&other->target_list_);
  returning_list_.InternalSwap(&other->returning_list_);
  group_clause_.InternalSwap(&other->group_clause_);
  grouping_sets_.InternalSwap(&other->grouping_sets_);
  window_clause_.InternalSwap(&other->window_clause_);
  distinct_clause_.InternalSwap(&other->distinct_clause_);
  sort_clause_.InternalSwap(&other->sort_clause_);
  row_marks_.InternalSwap(&other->row_marks_);
  constraint_deps_.InternalSwap(&other->constraint_deps_);
  with_check_options_.InternalSwap(&other->with_check_options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Query, stmt_len_)
      + sizeof(Query::stmt_len_)
      - PROTOBUF_FIELD_OFFSET(Query, utility_stmt_)>(
          reinterpret_cast<char*>(&utility_stmt_),
          reinterpret_cast<char*>(&other->utility_stmt_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Query::GetMetadata() const {
  return GetMetadataStatic();
}


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

class InsertStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const InsertStmt* msg);
  static const ::pg_query::Node& select_stmt(const InsertStmt* msg);
  static const ::pg_query::OnConflictClause& on_conflict_clause(const InsertStmt* msg);
  static const ::pg_query::WithClause& with_clause(const InsertStmt* msg);
};

const ::pg_query::RangeVar&
InsertStmt::_Internal::relation(const InsertStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
InsertStmt::_Internal::select_stmt(const InsertStmt* msg) {
  return *msg->select_stmt_;
}
const ::pg_query::OnConflictClause&
InsertStmt::_Internal::on_conflict_clause(const InsertStmt* msg) {
  return *msg->on_conflict_clause_;
}
const ::pg_query::WithClause&
InsertStmt::_Internal::with_clause(const InsertStmt* msg) {
  return *msg->with_clause_;
}
InsertStmt::InsertStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  cols_(arena),
  returning_list_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InsertStmt)
}
InsertStmt::InsertStmt(const InsertStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      cols_(from.cols_),
      returning_list_(from.returning_list_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_select_stmt()) {
    select_stmt_ = new ::pg_query::Node(*from.select_stmt_);
  } else {
    select_stmt_ = nullptr;
  }
  if (from._internal_has_on_conflict_clause()) {
    on_conflict_clause_ = new ::pg_query::OnConflictClause(*from.on_conflict_clause_);
  } else {
    on_conflict_clause_ = nullptr;
  }
  if (from._internal_has_with_clause()) {
    with_clause_ = new ::pg_query::WithClause(*from.with_clause_);
  } else {
    with_clause_ = nullptr;
  }
  override_ = from.override_;
  // @@protoc_insertion_point(copy_constructor:pg_query.InsertStmt)
}

void InsertStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&override_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(override_));
}

InsertStmt::~InsertStmt() {
  // @@protoc_insertion_point(destructor:pg_query.InsertStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void InsertStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete select_stmt_;
  if (this != internal_default_instance()) delete on_conflict_clause_;
  if (this != internal_default_instance()) delete with_clause_;
}

void InsertStmt::ArenaDtor(void* object) {
  InsertStmt* _this = reinterpret_cast< InsertStmt* >(object);
  (void)_this;
}
void InsertStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void InsertStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const InsertStmt& InsertStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  cols_.Clear();
  returning_list_.Clear();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && select_stmt_ != nullptr) {
    delete select_stmt_;
  }
  select_stmt_ = nullptr;
  if (GetArena() == nullptr && on_conflict_clause_ != nullptr) {
    delete on_conflict_clause_;
  }
  on_conflict_clause_ = nullptr;
  if (GetArena() == nullptr && with_clause_ != nullptr) {
    delete with_clause_;
  }
  with_clause_ = nullptr;
  override_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InsertStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node cols = 2 [json_name = "cols"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_cols(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_select_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_on_conflict_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_returning_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.OverridingKind override = 7 [json_name = "override"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_override(static_cast<::pg_query::OverridingKind>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* InsertStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InsertStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // repeated .pg_query.Node cols = 2 [json_name = "cols"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_cols_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_cols(i), target, stream);
  }

  // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
  if (this->has_select_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::select_stmt(this), target, stream);
  }

  // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
  if (this->has_on_conflict_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::on_conflict_clause(this), target, stream);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_returning_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_returning_list(i), target, stream);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (this->has_with_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::with_clause(this), target, stream);
  }

  // .pg_query.OverridingKind override = 7 [json_name = "override"];
  if (this->override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      7, this->_internal_override(), 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:pg_query.InsertStmt)
  return target;
}

size_t InsertStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.InsertStmt)
  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 .pg_query.Node cols = 2 [json_name = "cols"];
  total_size += 1UL * this->_internal_cols_size();
  for (const auto& msg : this->cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  total_size += 1UL * this->_internal_returning_list_size();
  for (const auto& msg : this->returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
  if (this->has_select_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *select_stmt_);
  }

  // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
  if (this->has_on_conflict_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *on_conflict_clause_);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (this->has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *with_clause_);
  }

  // .pg_query.OverridingKind override = 7 [json_name = "override"];
  if (this->override() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_override());
  }

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

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

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

  cols_.MergeFrom(from.cols_);
  returning_list_.MergeFrom(from.returning_list_);
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_select_stmt()) {
    _internal_mutable_select_stmt()->::pg_query::Node::MergeFrom(from._internal_select_stmt());
  }
  if (from.has_on_conflict_clause()) {
    _internal_mutable_on_conflict_clause()->::pg_query::OnConflictClause::MergeFrom(from._internal_on_conflict_clause());
  }
  if (from.has_with_clause()) {
    _internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(from._internal_with_clause());
  }
  if (from.override() != 0) {
    _internal_set_override(from._internal_override());
  }
}

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

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

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

void InsertStmt::InternalSwap(InsertStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  cols_.InternalSwap(&other->cols_);
  returning_list_.InternalSwap(&other->returning_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InsertStmt, override_)
      + sizeof(InsertStmt::override_)
      - PROTOBUF_FIELD_OFFSET(InsertStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InsertStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class DeleteStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const DeleteStmt* msg);
  static const ::pg_query::Node& where_clause(const DeleteStmt* msg);
  static const ::pg_query::WithClause& with_clause(const DeleteStmt* msg);
};

const ::pg_query::RangeVar&
DeleteStmt::_Internal::relation(const DeleteStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
DeleteStmt::_Internal::where_clause(const DeleteStmt* msg) {
  return *msg->where_clause_;
}
const ::pg_query::WithClause&
DeleteStmt::_Internal::with_clause(const DeleteStmt* msg) {
  return *msg->with_clause_;
}
DeleteStmt::DeleteStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  using_clause_(arena),
  returning_list_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeleteStmt)
}
DeleteStmt::DeleteStmt(const DeleteStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      using_clause_(from.using_clause_),
      returning_list_(from.returning_list_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  if (from._internal_has_with_clause()) {
    with_clause_ = new ::pg_query::WithClause(*from.with_clause_);
  } else {
    with_clause_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.DeleteStmt)
}

void DeleteStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&with_clause_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(with_clause_));
}

DeleteStmt::~DeleteStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeleteStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DeleteStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete where_clause_;
  if (this != internal_default_instance()) delete with_clause_;
}

void DeleteStmt::ArenaDtor(void* object) {
  DeleteStmt* _this = reinterpret_cast< DeleteStmt* >(object);
  (void)_this;
}
void DeleteStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DeleteStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DeleteStmt& DeleteStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  using_clause_.Clear();
  returning_list_.Clear();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  if (GetArena() == nullptr && with_clause_ != nullptr) {
    delete with_clause_;
  }
  with_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DeleteStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_using_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_returning_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DeleteStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeleteStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_using_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_using_clause(i), target, stream);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::where_clause(this), target, stream);
  }

  // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_returning_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_returning_list(i), target, stream);
  }

  // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
  if (this->has_with_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::with_clause(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:pg_query.DeleteStmt)
  return target;
}

size_t DeleteStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DeleteStmt)
  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 .pg_query.Node using_clause = 2 [json_name = "usingClause"];
  total_size += 1UL * this->_internal_using_clause_size();
  for (const auto& msg : this->using_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
  total_size += 1UL * this->_internal_returning_list_size();
  for (const auto& msg : this->returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
  if (this->has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *with_clause_);
  }

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

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

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

  using_clause_.MergeFrom(from.using_clause_);
  returning_list_.MergeFrom(from.returning_list_);
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.has_with_clause()) {
    _internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(from._internal_with_clause());
  }
}

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

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

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

void DeleteStmt::InternalSwap(DeleteStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  using_clause_.InternalSwap(&other->using_clause_);
  returning_list_.InternalSwap(&other->returning_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DeleteStmt, with_clause_)
      + sizeof(DeleteStmt::with_clause_)
      - PROTOBUF_FIELD_OFFSET(DeleteStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DeleteStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class UpdateStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const UpdateStmt* msg);
  static const ::pg_query::Node& where_clause(const UpdateStmt* msg);
  static const ::pg_query::WithClause& with_clause(const UpdateStmt* msg);
};

const ::pg_query::RangeVar&
UpdateStmt::_Internal::relation(const UpdateStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
UpdateStmt::_Internal::where_clause(const UpdateStmt* msg) {
  return *msg->where_clause_;
}
const ::pg_query::WithClause&
UpdateStmt::_Internal::with_clause(const UpdateStmt* msg) {
  return *msg->with_clause_;
}
UpdateStmt::UpdateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  target_list_(arena),
  from_clause_(arena),
  returning_list_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.UpdateStmt)
}
UpdateStmt::UpdateStmt(const UpdateStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      target_list_(from.target_list_),
      from_clause_(from.from_clause_),
      returning_list_(from.returning_list_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  if (from._internal_has_with_clause()) {
    with_clause_ = new ::pg_query::WithClause(*from.with_clause_);
  } else {
    with_clause_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.UpdateStmt)
}

void UpdateStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&with_clause_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(with_clause_));
}

UpdateStmt::~UpdateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.UpdateStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void UpdateStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete where_clause_;
  if (this != internal_default_instance()) delete with_clause_;
}

void UpdateStmt::ArenaDtor(void* object) {
  UpdateStmt* _this = reinterpret_cast< UpdateStmt* >(object);
  (void)_this;
}
void UpdateStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void UpdateStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const UpdateStmt& UpdateStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  target_list_.Clear();
  from_clause_.Clear();
  returning_list_.Clear();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  if (GetArena() == nullptr && with_clause_ != nullptr) {
    delete with_clause_;
  }
  with_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* UpdateStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node target_list = 2 [json_name = "targetList"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_target_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_from_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_returning_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* UpdateStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.UpdateStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // repeated .pg_query.Node target_list = 2 [json_name = "targetList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_target_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_target_list(i), target, stream);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::where_clause(this), target, stream);
  }

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_from_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_from_clause(i), target, stream);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_returning_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_returning_list(i), target, stream);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (this->has_with_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::with_clause(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:pg_query.UpdateStmt)
  return target;
}

size_t UpdateStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.UpdateStmt)
  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 .pg_query.Node target_list = 2 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->target_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  total_size += 1UL * this->_internal_from_clause_size();
  for (const auto& msg : this->from_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  total_size += 1UL * this->_internal_returning_list_size();
  for (const auto& msg : this->returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (this->has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *with_clause_);
  }

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

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

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

  target_list_.MergeFrom(from.target_list_);
  from_clause_.MergeFrom(from.from_clause_);
  returning_list_.MergeFrom(from.returning_list_);
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.has_with_clause()) {
    _internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(from._internal_with_clause());
  }
}

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

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

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

void UpdateStmt::InternalSwap(UpdateStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  target_list_.InternalSwap(&other->target_list_);
  from_clause_.InternalSwap(&other->from_clause_);
  returning_list_.InternalSwap(&other->returning_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UpdateStmt, with_clause_)
      + sizeof(UpdateStmt::with_clause_)
      - PROTOBUF_FIELD_OFFSET(UpdateStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata UpdateStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class SelectStmt::_Internal {
 public:
  static const ::pg_query::IntoClause& into_clause(const SelectStmt* msg);
  static const ::pg_query::Node& where_clause(const SelectStmt* msg);
  static const ::pg_query::Node& having_clause(const SelectStmt* msg);
  static const ::pg_query::Node& limit_offset(const SelectStmt* msg);
  static const ::pg_query::Node& limit_count(const SelectStmt* msg);
  static const ::pg_query::WithClause& with_clause(const SelectStmt* msg);
  static const ::pg_query::SelectStmt& larg(const SelectStmt* msg);
  static const ::pg_query::SelectStmt& rarg(const SelectStmt* msg);
};

const ::pg_query::IntoClause&
SelectStmt::_Internal::into_clause(const SelectStmt* msg) {
  return *msg->into_clause_;
}
const ::pg_query::Node&
SelectStmt::_Internal::where_clause(const SelectStmt* msg) {
  return *msg->where_clause_;
}
const ::pg_query::Node&
SelectStmt::_Internal::having_clause(const SelectStmt* msg) {
  return *msg->having_clause_;
}
const ::pg_query::Node&
SelectStmt::_Internal::limit_offset(const SelectStmt* msg) {
  return *msg->limit_offset_;
}
const ::pg_query::Node&
SelectStmt::_Internal::limit_count(const SelectStmt* msg) {
  return *msg->limit_count_;
}
const ::pg_query::WithClause&
SelectStmt::_Internal::with_clause(const SelectStmt* msg) {
  return *msg->with_clause_;
}
const ::pg_query::SelectStmt&
SelectStmt::_Internal::larg(const SelectStmt* msg) {
  return *msg->larg_;
}
const ::pg_query::SelectStmt&
SelectStmt::_Internal::rarg(const SelectStmt* msg) {
  return *msg->rarg_;
}
SelectStmt::SelectStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  distinct_clause_(arena),
  target_list_(arena),
  from_clause_(arena),
  group_clause_(arena),
  window_clause_(arena),
  values_lists_(arena),
  sort_clause_(arena),
  locking_clause_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SelectStmt)
}
SelectStmt::SelectStmt(const SelectStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      distinct_clause_(from.distinct_clause_),
      target_list_(from.target_list_),
      from_clause_(from.from_clause_),
      group_clause_(from.group_clause_),
      window_clause_(from.window_clause_),
      values_lists_(from.values_lists_),
      sort_clause_(from.sort_clause_),
      locking_clause_(from.locking_clause_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_into_clause()) {
    into_clause_ = new ::pg_query::IntoClause(*from.into_clause_);
  } else {
    into_clause_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  if (from._internal_has_having_clause()) {
    having_clause_ = new ::pg_query::Node(*from.having_clause_);
  } else {
    having_clause_ = nullptr;
  }
  if (from._internal_has_limit_offset()) {
    limit_offset_ = new ::pg_query::Node(*from.limit_offset_);
  } else {
    limit_offset_ = nullptr;
  }
  if (from._internal_has_limit_count()) {
    limit_count_ = new ::pg_query::Node(*from.limit_count_);
  } else {
    limit_count_ = nullptr;
  }
  if (from._internal_has_with_clause()) {
    with_clause_ = new ::pg_query::WithClause(*from.with_clause_);
  } else {
    with_clause_ = nullptr;
  }
  if (from._internal_has_larg()) {
    larg_ = new ::pg_query::SelectStmt(*from.larg_);
  } else {
    larg_ = nullptr;
  }
  if (from._internal_has_rarg()) {
    rarg_ = new ::pg_query::SelectStmt(*from.rarg_);
  } else {
    rarg_ = nullptr;
  }
  ::memcpy(&limit_option_, &from.limit_option_,
    static_cast<size_t>(reinterpret_cast<char*>(&all_) -
    reinterpret_cast<char*>(&limit_option_)) + sizeof(all_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SelectStmt)
}

void SelectStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&into_clause_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&all_) -
      reinterpret_cast<char*>(&into_clause_)) + sizeof(all_));
}

SelectStmt::~SelectStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SelectStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SelectStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete into_clause_;
  if (this != internal_default_instance()) delete where_clause_;
  if (this != internal_default_instance()) delete having_clause_;
  if (this != internal_default_instance()) delete limit_offset_;
  if (this != internal_default_instance()) delete limit_count_;
  if (this != internal_default_instance()) delete with_clause_;
  if (this != internal_default_instance()) delete larg_;
  if (this != internal_default_instance()) delete rarg_;
}

void SelectStmt::ArenaDtor(void* object) {
  SelectStmt* _this = reinterpret_cast< SelectStmt* >(object);
  (void)_this;
}
void SelectStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SelectStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SelectStmt& SelectStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  distinct_clause_.Clear();
  target_list_.Clear();
  from_clause_.Clear();
  group_clause_.Clear();
  window_clause_.Clear();
  values_lists_.Clear();
  sort_clause_.Clear();
  locking_clause_.Clear();
  if (GetArena() == nullptr && into_clause_ != nullptr) {
    delete into_clause_;
  }
  into_clause_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  if (GetArena() == nullptr && having_clause_ != nullptr) {
    delete having_clause_;
  }
  having_clause_ = nullptr;
  if (GetArena() == nullptr && limit_offset_ != nullptr) {
    delete limit_offset_;
  }
  limit_offset_ = nullptr;
  if (GetArena() == nullptr && limit_count_ != nullptr) {
    delete limit_count_;
  }
  limit_count_ = nullptr;
  if (GetArena() == nullptr && with_clause_ != nullptr) {
    delete with_clause_;
  }
  with_clause_ = nullptr;
  if (GetArena() == nullptr && larg_ != nullptr) {
    delete larg_;
  }
  larg_ = nullptr;
  if (GetArena() == nullptr && rarg_ != nullptr) {
    delete rarg_;
  }
  rarg_ = nullptr;
  ::memset(&limit_option_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&all_) -
      reinterpret_cast<char*>(&limit_option_)) + sizeof(all_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SelectStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_distinct_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_into_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_target_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_from_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_group_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node having_clause = 7 [json_name = "havingClause"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_having_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node window_clause = 8 [json_name = "windowClause"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_window_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node values_lists = 9 [json_name = "valuesLists"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_values_lists(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node sort_clause = 10 [json_name = "sortClause"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_sort_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node limit_offset = 11 [json_name = "limitOffset"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_offset(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node limit_count = 12 [json_name = "limitCount"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_count(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.LimitOption limit_option = 13 [json_name = "limitOption"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_limit_option(static_cast<::pg_query::LimitOption>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node locking_clause = 14 [json_name = "lockingClause"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_locking_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<114>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.WithClause with_clause = 15 [json_name = "withClause"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SetOperation op = 16 [json_name = "op"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_op(static_cast<::pg_query::SetOperation>(val));
        } else goto handle_unusual;
        continue;
      // bool all = 17 [json_name = "all"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SelectStmt larg = 18 [json_name = "larg"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_larg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SelectStmt rarg = 19 [json_name = "rarg"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_rarg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SelectStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SelectStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_distinct_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_distinct_clause(i), target, stream);
  }

  // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
  if (this->has_into_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::into_clause(this), target, stream);
  }

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_target_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_target_list(i), target, stream);
  }

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_from_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_from_clause(i), target, stream);
  }

  // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::where_clause(this), target, stream);
  }

  // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_group_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_group_clause(i), target, stream);
  }

  // .pg_query.Node having_clause = 7 [json_name = "havingClause"];
  if (this->has_having_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::having_clause(this), target, stream);
  }

  // repeated .pg_query.Node window_clause = 8 [json_name = "windowClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_window_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_window_clause(i), target, stream);
  }

  // repeated .pg_query.Node values_lists = 9 [json_name = "valuesLists"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_values_lists_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, this->_internal_values_lists(i), target, stream);
  }

  // repeated .pg_query.Node sort_clause = 10 [json_name = "sortClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_sort_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, this->_internal_sort_clause(i), target, stream);
  }

  // .pg_query.Node limit_offset = 11 [json_name = "limitOffset"];
  if (this->has_limit_offset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        11, _Internal::limit_offset(this), target, stream);
  }

  // .pg_query.Node limit_count = 12 [json_name = "limitCount"];
  if (this->has_limit_count()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        12, _Internal::limit_count(this), target, stream);
  }

  // .pg_query.LimitOption limit_option = 13 [json_name = "limitOption"];
  if (this->limit_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      13, this->_internal_limit_option(), target);
  }

  // repeated .pg_query.Node locking_clause = 14 [json_name = "lockingClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_locking_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(14, this->_internal_locking_clause(i), target, stream);
  }

  // .pg_query.WithClause with_clause = 15 [json_name = "withClause"];
  if (this->has_with_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        15, _Internal::with_clause(this), target, stream);
  }

  // .pg_query.SetOperation op = 16 [json_name = "op"];
  if (this->op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      16, this->_internal_op(), target);
  }

  // bool all = 17 [json_name = "all"];
  if (this->all() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(17, this->_internal_all(), target);
  }

  // .pg_query.SelectStmt larg = 18 [json_name = "larg"];
  if (this->has_larg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        18, _Internal::larg(this), target, stream);
  }

  // .pg_query.SelectStmt rarg = 19 [json_name = "rarg"];
  if (this->has_rarg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        19, _Internal::rarg(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:pg_query.SelectStmt)
  return target;
}

size_t SelectStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SelectStmt)
  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 .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
  total_size += 1UL * this->_internal_distinct_clause_size();
  for (const auto& msg : this->distinct_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->target_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  total_size += 1UL * this->_internal_from_clause_size();
  for (const auto& msg : this->from_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
  total_size += 1UL * this->_internal_group_clause_size();
  for (const auto& msg : this->group_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node window_clause = 8 [json_name = "windowClause"];
  total_size += 1UL * this->_internal_window_clause_size();
  for (const auto& msg : this->window_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node values_lists = 9 [json_name = "valuesLists"];
  total_size += 1UL * this->_internal_values_lists_size();
  for (const auto& msg : this->values_lists_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node sort_clause = 10 [json_name = "sortClause"];
  total_size += 1UL * this->_internal_sort_clause_size();
  for (const auto& msg : this->sort_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node locking_clause = 14 [json_name = "lockingClause"];
  total_size += 1UL * this->_internal_locking_clause_size();
  for (const auto& msg : this->locking_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
  if (this->has_into_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *into_clause_);
  }

  // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // .pg_query.Node having_clause = 7 [json_name = "havingClause"];
  if (this->has_having_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *having_clause_);
  }

  // .pg_query.Node limit_offset = 11 [json_name = "limitOffset"];
  if (this->has_limit_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *limit_offset_);
  }

  // .pg_query.Node limit_count = 12 [json_name = "limitCount"];
  if (this->has_limit_count()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *limit_count_);
  }

  // .pg_query.WithClause with_clause = 15 [json_name = "withClause"];
  if (this->has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *with_clause_);
  }

  // .pg_query.SelectStmt larg = 18 [json_name = "larg"];
  if (this->has_larg()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *larg_);
  }

  // .pg_query.SelectStmt rarg = 19 [json_name = "rarg"];
  if (this->has_rarg()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *rarg_);
  }

  // .pg_query.LimitOption limit_option = 13 [json_name = "limitOption"];
  if (this->limit_option() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_limit_option());
  }

  // .pg_query.SetOperation op = 16 [json_name = "op"];
  if (this->op() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_op());
  }

  // bool all = 17 [json_name = "all"];
  if (this->all() != 0) {
    total_size += 2 + 1;
  }

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

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

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

  distinct_clause_.MergeFrom(from.distinct_clause_);
  target_list_.MergeFrom(from.target_list_);
  from_clause_.MergeFrom(from.from_clause_);
  group_clause_.MergeFrom(from.group_clause_);
  window_clause_.MergeFrom(from.window_clause_);
  values_lists_.MergeFrom(from.values_lists_);
  sort_clause_.MergeFrom(from.sort_clause_);
  locking_clause_.MergeFrom(from.locking_clause_);
  if (from.has_into_clause()) {
    _internal_mutable_into_clause()->::pg_query::IntoClause::MergeFrom(from._internal_into_clause());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.has_having_clause()) {
    _internal_mutable_having_clause()->::pg_query::Node::MergeFrom(from._internal_having_clause());
  }
  if (from.has_limit_offset()) {
    _internal_mutable_limit_offset()->::pg_query::Node::MergeFrom(from._internal_limit_offset());
  }
  if (from.has_limit_count()) {
    _internal_mutable_limit_count()->::pg_query::Node::MergeFrom(from._internal_limit_count());
  }
  if (from.has_with_clause()) {
    _internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(from._internal_with_clause());
  }
  if (from.has_larg()) {
    _internal_mutable_larg()->::pg_query::SelectStmt::MergeFrom(from._internal_larg());
  }
  if (from.has_rarg()) {
    _internal_mutable_rarg()->::pg_query::SelectStmt::MergeFrom(from._internal_rarg());
  }
  if (from.limit_option() != 0) {
    _internal_set_limit_option(from._internal_limit_option());
  }
  if (from.op() != 0) {
    _internal_set_op(from._internal_op());
  }
  if (from.all() != 0) {
    _internal_set_all(from._internal_all());
  }
}

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

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

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

void SelectStmt::InternalSwap(SelectStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  distinct_clause_.InternalSwap(&other->distinct_clause_);
  target_list_.InternalSwap(&other->target_list_);
  from_clause_.InternalSwap(&other->from_clause_);
  group_clause_.InternalSwap(&other->group_clause_);
  window_clause_.InternalSwap(&other->window_clause_);
  values_lists_.InternalSwap(&other->values_lists_);
  sort_clause_.InternalSwap(&other->sort_clause_);
  locking_clause_.InternalSwap(&other->locking_clause_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SelectStmt, all_)
      + sizeof(SelectStmt::all_)
      - PROTOBUF_FIELD_OFFSET(SelectStmt, into_clause_)>(
          reinterpret_cast<char*>(&into_clause_),
          reinterpret_cast<char*>(&other->into_clause_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SelectStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class AlterTableStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const AlterTableStmt* msg);
};

const ::pg_query::RangeVar&
AlterTableStmt::_Internal::relation(const AlterTableStmt* msg) {
  return *msg->relation_;
}
AlterTableStmt::AlterTableStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  cmds_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableStmt)
}
AlterTableStmt::AlterTableStmt(const AlterTableStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      cmds_(from.cmds_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  ::memcpy(&relkind_, &from.relkind_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&relkind_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableStmt)
}

void AlterTableStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(missing_ok_));
}

AlterTableStmt::~AlterTableStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void AlterTableStmt::ArenaDtor(void* object) {
  AlterTableStmt* _this = reinterpret_cast< AlterTableStmt* >(object);
  (void)_this;
}
void AlterTableStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterTableStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterTableStmt& AlterTableStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  cmds_.Clear();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  ::memset(&relkind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&relkind_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node cmds = 2 [json_name = "cmds"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_cmds(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectType relkind = 3 [json_name = "relkind"];
      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_relkind(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 4 [json_name = "missing_ok"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterTableStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // repeated .pg_query.Node cmds = 2 [json_name = "cmds"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_cmds_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_cmds(i), target, stream);
  }

  // .pg_query.ObjectType relkind = 3 [json_name = "relkind"];
  if (this->relkind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_relkind(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_missing_ok(), 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:pg_query.AlterTableStmt)
  return target;
}

size_t AlterTableStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterTableStmt)
  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 .pg_query.Node cmds = 2 [json_name = "cmds"];
  total_size += 1UL * this->_internal_cmds_size();
  for (const auto& msg : this->cmds_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.ObjectType relkind = 3 [json_name = "relkind"];
  if (this->relkind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_relkind());
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

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

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

  cmds_.MergeFrom(from.cmds_);
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.relkind() != 0) {
    _internal_set_relkind(from._internal_relkind());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

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

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

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

void AlterTableStmt::InternalSwap(AlterTableStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  cmds_.InternalSwap(&other->cmds_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableStmt, missing_ok_)
      + sizeof(AlterTableStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterTableStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class AlterTableCmd::_Internal {
 public:
  static const ::pg_query::RoleSpec& newowner(const AlterTableCmd* msg);
  static const ::pg_query::Node& def(const AlterTableCmd* msg);
};

const ::pg_query::RoleSpec&
AlterTableCmd::_Internal::newowner(const AlterTableCmd* msg) {
  return *msg->newowner_;
}
const ::pg_query::Node&
AlterTableCmd::_Internal::def(const AlterTableCmd* msg) {
  return *msg->def_;
}
AlterTableCmd::AlterTableCmd(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableCmd)
}
AlterTableCmd::AlterTableCmd(const AlterTableCmd& 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(), 
      GetArena());
  }
  if (from._internal_has_newowner()) {
    newowner_ = new ::pg_query::RoleSpec(*from.newowner_);
  } else {
    newowner_ = nullptr;
  }
  if (from._internal_has_def()) {
    def_ = new ::pg_query::Node(*from.def_);
  } else {
    def_ = nullptr;
  }
  ::memcpy(&subtype_, &from.subtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&subtype_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableCmd)
}

void AlterTableCmd::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&newowner_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&newowner_)) + sizeof(missing_ok_));
}

AlterTableCmd::~AlterTableCmd() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableCmd)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterTableCmd::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete newowner_;
  if (this != internal_default_instance()) delete def_;
}

void AlterTableCmd::ArenaDtor(void* object) {
  AlterTableCmd* _this = reinterpret_cast< AlterTableCmd* >(object);
  (void)_this;
}
void AlterTableCmd::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterTableCmd::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterTableCmd& AlterTableCmd::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  name_.ClearToEmpty();
  if (GetArena() == nullptr && newowner_ != nullptr) {
    delete newowner_;
  }
  newowner_ = nullptr;
  if (GetArena() == nullptr && def_ != nullptr) {
    delete def_;
  }
  def_ = nullptr;
  ::memset(&subtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&subtype_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableCmd::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
      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);
          _internal_set_subtype(static_cast<::pg_query::AlterTableType>(val));
        } else goto handle_unusual;
        continue;
      // string name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterTableCmd.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 num = 3 [json_name = "num"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          num_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_newowner(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node def = 5 [json_name = "def"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_def(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 7 [json_name = "missing_ok"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterTableCmd::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableCmd)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
  if (this->subtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_subtype(), target);
  }

  // string name = 2 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterTableCmd.name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_name(), target);
  }

  // int32 num = 3 [json_name = "num"];
  if (this->num() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_num(), target);
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->has_newowner()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::newowner(this), target, stream);
  }

  // .pg_query.Node def = 5 [json_name = "def"];
  if (this->has_def()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::def(this), target, stream);
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      6, this->_internal_behavior(), target);
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_missing_ok(), 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:pg_query.AlterTableCmd)
  return target;
}

size_t AlterTableCmd::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterTableCmd)
  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 = 2 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->has_newowner()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *newowner_);
  }

  // .pg_query.Node def = 5 [json_name = "def"];
  if (this->has_def()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *def_);
  }

  // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
  if (this->subtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_subtype());
  }

  // int32 num = 3 [json_name = "num"];
  if (this->num() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_num());
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

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

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

  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_newowner()) {
    _internal_mutable_newowner()->::pg_query::RoleSpec::MergeFrom(from._internal_newowner());
  }
  if (from.has_def()) {
    _internal_mutable_def()->::pg_query::Node::MergeFrom(from._internal_def());
  }
  if (from.subtype() != 0) {
    _internal_set_subtype(from._internal_subtype());
  }
  if (from.num() != 0) {
    _internal_set_num(from._internal_num());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

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

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

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

void AlterTableCmd::InternalSwap(AlterTableCmd* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableCmd, missing_ok_)
      + sizeof(AlterTableCmd::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterTableCmd, newowner_)>(
          reinterpret_cast<char*>(&newowner_),
          reinterpret_cast<char*>(&other->newowner_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableCmd::GetMetadata() const {
  return GetMetadataStatic();
}


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

class AlterDomainStmt::_Internal {
 public:
  static const ::pg_query::Node& def(const AlterDomainStmt* msg);
};

const ::pg_query::Node&
AlterDomainStmt::_Internal::def(const AlterDomainStmt* msg) {
  return *msg->def_;
}
AlterDomainStmt::AlterDomainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  type_name_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDomainStmt)
}
AlterDomainStmt::AlterDomainStmt(const AlterDomainStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      type_name_(from.type_name_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  subtype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_subtype().empty()) {
    subtype_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_subtype(), 
      GetArena());
  }
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_name().empty()) {
    name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), 
      GetArena());
  }
  if (from._internal_has_def()) {
    def_ = new ::pg_query::Node(*from.def_);
  } else {
    def_ = nullptr;
  }
  ::memcpy(&behavior_, &from.behavior_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&behavior_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDomainStmt)
}

void AlterDomainStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  subtype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&def_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&def_)) + sizeof(missing_ok_));
}

AlterDomainStmt::~AlterDomainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDomainStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterDomainStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  subtype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete def_;
}

void AlterDomainStmt::ArenaDtor(void* object) {
  AlterDomainStmt* _this = reinterpret_cast< AlterDomainStmt* >(object);
  (void)_this;
}
void AlterDomainStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterDomainStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterDomainStmt& AlterDomainStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  type_name_.Clear();
  subtype_.ClearToEmpty();
  name_.ClearToEmpty();
  if (GetArena() == nullptr && def_ != nullptr) {
    delete def_;
  }
  def_ = nullptr;
  ::memset(&behavior_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&behavior_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDomainStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string subtype = 1 [json_name = "subtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_subtype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterDomainStmt.subtype"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_type_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // string name = 3 [json_name = "name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterDomainStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node def = 4 [json_name = "def"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_def(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 6 [json_name = "missing_ok"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterDomainStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDomainStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string subtype = 1 [json_name = "subtype"];
  if (this->subtype().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_subtype().data(), static_cast<int>(this->_internal_subtype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterDomainStmt.subtype");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_subtype(), target);
  }

  // repeated .pg_query.Node type_name = 2 [json_name = "typeName"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_type_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_type_name(i), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterDomainStmt.name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_name(), target);
  }

  // .pg_query.Node def = 4 [json_name = "def"];
  if (this->has_def()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::def(this), target, stream);
  }

  // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      5, this->_internal_behavior(), target);
  }

  // bool missing_ok = 6 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_missing_ok(), 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:pg_query.AlterDomainStmt)
  return target;
}

size_t AlterDomainStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterDomainStmt)
  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 .pg_query.Node type_name = 2 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->type_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string subtype = 1 [json_name = "subtype"];
  if (this->subtype().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subtype());
  }

  // string name = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node def = 4 [json_name = "def"];
  if (this->has_def()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *def_);
  }

  // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 6 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

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

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

  type_name_.MergeFrom(from.type_name_);
  if (from.subtype().size() > 0) {
    _internal_set_subtype(from._internal_subtype());
  }
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_def()) {
    _internal_mutable_def()->::pg_query::Node::MergeFrom(from._internal_def());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

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

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

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

void AlterDomainStmt::InternalSwap(AlterDomainStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  type_name_.InternalSwap(&other->type_name_);
  subtype_.Swap(&other->subtype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterDomainStmt, missing_ok_)
      + sizeof(AlterDomainStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterDomainStmt, def_)>(
          reinterpret_cast<char*>(&def_),
          reinterpret_cast<char*>(&other->def_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDomainStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class SetOperationStmt::_Internal {
 public:
  static const ::pg_query::Node& larg(const SetOperationStmt* msg);
  static const ::pg_query::Node& rarg(const SetOperationStmt* msg);
};

const ::pg_query::Node&
SetOperationStmt::_Internal::larg(const SetOperationStmt* msg) {
  return *msg->larg_;
}
const ::pg_query::Node&
SetOperationStmt::_Internal::rarg(const SetOperationStmt* msg) {
  return *msg->rarg_;
}
SetOperationStmt::SetOperationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  col_types_(arena),
  col_typmods_(arena),
  col_collations_(arena),
  group_clauses_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SetOperationStmt)
}
SetOperationStmt::SetOperationStmt(const SetOperationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      col_types_(from.col_types_),
      col_typmods_(from.col_typmods_),
      col_collations_(from.col_collations_),
      group_clauses_(from.group_clauses_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_larg()) {
    larg_ = new ::pg_query::Node(*from.larg_);
  } else {
    larg_ = nullptr;
  }
  if (from._internal_has_rarg()) {
    rarg_ = new ::pg_query::Node(*from.rarg_);
  } else {
    rarg_ = nullptr;
  }
  ::memcpy(&op_, &from.op_,
    static_cast<size_t>(reinterpret_cast<char*>(&all_) -
    reinterpret_cast<char*>(&op_)) + sizeof(all_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SetOperationStmt)
}

void SetOperationStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&larg_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&all_) -
      reinterpret_cast<char*>(&larg_)) + sizeof(all_));
}

SetOperationStmt::~SetOperationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SetOperationStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SetOperationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete larg_;
  if (this != internal_default_instance()) delete rarg_;
}

void SetOperationStmt::ArenaDtor(void* object) {
  SetOperationStmt* _this = reinterpret_cast< SetOperationStmt* >(object);
  (void)_this;
}
void SetOperationStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SetOperationStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SetOperationStmt& SetOperationStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  col_types_.Clear();
  col_typmods_.Clear();
  col_collations_.Clear();
  group_clauses_.Clear();
  if (GetArena() == nullptr && larg_ != nullptr) {
    delete larg_;
  }
  larg_ = nullptr;
  if (GetArena() == nullptr && rarg_ != nullptr) {
    delete rarg_;
  }
  rarg_ = nullptr;
  ::memset(&op_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&all_) -
      reinterpret_cast<char*>(&op_)) + sizeof(all_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SetOperationStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.SetOperation op = 1 [json_name = "op"];
      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);
          _internal_set_op(static_cast<::pg_query::SetOperation>(val));
        } else goto handle_unusual;
        continue;
      // bool all = 2 [json_name = "all"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node larg = 3 [json_name = "larg"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_larg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node rarg = 4 [json_name = "rarg"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_rarg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_col_types(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_col_typmods(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_col_collations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_group_clauses(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SetOperationStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SetOperationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.SetOperation op = 1 [json_name = "op"];
  if (this->op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_op(), target);
  }

  // bool all = 2 [json_name = "all"];
  if (this->all() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_all(), target);
  }

  // .pg_query.Node larg = 3 [json_name = "larg"];
  if (this->has_larg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::larg(this), target, stream);
  }

  // .pg_query.Node rarg = 4 [json_name = "rarg"];
  if (this->has_rarg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::rarg(this), target, stream);
  }

  // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_col_types_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_col_types(i), target, stream);
  }

  // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_col_typmods_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_col_typmods(i), target, stream);
  }

  // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_col_collations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_col_collations(i), target, stream);
  }

  // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_group_clauses_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_group_clauses(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:pg_query.SetOperationStmt)
  return target;
}

size_t SetOperationStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SetOperationStmt)
  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 .pg_query.Node col_types = 5 [json_name = "colTypes"];
  total_size += 1UL * this->_internal_col_types_size();
  for (const auto& msg : this->col_types_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
  total_size += 1UL * this->_internal_col_typmods_size();
  for (const auto& msg : this->col_typmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
  total_size += 1UL * this->_internal_col_collations_size();
  for (const auto& msg : this->col_collations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
  total_size += 1UL * this->_internal_group_clauses_size();
  for (const auto& msg : this->group_clauses_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node larg = 3 [json_name = "larg"];
  if (this->has_larg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *larg_);
  }

  // .pg_query.Node rarg = 4 [json_name = "rarg"];
  if (this->has_rarg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *rarg_);
  }

  // .pg_query.SetOperation op = 1 [json_name = "op"];
  if (this->op() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_op());
  }

  // bool all = 2 [json_name = "all"];
  if (this->all() != 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;
}

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

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

  col_types_.MergeFrom(from.col_types_);
  col_typmods_.MergeFrom(from.col_typmods_);
  col_collations_.MergeFrom(from.col_collations_);
  group_clauses_.MergeFrom(from.group_clauses_);
  if (from.has_larg()) {
    _internal_mutable_larg()->::pg_query::Node::MergeFrom(from._internal_larg());
  }
  if (from.has_rarg()) {
    _internal_mutable_rarg()->::pg_query::Node::MergeFrom(from._internal_rarg());
  }
  if (from.op() != 0) {
    _internal_set_op(from._internal_op());
  }
  if (from.all() != 0) {
    _internal_set_all(from._internal_all());
  }
}

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

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

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

void SetOperationStmt::InternalSwap(SetOperationStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  col_types_.InternalSwap(&other->col_types_);
  col_typmods_.InternalSwap(&other->col_typmods_);
  col_collations_.InternalSwap(&other->col_collations_);
  group_clauses_.InternalSwap(&other->group_clauses_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SetOperationStmt, all_)
      + sizeof(SetOperationStmt::all_)
      - PROTOBUF_FIELD_OFFSET(SetOperationStmt, larg_)>(
          reinterpret_cast<char*>(&larg_),
          reinterpret_cast<char*>(&other->larg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SetOperationStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class GrantStmt::_Internal {
 public:
};

GrantStmt::GrantStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  objects_(arena),
  privileges_(arena),
  grantees_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GrantStmt)
}
GrantStmt::GrantStmt(const GrantStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      objects_(from.objects_),
      privileges_(from.privileges_),
      grantees_(from.grantees_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&targtype_, &from.targtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
    reinterpret_cast<char*>(&targtype_)) + sizeof(behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GrantStmt)
}

void GrantStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&targtype_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&targtype_)) + sizeof(behavior_));
}

GrantStmt::~GrantStmt() {
  // @@protoc_insertion_point(destructor:pg_query.GrantStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void GrantStmt::ArenaDtor(void* object) {
  GrantStmt* _this = reinterpret_cast< GrantStmt* >(object);
  (void)_this;
}
void GrantStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GrantStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GrantStmt& GrantStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  objects_.Clear();
  privileges_.Clear();
  grantees_.Clear();
  ::memset(&targtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&targtype_)) + sizeof(behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GrantStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool is_grant = 1 [json_name = "is_grant"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          is_grant_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
      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_targtype(static_cast<::pg_query::GrantTargetType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
      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_objtype(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node objects = 4 [json_name = "objects"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_objects(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_privileges(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_grantees(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // bool grant_option = 7 [json_name = "grant_option"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          grant_option_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 8 [json_name = "behavior"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* GrantStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GrantStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool is_grant = 1 [json_name = "is_grant"];
  if (this->is_grant() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_is_grant(), target);
  }

  // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
  if (this->targtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_targtype(), target);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_objtype(), target);
  }

  // repeated .pg_query.Node objects = 4 [json_name = "objects"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_objects_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_objects(i), target, stream);
  }

  // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_privileges_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_privileges(i), target, stream);
  }

  // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_grantees_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_grantees(i), target, stream);
  }

  // bool grant_option = 7 [json_name = "grant_option"];
  if (this->grant_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_grant_option(), target);
  }

  // .pg_query.DropBehavior behavior = 8 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      8, this->_internal_behavior(), 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:pg_query.GrantStmt)
  return target;
}

size_t GrantStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.GrantStmt)
  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 .pg_query.Node objects = 4 [json_name = "objects"];
  total_size += 1UL * this->_internal_objects_size();
  for (const auto& msg : this->objects_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
  total_size += 1UL * this->_internal_privileges_size();
  for (const auto& msg : this->privileges_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
  total_size += 1UL * this->_internal_grantees_size();
  for (const auto& msg : this->grantees_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
  if (this->targtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_targtype());
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->objtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool is_grant = 1 [json_name = "is_grant"];
  if (this->is_grant() != 0) {
    total_size += 1 + 1;
  }

  // bool grant_option = 7 [json_name = "grant_option"];
  if (this->grant_option() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.DropBehavior behavior = 8 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

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

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

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

  objects_.MergeFrom(from.objects_);
  privileges_.MergeFrom(from.privileges_);
  grantees_.MergeFrom(from.grantees_);
  if (from.targtype() != 0) {
    _internal_set_targtype(from._internal_targtype());
  }
  if (from.objtype() != 0) {
    _internal_set_objtype(from._internal_objtype());
  }
  if (from.is_grant() != 0) {
    _internal_set_is_grant(from._internal_is_grant());
  }
  if (from.grant_option() != 0) {
    _internal_set_grant_option(from._internal_grant_option());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
}

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

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

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

void GrantStmt::InternalSwap(GrantStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  objects_.InternalSwap(&other->objects_);
  privileges_.InternalSwap(&other->privileges_);
  grantees_.InternalSwap(&other->grantees_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GrantStmt, behavior_)
      + sizeof(GrantStmt::behavior_)
      - PROTOBUF_FIELD_OFFSET(GrantStmt, targtype_)>(
          reinterpret_cast<char*>(&targtype_),
          reinterpret_cast<char*>(&other->targtype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GrantStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class GrantRoleStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& grantor(const GrantRoleStmt* msg);
};

const ::pg_query::RoleSpec&
GrantRoleStmt::_Internal::grantor(const GrantRoleStmt* msg) {
  return *msg->grantor_;
}
GrantRoleStmt::GrantRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  granted_roles_(arena),
  grantee_roles_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GrantRoleStmt)
}
GrantRoleStmt::GrantRoleStmt(const GrantRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      granted_roles_(from.granted_roles_),
      grantee_roles_(from.grantee_roles_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_grantor()) {
    grantor_ = new ::pg_query::RoleSpec(*from.grantor_);
  } else {
    grantor_ = nullptr;
  }
  ::memcpy(&is_grant_, &from.is_grant_,
    static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
    reinterpret_cast<char*>(&is_grant_)) + sizeof(behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GrantRoleStmt)
}

void GrantRoleStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&grantor_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&grantor_)) + sizeof(behavior_));
}

GrantRoleStmt::~GrantRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.GrantRoleStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void GrantRoleStmt::ArenaDtor(void* object) {
  GrantRoleStmt* _this = reinterpret_cast< GrantRoleStmt* >(object);
  (void)_this;
}
void GrantRoleStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GrantRoleStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GrantRoleStmt& GrantRoleStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  granted_roles_.Clear();
  grantee_roles_.Clear();
  if (GetArena() == nullptr && grantor_ != nullptr) {
    delete grantor_;
  }
  grantor_ = nullptr;
  ::memset(&is_grant_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&is_grant_)) + sizeof(behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GrantRoleStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_granted_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_grantee_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // bool is_grant = 3 [json_name = "is_grant"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          is_grant_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool admin_opt = 4 [json_name = "admin_opt"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          admin_opt_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_grantor(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* GrantRoleStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GrantRoleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_granted_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_granted_roles(i), target, stream);
  }

  // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_grantee_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_grantee_roles(i), target, stream);
  }

  // bool is_grant = 3 [json_name = "is_grant"];
  if (this->is_grant() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_is_grant(), target);
  }

  // bool admin_opt = 4 [json_name = "admin_opt"];
  if (this->admin_opt() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_admin_opt(), target);
  }

  // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
  if (this->has_grantor()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::grantor(this), target, stream);
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      6, this->_internal_behavior(), 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:pg_query.GrantRoleStmt)
  return target;
}

size_t GrantRoleStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.GrantRoleStmt)
  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 .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
  total_size += 1UL * this->_internal_granted_roles_size();
  for (const auto& msg : this->granted_roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
  total_size += 1UL * this->_internal_grantee_roles_size();
  for (const auto& msg : this->grantee_roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
  if (this->has_grantor()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *grantor_);
  }

  // bool is_grant = 3 [json_name = "is_grant"];
  if (this->is_grant() != 0) {
    total_size += 1 + 1;
  }

  // bool admin_opt = 4 [json_name = "admin_opt"];
  if (this->admin_opt() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

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

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

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

  granted_roles_.MergeFrom(from.granted_roles_);
  grantee_roles_.MergeFrom(from.grantee_roles_);
  if (from.has_grantor()) {
    _internal_mutable_grantor()->::pg_query::RoleSpec::MergeFrom(from._internal_grantor());
  }
  if (from.is_grant() != 0) {
    _internal_set_is_grant(from._internal_is_grant());
  }
  if (from.admin_opt() != 0) {
    _internal_set_admin_opt(from._internal_admin_opt());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
}

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

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

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

void GrantRoleStmt::InternalSwap(GrantRoleStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  granted_roles_.InternalSwap(&other->granted_roles_);
  grantee_roles_.InternalSwap(&other->grantee_roles_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GrantRoleStmt, behavior_)
      + sizeof(GrantRoleStmt::behavior_)
      - PROTOBUF_FIELD_OFFSET(GrantRoleStmt, grantor_)>(
          reinterpret_cast<char*>(&grantor_),
          reinterpret_cast<char*>(&other->grantor_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GrantRoleStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class AlterDefaultPrivilegesStmt::_Internal {
 public:
  static const ::pg_query::GrantStmt& action(const AlterDefaultPrivilegesStmt* msg);
};

const ::pg_query::GrantStmt&
AlterDefaultPrivilegesStmt::_Internal::action(const AlterDefaultPrivilegesStmt* msg) {
  return *msg->action_;
}
AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDefaultPrivilegesStmt)
}
AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_action()) {
    action_ = new ::pg_query::GrantStmt(*from.action_);
  } else {
    action_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDefaultPrivilegesStmt)
}

void AlterDefaultPrivilegesStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  action_ = nullptr;
}

AlterDefaultPrivilegesStmt::~AlterDefaultPrivilegesStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDefaultPrivilegesStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void AlterDefaultPrivilegesStmt::ArenaDtor(void* object) {
  AlterDefaultPrivilegesStmt* _this = reinterpret_cast< AlterDefaultPrivilegesStmt* >(object);
  (void)_this;
}
void AlterDefaultPrivilegesStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterDefaultPrivilegesStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterDefaultPrivilegesStmt& AlterDefaultPrivilegesStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  options_.Clear();
  if (GetArena() == nullptr && action_ != nullptr) {
    delete action_;
  }
  action_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDefaultPrivilegesStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node options = 1 [json_name = "options"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.GrantStmt action = 2 [json_name = "action"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_action(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterDefaultPrivilegesStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDefaultPrivilegesStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_options(i), target, stream);
  }

  // .pg_query.GrantStmt action = 2 [json_name = "action"];
  if (this->has_action()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::action(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:pg_query.AlterDefaultPrivilegesStmt)
  return target;
}

size_t AlterDefaultPrivilegesStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterDefaultPrivilegesStmt)
  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 .pg_query.Node options = 1 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.GrantStmt action = 2 [json_name = "action"];
  if (this->has_action()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *action_);
  }

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

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

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

  options_.MergeFrom(from.options_);
  if (from.has_action()) {
    _internal_mutable_action()->::pg_query::GrantStmt::MergeFrom(from._internal_action());
  }
}

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

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

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

void AlterDefaultPrivilegesStmt::InternalSwap(AlterDefaultPrivilegesStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  swap(action_, other->action_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDefaultPrivilegesStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class ClosePortalStmt::_Internal {
 public:
};

ClosePortalStmt::ClosePortalStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ClosePortalStmt)
}
ClosePortalStmt::ClosePortalStmt(const ClosePortalStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  portalname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_portalname().empty()) {
    portalname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_portalname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ClosePortalStmt)
}

void ClosePortalStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto.base);
  portalname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

ClosePortalStmt::~ClosePortalStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ClosePortalStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void ClosePortalStmt::ArenaDtor(void* object) {
  ClosePortalStmt* _this = reinterpret_cast< ClosePortalStmt* >(object);
  (void)_this;
}
void ClosePortalStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ClosePortalStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ClosePortalStmt& ClosePortalStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ClosePortalStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* ClosePortalStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string portalname = 1 [json_name = "portalname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_portalname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ClosePortalStmt.portalname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ClosePortalStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ClosePortalStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string portalname = 1 [json_name = "portalname"];
  if (this->portalname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_portalname().data(), static_cast<int>(this->_internal_portalname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ClosePortalStmt.portalname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_portalname(), 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:pg_query.ClosePortalStmt)
  return target;
}

size_t ClosePortalStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ClosePortalStmt)
  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 portalname = 1 [json_name = "portalname"];
  if (this->portalname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_portalname());
  }

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

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

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

  if (from.portalname().size() > 0) {
    _internal_set_portalname(from._internal_portalname());
  }
}

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

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

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

void ClosePortalStmt::InternalSwap(ClosePortalStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  portalname_.Swap(&other->portalname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata ClosePortalStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class ClusterStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const ClusterStmt* msg);
};

const ::pg_query::RangeVar&
ClusterStmt::_Internal::relation(const ClusterStmt* msg) {
  return *msg->relation_;
}
ClusterStmt::ClusterStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ClusterStmt)
}
ClusterStmt::ClusterStmt(const ClusterStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  indexname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_indexname().empty()) {
    indexname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_indexname(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  options_ = from.options_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ClusterStmt)
}

void ClusterStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  indexname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&options_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(options_));
}

ClusterStmt::~ClusterStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ClusterStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ClusterStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  indexname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
}

void ClusterStmt::ArenaDtor(void* object) {
  ClusterStmt* _this = reinterpret_cast< ClusterStmt* >(object);
  (void)_this;
}
void ClusterStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ClusterStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ClusterStmt& ClusterStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  indexname_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  options_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ClusterStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string indexname = 2 [json_name = "indexname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_indexname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ClusterStmt.indexname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ClusterStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ClusterStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // string indexname = 2 [json_name = "indexname"];
  if (this->indexname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_indexname().data(), static_cast<int>(this->_internal_indexname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ClusterStmt.indexname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_indexname(), target);
  }

  // int32 options = 3 [json_name = "options"];
  if (this->options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_options(), 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:pg_query.ClusterStmt)
  return target;
}

size_t ClusterStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ClusterStmt)
  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 indexname = 2 [json_name = "indexname"];
  if (this->indexname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexname());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // int32 options = 3 [json_name = "options"];
  if (this->options() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_options());
  }

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

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

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

  if (from.indexname().size() > 0) {
    _internal_set_indexname(from._internal_indexname());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.options() != 0) {
    _internal_set_options(from._internal_options());
  }
}

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

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

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

void ClusterStmt::InternalSwap(ClusterStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  indexname_.Swap(&other->indexname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ClusterStmt, options_)
      + sizeof(ClusterStmt::options_)
      - PROTOBUF_FIELD_OFFSET(ClusterStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ClusterStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CopyStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const CopyStmt* msg);
  static const ::pg_query::Node& query(const CopyStmt* msg);
  static const ::pg_query::Node& where_clause(const CopyStmt* msg);
};

const ::pg_query::RangeVar&
CopyStmt::_Internal::relation(const CopyStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
CopyStmt::_Internal::query(const CopyStmt* msg) {
  return *msg->query_;
}
const ::pg_query::Node&
CopyStmt::_Internal::where_clause(const CopyStmt* msg) {
  return *msg->where_clause_;
}
CopyStmt::CopyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  attlist_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CopyStmt)
}
CopyStmt::CopyStmt(const CopyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      attlist_(from.attlist_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  filename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_filename().empty()) {
    filename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_filename(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_query()) {
    query_ = new ::pg_query::Node(*from.query_);
  } else {
    query_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  ::memcpy(&is_from_, &from.is_from_,
    static_cast<size_t>(reinterpret_cast<char*>(&is_program_) -
    reinterpret_cast<char*>(&is_from_)) + sizeof(is_program_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CopyStmt)
}

void CopyStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  filename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&is_program_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(is_program_));
}

CopyStmt::~CopyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CopyStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CopyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  filename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete query_;
  if (this != internal_default_instance()) delete where_clause_;
}

void CopyStmt::ArenaDtor(void* object) {
  CopyStmt* _this = reinterpret_cast< CopyStmt* >(object);
  (void)_this;
}
void CopyStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CopyStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CopyStmt& CopyStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  attlist_.Clear();
  options_.Clear();
  filename_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && query_ != nullptr) {
    delete query_;
  }
  query_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  ::memset(&is_from_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&is_program_) -
      reinterpret_cast<char*>(&is_from_)) + sizeof(is_program_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CopyStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node query = 2 [json_name = "query"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node attlist = 3 [json_name = "attlist"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_attlist(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // bool is_from = 4 [json_name = "is_from"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          is_from_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_program = 5 [json_name = "is_program"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          is_program_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string filename = 6 [json_name = "filename"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_filename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CopyStmt.filename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 7 [json_name = "options"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CopyStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CopyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // .pg_query.Node query = 2 [json_name = "query"];
  if (this->has_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::query(this), target, stream);
  }

  // repeated .pg_query.Node attlist = 3 [json_name = "attlist"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_attlist_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_attlist(i), target, stream);
  }

  // bool is_from = 4 [json_name = "is_from"];
  if (this->is_from() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_from(), target);
  }

  // bool is_program = 5 [json_name = "is_program"];
  if (this->is_program() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_is_program(), target);
  }

  // string filename = 6 [json_name = "filename"];
  if (this->filename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_filename().data(), static_cast<int>(this->_internal_filename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CopyStmt.filename");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_filename(), target);
  }

  // repeated .pg_query.Node options = 7 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_options(i), target, stream);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        8, _Internal::where_clause(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:pg_query.CopyStmt)
  return target;
}

size_t CopyStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CopyStmt)
  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 .pg_query.Node attlist = 3 [json_name = "attlist"];
  total_size += 1UL * this->_internal_attlist_size();
  for (const auto& msg : this->attlist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 7 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string filename = 6 [json_name = "filename"];
  if (this->filename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_filename());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node query = 2 [json_name = "query"];
  if (this->has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *query_);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // bool is_from = 4 [json_name = "is_from"];
  if (this->is_from() != 0) {
    total_size += 1 + 1;
  }

  // bool is_program = 5 [json_name = "is_program"];
  if (this->is_program() != 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;
}

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

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

  attlist_.MergeFrom(from.attlist_);
  options_.MergeFrom(from.options_);
  if (from.filename().size() > 0) {
    _internal_set_filename(from._internal_filename());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_query()) {
    _internal_mutable_query()->::pg_query::Node::MergeFrom(from._internal_query());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.is_from() != 0) {
    _internal_set_is_from(from._internal_is_from());
  }
  if (from.is_program() != 0) {
    _internal_set_is_program(from._internal_is_program());
  }
}

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

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

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

void CopyStmt::InternalSwap(CopyStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  attlist_.InternalSwap(&other->attlist_);
  options_.InternalSwap(&other->options_);
  filename_.Swap(&other->filename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CopyStmt, is_program_)
      + sizeof(CopyStmt::is_program_)
      - PROTOBUF_FIELD_OFFSET(CopyStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CopyStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CreateStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const CreateStmt* msg);
  static const ::pg_query::PartitionBoundSpec& partbound(const CreateStmt* msg);
  static const ::pg_query::PartitionSpec& partspec(const CreateStmt* msg);
  static const ::pg_query::TypeName& of_typename(const CreateStmt* msg);
};

const ::pg_query::RangeVar&
CreateStmt::_Internal::relation(const CreateStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::PartitionBoundSpec&
CreateStmt::_Internal::partbound(const CreateStmt* msg) {
  return *msg->partbound_;
}
const ::pg_query::PartitionSpec&
CreateStmt::_Internal::partspec(const CreateStmt* msg) {
  return *msg->partspec_;
}
const ::pg_query::TypeName&
CreateStmt::_Internal::of_typename(const CreateStmt* msg) {
  return *msg->of_typename_;
}
CreateStmt::CreateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  table_elts_(arena),
  inh_relations_(arena),
  constraints_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateStmt)
}
CreateStmt::CreateStmt(const CreateStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      table_elts_(from.table_elts_),
      inh_relations_(from.inh_relations_),
      constraints_(from.constraints_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_tablespacename().empty()) {
    tablespacename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_tablespacename(), 
      GetArena());
  }
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_access_method().empty()) {
    access_method_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_access_method(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_partbound()) {
    partbound_ = new ::pg_query::PartitionBoundSpec(*from.partbound_);
  } else {
    partbound_ = nullptr;
  }
  if (from._internal_has_partspec()) {
    partspec_ = new ::pg_query::PartitionSpec(*from.partspec_);
  } else {
    partspec_ = nullptr;
  }
  if (from._internal_has_of_typename()) {
    of_typename_ = new ::pg_query::TypeName(*from.of_typename_);
  } else {
    of_typename_ = nullptr;
  }
  ::memcpy(&oncommit_, &from.oncommit_,
    static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
    reinterpret_cast<char*>(&oncommit_)) + sizeof(if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateStmt)
}

void CreateStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(if_not_exists_));
}

CreateStmt::~CreateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  tablespacename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  access_method_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete partbound_;
  if (this != internal_default_instance()) delete partspec_;
  if (this != internal_default_instance()) delete of_typename_;
}

void CreateStmt::ArenaDtor(void* object) {
  CreateStmt* _this = reinterpret_cast< CreateStmt* >(object);
  (void)_this;
}
void CreateStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateStmt& CreateStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  table_elts_.Clear();
  inh_relations_.Clear();
  constraints_.Clear();
  options_.Clear();
  tablespacename_.ClearToEmpty();
  access_method_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && partbound_ != nullptr) {
    delete partbound_;
  }
  partbound_ = nullptr;
  if (GetArena() == nullptr && partspec_ != nullptr) {
    delete partspec_;
  }
  partspec_ = nullptr;
  if (GetArena() == nullptr && of_typename_ != nullptr) {
    delete of_typename_;
  }
  of_typename_ = nullptr;
  ::memset(&oncommit_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&oncommit_)) + sizeof(if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_table_elts(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_inh_relations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_partbound(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_partspec(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_of_typename(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 8 [json_name = "options"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_oncommit(static_cast<::pg_query::OnCommitAction>(val));
        } else goto handle_unusual;
        continue;
      // string tablespacename = 10 [json_name = "tablespacename"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateStmt.tablespacename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string access_method = 11 [json_name = "accessMethod"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          auto str = _internal_mutable_access_method();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateStmt.access_method"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 12 [json_name = "if_not_exists"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_table_elts_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_table_elts(i), target, stream);
  }

  // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_inh_relations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_inh_relations(i), target, stream);
  }

  // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
  if (this->has_partbound()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::partbound(this), target, stream);
  }

  // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
  if (this->has_partspec()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::partspec(this), target, stream);
  }

  // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
  if (this->has_of_typename()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::of_typename(this), target, stream);
  }

  // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_constraints(i), target, stream);
  }

  // repeated .pg_query.Node options = 8 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_options(i), target, stream);
  }

  // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
  if (this->oncommit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      9, this->_internal_oncommit(), target);
  }

  // string tablespacename = 10 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_tablespacename().data(), static_cast<int>(this->_internal_tablespacename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(
        10, this->_internal_tablespacename(), target);
  }

  // string access_method = 11 [json_name = "accessMethod"];
  if (this->access_method().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_access_method().data(), static_cast<int>(this->_internal_access_method().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateStmt.access_method");
    target = stream->WriteStringMaybeAliased(
        11, this->_internal_access_method(), target);
  }

  // bool if_not_exists = 12 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_if_not_exists(), 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:pg_query.CreateStmt)
  return target;
}

size_t CreateStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateStmt)
  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 .pg_query.Node table_elts = 2 [json_name = "tableElts"];
  total_size += 1UL * this->_internal_table_elts_size();
  for (const auto& msg : this->table_elts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
  total_size += 1UL * this->_internal_inh_relations_size();
  for (const auto& msg : this->inh_relations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
  total_size += 1UL * this->_internal_constraints_size();
  for (const auto& msg : this->constraints_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 8 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string tablespacename = 10 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // string access_method = 11 [json_name = "accessMethod"];
  if (this->access_method().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
  if (this->has_partbound()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *partbound_);
  }

  // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
  if (this->has_partspec()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *partspec_);
  }

  // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
  if (this->has_of_typename()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *of_typename_);
  }

  // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
  if (this->oncommit() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_oncommit());
  }

  // bool if_not_exists = 12 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

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

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

  table_elts_.MergeFrom(from.table_elts_);
  inh_relations_.MergeFrom(from.inh_relations_);
  constraints_.MergeFrom(from.constraints_);
  options_.MergeFrom(from.options_);
  if (from.tablespacename().size() > 0) {
    _internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from.access_method().size() > 0) {
    _internal_set_access_method(from._internal_access_method());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_partbound()) {
    _internal_mutable_partbound()->::pg_query::PartitionBoundSpec::MergeFrom(from._internal_partbound());
  }
  if (from.has_partspec()) {
    _internal_mutable_partspec()->::pg_query::PartitionSpec::MergeFrom(from._internal_partspec());
  }
  if (from.has_of_typename()) {
    _internal_mutable_of_typename()->::pg_query::TypeName::MergeFrom(from._internal_of_typename());
  }
  if (from.oncommit() != 0) {
    _internal_set_oncommit(from._internal_oncommit());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

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

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

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

void CreateStmt::InternalSwap(CreateStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  table_elts_.InternalSwap(&other->table_elts_);
  inh_relations_.InternalSwap(&other->inh_relations_);
  constraints_.InternalSwap(&other->constraints_);
  options_.InternalSwap(&other->options_);
  tablespacename_.Swap(&other->tablespacename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  access_method_.Swap(&other->access_method_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateStmt, if_not_exists_)
      + sizeof(CreateStmt::if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class DefineStmt::_Internal {
 public:
};

DefineStmt::DefineStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  defnames_(arena),
  args_(arena),
  definition_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DefineStmt)
}
DefineStmt::DefineStmt(const DefineStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      defnames_(from.defnames_),
      args_(from.args_),
      definition_(from.definition_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&replace_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(replace_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DefineStmt)
}

void DefineStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&kind_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&replace_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(replace_));
}

DefineStmt::~DefineStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DefineStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void DefineStmt::ArenaDtor(void* object) {
  DefineStmt* _this = reinterpret_cast< DefineStmt* >(object);
  (void)_this;
}
void DefineStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DefineStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DefineStmt& DefineStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  defnames_.Clear();
  args_.Clear();
  definition_.Clear();
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&replace_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(replace_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DefineStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // bool oldstyle = 2 [json_name = "oldstyle"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          oldstyle_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node defnames = 3 [json_name = "defnames"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_defnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 4 [json_name = "args"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node definition = 5 [json_name = "definition"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_definition(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 6 [json_name = "if_not_exists"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool replace = 7 [json_name = "replace"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DefineStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DefineStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // bool oldstyle = 2 [json_name = "oldstyle"];
  if (this->oldstyle() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_oldstyle(), target);
  }

  // repeated .pg_query.Node defnames = 3 [json_name = "defnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_defnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_defnames(i), target, stream);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_args(i), target, stream);
  }

  // repeated .pg_query.Node definition = 5 [json_name = "definition"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_definition_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_definition(i), target, stream);
  }

  // bool if_not_exists = 6 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_if_not_exists(), target);
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_replace(), 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:pg_query.DefineStmt)
  return target;
}

size_t DefineStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DefineStmt)
  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 .pg_query.Node defnames = 3 [json_name = "defnames"];
  total_size += 1UL * this->_internal_defnames_size();
  for (const auto& msg : this->defnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node definition = 5 [json_name = "definition"];
  total_size += 1UL * this->_internal_definition_size();
  for (const auto& msg : this->definition_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool oldstyle = 2 [json_name = "oldstyle"];
  if (this->oldstyle() != 0) {
    total_size += 1 + 1;
  }

  // bool if_not_exists = 6 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->replace() != 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;
}

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

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

  defnames_.MergeFrom(from.defnames_);
  args_.MergeFrom(from.args_);
  definition_.MergeFrom(from.definition_);
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.oldstyle() != 0) {
    _internal_set_oldstyle(from._internal_oldstyle());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
  if (from.replace() != 0) {
    _internal_set_replace(from._internal_replace());
  }
}

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

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

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

void DefineStmt::InternalSwap(DefineStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  defnames_.InternalSwap(&other->defnames_);
  args_.InternalSwap(&other->args_);
  definition_.InternalSwap(&other->definition_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DefineStmt, replace_)
      + sizeof(DefineStmt::replace_)
      - PROTOBUF_FIELD_OFFSET(DefineStmt, kind_)>(
          reinterpret_cast<char*>(&kind_),
          reinterpret_cast<char*>(&other->kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DefineStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class DropStmt::_Internal {
 public:
};

DropStmt::DropStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  objects_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropStmt)
}
DropStmt::DropStmt(const DropStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      objects_(from.objects_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&remove_type_, &from.remove_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&concurrent_) -
    reinterpret_cast<char*>(&remove_type_)) + sizeof(concurrent_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DropStmt)
}

void DropStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&remove_type_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&concurrent_) -
      reinterpret_cast<char*>(&remove_type_)) + sizeof(concurrent_));
}

DropStmt::~DropStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void DropStmt::ArenaDtor(void* object) {
  DropStmt* _this = reinterpret_cast< DropStmt* >(object);
  (void)_this;
}
void DropStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DropStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DropStmt& DropStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  objects_.Clear();
  ::memset(&remove_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&concurrent_) -
      reinterpret_cast<char*>(&remove_type_)) + sizeof(concurrent_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node objects = 1 [json_name = "objects"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_objects(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
      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_remove_type(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
      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_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 4 [json_name = "missing_ok"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool concurrent = 5 [json_name = "concurrent"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          concurrent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DropStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node objects = 1 [json_name = "objects"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_objects_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_objects(i), target, stream);
  }

  // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
  if (this->remove_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_remove_type(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_behavior(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_missing_ok(), target);
  }

  // bool concurrent = 5 [json_name = "concurrent"];
  if (this->concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_concurrent(), 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:pg_query.DropStmt)
  return target;
}

size_t DropStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropStmt)
  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 .pg_query.Node objects = 1 [json_name = "objects"];
  total_size += 1UL * this->_internal_objects_size();
  for (const auto& msg : this->objects_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
  if (this->remove_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_remove_type());
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    total_size += 1 + 1;
  }

  // bool concurrent = 5 [json_name = "concurrent"];
  if (this->concurrent() != 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;
}

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

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

  objects_.MergeFrom(from.objects_);
  if (from.remove_type() != 0) {
    _internal_set_remove_type(from._internal_remove_type());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from.concurrent() != 0) {
    _internal_set_concurrent(from._internal_concurrent());
  }
}

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

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

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

void DropStmt::InternalSwap(DropStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  objects_.InternalSwap(&other->objects_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropStmt, concurrent_)
      + sizeof(DropStmt::concurrent_)
      - PROTOBUF_FIELD_OFFSET(DropStmt, remove_type_)>(
          reinterpret_cast<char*>(&remove_type_),
          reinterpret_cast<char*>(&other->remove_type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DropStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class TruncateStmt::_Internal {
 public:
};

TruncateStmt::TruncateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  relations_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TruncateStmt)
}
TruncateStmt::TruncateStmt(const TruncateStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      relations_(from.relations_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&restart_seqs_, &from.restart_seqs_,
    static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
    reinterpret_cast<char*>(&restart_seqs_)) + sizeof(behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TruncateStmt)
}

void TruncateStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&restart_seqs_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&restart_seqs_)) + sizeof(behavior_));
}

TruncateStmt::~TruncateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.TruncateStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void TruncateStmt::ArenaDtor(void* object) {
  TruncateStmt* _this = reinterpret_cast< TruncateStmt* >(object);
  (void)_this;
}
void TruncateStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TruncateStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TruncateStmt& TruncateStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  relations_.Clear();
  ::memset(&restart_seqs_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&restart_seqs_)) + sizeof(behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TruncateStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node relations = 1 [json_name = "relations"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_relations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // bool restart_seqs = 2 [json_name = "restart_seqs"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          restart_seqs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
      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_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TruncateStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TruncateStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_relations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_relations(i), target, stream);
  }

  // bool restart_seqs = 2 [json_name = "restart_seqs"];
  if (this->restart_seqs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_restart_seqs(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_behavior(), 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:pg_query.TruncateStmt)
  return target;
}

size_t TruncateStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TruncateStmt)
  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 .pg_query.Node relations = 1 [json_name = "relations"];
  total_size += 1UL * this->_internal_relations_size();
  for (const auto& msg : this->relations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool restart_seqs = 2 [json_name = "restart_seqs"];
  if (this->restart_seqs() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

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

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

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

  relations_.MergeFrom(from.relations_);
  if (from.restart_seqs() != 0) {
    _internal_set_restart_seqs(from._internal_restart_seqs());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
}

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

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

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

void TruncateStmt::InternalSwap(TruncateStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  relations_.InternalSwap(&other->relations_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TruncateStmt, behavior_)
      + sizeof(TruncateStmt::behavior_)
      - PROTOBUF_FIELD_OFFSET(TruncateStmt, restart_seqs_)>(
          reinterpret_cast<char*>(&restart_seqs_),
          reinterpret_cast<char*>(&other->restart_seqs_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TruncateStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CommentStmt::_Internal {
 public:
  static const ::pg_query::Node& object(const CommentStmt* msg);
};

const ::pg_query::Node&
CommentStmt::_Internal::object(const CommentStmt* msg) {
  return *msg->object_;
}
CommentStmt::CommentStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CommentStmt)
}
CommentStmt::CommentStmt(const CommentStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  comment_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_comment().empty()) {
    comment_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_comment(), 
      GetArena());
  }
  if (from._internal_has_object()) {
    object_ = new ::pg_query::Node(*from.object_);
  } else {
    object_ = nullptr;
  }
  objtype_ = from.objtype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CommentStmt)
}

void CommentStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  comment_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&object_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&objtype_) -
      reinterpret_cast<char*>(&object_)) + sizeof(objtype_));
}

CommentStmt::~CommentStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CommentStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CommentStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  comment_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete object_;
}

void CommentStmt::ArenaDtor(void* object) {
  CommentStmt* _this = reinterpret_cast< CommentStmt* >(object);
  (void)_this;
}
void CommentStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CommentStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CommentStmt& CommentStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  comment_.ClearToEmpty();
  if (GetArena() == nullptr && object_ != nullptr) {
    delete object_;
  }
  object_ = nullptr;
  objtype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CommentStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
      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);
          _internal_set_objtype(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node object = 2 [json_name = "object"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string comment = 3 [json_name = "comment"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_comment();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CommentStmt.comment"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CommentStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CommentStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_objtype(), target);
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->has_object()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::object(this), target, stream);
  }

  // string comment = 3 [json_name = "comment"];
  if (this->comment().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_comment().data(), static_cast<int>(this->_internal_comment().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CommentStmt.comment");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_comment(), 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:pg_query.CommentStmt)
  return target;
}

size_t CommentStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CommentStmt)
  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 comment = 3 [json_name = "comment"];
  if (this->comment().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_comment());
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *object_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->objtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_objtype());
  }

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

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

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

  if (from.comment().size() > 0) {
    _internal_set_comment(from._internal_comment());
  }
  if (from.has_object()) {
    _internal_mutable_object()->::pg_query::Node::MergeFrom(from._internal_object());
  }
  if (from.objtype() != 0) {
    _internal_set_objtype(from._internal_objtype());
  }
}

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

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

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

void CommentStmt::InternalSwap(CommentStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  comment_.Swap(&other->comment_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CommentStmt, objtype_)
      + sizeof(CommentStmt::objtype_)
      - PROTOBUF_FIELD_OFFSET(CommentStmt, object_)>(
          reinterpret_cast<char*>(&object_),
          reinterpret_cast<char*>(&other->object_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CommentStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class FetchStmt::_Internal {
 public:
};

FetchStmt::FetchStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FetchStmt)
}
FetchStmt::FetchStmt(const FetchStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  portalname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_portalname().empty()) {
    portalname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_portalname(), 
      GetArena());
  }
  ::memcpy(&how_many_, &from.how_many_,
    static_cast<size_t>(reinterpret_cast<char*>(&ismove_) -
    reinterpret_cast<char*>(&how_many_)) + sizeof(ismove_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FetchStmt)
}

void FetchStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto.base);
  portalname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&how_many_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&ismove_) -
      reinterpret_cast<char*>(&how_many_)) + sizeof(ismove_));
}

FetchStmt::~FetchStmt() {
  // @@protoc_insertion_point(destructor:pg_query.FetchStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void FetchStmt::ArenaDtor(void* object) {
  FetchStmt* _this = reinterpret_cast< FetchStmt* >(object);
  (void)_this;
}
void FetchStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void FetchStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FetchStmt& FetchStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_FetchStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  portalname_.ClearToEmpty();
  ::memset(&how_many_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&ismove_) -
      reinterpret_cast<char*>(&how_many_)) + sizeof(ismove_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FetchStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
      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);
          _internal_set_direction(static_cast<::pg_query::FetchDirection>(val));
        } else goto handle_unusual;
        continue;
      // int64 how_many = 2 [json_name = "howMany"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          how_many_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string portalname = 3 [json_name = "portalname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_portalname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.FetchStmt.portalname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool ismove = 4 [json_name = "ismove"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ismove_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* FetchStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FetchStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
  if (this->direction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_direction(), target);
  }

  // int64 how_many = 2 [json_name = "howMany"];
  if (this->how_many() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_how_many(), target);
  }

  // string portalname = 3 [json_name = "portalname"];
  if (this->portalname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_portalname().data(), static_cast<int>(this->_internal_portalname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.FetchStmt.portalname");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_portalname(), target);
  }

  // bool ismove = 4 [json_name = "ismove"];
  if (this->ismove() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_ismove(), 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:pg_query.FetchStmt)
  return target;
}

size_t FetchStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.FetchStmt)
  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 portalname = 3 [json_name = "portalname"];
  if (this->portalname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_portalname());
  }

  // int64 how_many = 2 [json_name = "howMany"];
  if (this->how_many() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
        this->_internal_how_many());
  }

  // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
  if (this->direction() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_direction());
  }

  // bool ismove = 4 [json_name = "ismove"];
  if (this->ismove() != 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;
}

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

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

  if (from.portalname().size() > 0) {
    _internal_set_portalname(from._internal_portalname());
  }
  if (from.how_many() != 0) {
    _internal_set_how_many(from._internal_how_many());
  }
  if (from.direction() != 0) {
    _internal_set_direction(from._internal_direction());
  }
  if (from.ismove() != 0) {
    _internal_set_ismove(from._internal_ismove());
  }
}

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

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

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

void FetchStmt::InternalSwap(FetchStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  portalname_.Swap(&other->portalname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FetchStmt, ismove_)
      + sizeof(FetchStmt::ismove_)
      - PROTOBUF_FIELD_OFFSET(FetchStmt, how_many_)>(
          reinterpret_cast<char*>(&how_many_),
          reinterpret_cast<char*>(&other->how_many_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FetchStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class IndexStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const IndexStmt* msg);
  static const ::pg_query::Node& where_clause(const IndexStmt* msg);
};

const ::pg_query::RangeVar&
IndexStmt::_Internal::relation(const IndexStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
IndexStmt::_Internal::where_clause(const IndexStmt* msg) {
  return *msg->where_clause_;
}
IndexStmt::IndexStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  index_params_(arena),
  index_including_params_(arena),
  options_(arena),
  exclude_op_names_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.IndexStmt)
}
IndexStmt::IndexStmt(const IndexStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      index_params_(from.index_params_),
      index_including_params_(from.index_including_params_),
      options_(from.options_),
      exclude_op_names_(from.exclude_op_names_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  idxname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_idxname().empty()) {
    idxname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_idxname(), 
      GetArena());
  }
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_access_method().empty()) {
    access_method_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_access_method(), 
      GetArena());
  }
  table_space_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_table_space().empty()) {
    table_space_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_space(), 
      GetArena());
  }
  idxcomment_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_idxcomment().empty()) {
    idxcomment_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_idxcomment(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  ::memcpy(&index_oid_, &from.index_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&reset_default_tblspc_) -
    reinterpret_cast<char*>(&index_oid_)) + sizeof(reset_default_tblspc_));
  // @@protoc_insertion_point(copy_constructor:pg_query.IndexStmt)
}

void IndexStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  idxname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_space_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  idxcomment_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&reset_default_tblspc_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(reset_default_tblspc_));
}

IndexStmt::~IndexStmt() {
  // @@protoc_insertion_point(destructor:pg_query.IndexStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void IndexStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  idxname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  access_method_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_space_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  idxcomment_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete where_clause_;
}

void IndexStmt::ArenaDtor(void* object) {
  IndexStmt* _this = reinterpret_cast< IndexStmt* >(object);
  (void)_this;
}
void IndexStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void IndexStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const IndexStmt& IndexStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  index_params_.Clear();
  index_including_params_.Clear();
  options_.Clear();
  exclude_op_names_.Clear();
  idxname_.ClearToEmpty();
  access_method_.ClearToEmpty();
  table_space_.ClearToEmpty();
  idxcomment_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  ::memset(&index_oid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&reset_default_tblspc_) -
      reinterpret_cast<char*>(&index_oid_)) + sizeof(reset_default_tblspc_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IndexStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string idxname = 1 [json_name = "idxname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_idxname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.IndexStmt.idxname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 2 [json_name = "relation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string access_method = 3 [json_name = "accessMethod"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_access_method();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.IndexStmt.access_method"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string table_space = 4 [json_name = "tableSpace"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_table_space();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.IndexStmt.table_space"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_index_params(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_index_including_params(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 7 [json_name = "options"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_exclude_op_names(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else goto handle_unusual;
        continue;
      // string idxcomment = 10 [json_name = "idxcomment"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          auto str = _internal_mutable_idxcomment();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.IndexStmt.idxcomment"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 index_oid = 11 [json_name = "indexOid"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          index_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 old_node = 12 [json_name = "oldNode"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          old_node_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          old_create_subid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 old_first_relfilenode_subid = 14 [json_name = "oldFirstRelfilenodeSubid"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          old_first_relfilenode_subid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool unique = 15 [json_name = "unique"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
          unique_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool primary = 16 [json_name = "primary"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          primary_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool isconstraint = 17 [json_name = "isconstraint"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          isconstraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool deferrable = 18 [json_name = "deferrable"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
          deferrable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool initdeferred = 19 [json_name = "initdeferred"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
          initdeferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool transformed = 20 [json_name = "transformed"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
          transformed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool concurrent = 21 [json_name = "concurrent"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
          concurrent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 22 [json_name = "if_not_exists"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool reset_default_tblspc = 23 [json_name = "reset_default_tblspc"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
          reset_default_tblspc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* IndexStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IndexStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string idxname = 1 [json_name = "idxname"];
  if (this->idxname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_idxname().data(), static_cast<int>(this->_internal_idxname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IndexStmt.idxname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_idxname(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::relation(this), target, stream);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (this->access_method().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_access_method().data(), static_cast<int>(this->_internal_access_method().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IndexStmt.access_method");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_access_method(), target);
  }

  // string table_space = 4 [json_name = "tableSpace"];
  if (this->table_space().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_table_space().data(), static_cast<int>(this->_internal_table_space().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IndexStmt.table_space");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_table_space(), target);
  }

  // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_index_params_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_index_params(i), target, stream);
  }

  // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_index_including_params_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_index_including_params(i), target, stream);
  }

  // repeated .pg_query.Node options = 7 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_options(i), target, stream);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        8, _Internal::where_clause(this), target, stream);
  }

  // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_exclude_op_names_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, this->_internal_exclude_op_names(i), target, stream);
  }

  // string idxcomment = 10 [json_name = "idxcomment"];
  if (this->idxcomment().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_idxcomment().data(), static_cast<int>(this->_internal_idxcomment().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IndexStmt.idxcomment");
    target = stream->WriteStringMaybeAliased(
        10, this->_internal_idxcomment(), target);
  }

  // uint32 index_oid = 11 [json_name = "indexOid"];
  if (this->index_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(11, this->_internal_index_oid(), target);
  }

  // uint32 old_node = 12 [json_name = "oldNode"];
  if (this->old_node() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(12, this->_internal_old_node(), target);
  }

  // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
  if (this->old_create_subid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(13, this->_internal_old_create_subid(), target);
  }

  // uint32 old_first_relfilenode_subid = 14 [json_name = "oldFirstRelfilenodeSubid"];
  if (this->old_first_relfilenode_subid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(14, this->_internal_old_first_relfilenode_subid(), target);
  }

  // bool unique = 15 [json_name = "unique"];
  if (this->unique() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(15, this->_internal_unique(), target);
  }

  // bool primary = 16 [json_name = "primary"];
  if (this->primary() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(16, this->_internal_primary(), target);
  }

  // bool isconstraint = 17 [json_name = "isconstraint"];
  if (this->isconstraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(17, this->_internal_isconstraint(), target);
  }

  // bool deferrable = 18 [json_name = "deferrable"];
  if (this->deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(18, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 19 [json_name = "initdeferred"];
  if (this->initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(19, this->_internal_initdeferred(), target);
  }

  // bool transformed = 20 [json_name = "transformed"];
  if (this->transformed() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(20, this->_internal_transformed(), target);
  }

  // bool concurrent = 21 [json_name = "concurrent"];
  if (this->concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(21, this->_internal_concurrent(), target);
  }

  // bool if_not_exists = 22 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(22, this->_internal_if_not_exists(), target);
  }

  // bool reset_default_tblspc = 23 [json_name = "reset_default_tblspc"];
  if (this->reset_default_tblspc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(23, this->_internal_reset_default_tblspc(), 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:pg_query.IndexStmt)
  return target;
}

size_t IndexStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.IndexStmt)
  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 .pg_query.Node index_params = 5 [json_name = "indexParams"];
  total_size += 1UL * this->_internal_index_params_size();
  for (const auto& msg : this->index_params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
  total_size += 1UL * this->_internal_index_including_params_size();
  for (const auto& msg : this->index_including_params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 7 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
  total_size += 1UL * this->_internal_exclude_op_names_size();
  for (const auto& msg : this->exclude_op_names_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string idxname = 1 [json_name = "idxname"];
  if (this->idxname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_idxname());
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (this->access_method().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // string table_space = 4 [json_name = "tableSpace"];
  if (this->table_space().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_space());
  }

  // string idxcomment = 10 [json_name = "idxcomment"];
  if (this->idxcomment().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_idxcomment());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // uint32 index_oid = 11 [json_name = "indexOid"];
  if (this->index_oid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_index_oid());
  }

  // uint32 old_node = 12 [json_name = "oldNode"];
  if (this->old_node() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_old_node());
  }

  // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
  if (this->old_create_subid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_old_create_subid());
  }

  // uint32 old_first_relfilenode_subid = 14 [json_name = "oldFirstRelfilenodeSubid"];
  if (this->old_first_relfilenode_subid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_old_first_relfilenode_subid());
  }

  // bool unique = 15 [json_name = "unique"];
  if (this->unique() != 0) {
    total_size += 1 + 1;
  }

  // bool primary = 16 [json_name = "primary"];
  if (this->primary() != 0) {
    total_size += 2 + 1;
  }

  // bool isconstraint = 17 [json_name = "isconstraint"];
  if (this->isconstraint() != 0) {
    total_size += 2 + 1;
  }

  // bool deferrable = 18 [json_name = "deferrable"];
  if (this->deferrable() != 0) {
    total_size += 2 + 1;
  }

  // bool initdeferred = 19 [json_name = "initdeferred"];
  if (this->initdeferred() != 0) {
    total_size += 2 + 1;
  }

  // bool transformed = 20 [json_name = "transformed"];
  if (this->transformed() != 0) {
    total_size += 2 + 1;
  }

  // bool concurrent = 21 [json_name = "concurrent"];
  if (this->concurrent() != 0) {
    total_size += 2 + 1;
  }

  // bool if_not_exists = 22 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    total_size += 2 + 1;
  }

  // bool reset_default_tblspc = 23 [json_name = "reset_default_tblspc"];
  if (this->reset_default_tblspc() != 0) {
    total_size += 2 + 1;
  }

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

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

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

  index_params_.MergeFrom(from.index_params_);
  index_including_params_.MergeFrom(from.index_including_params_);
  options_.MergeFrom(from.options_);
  exclude_op_names_.MergeFrom(from.exclude_op_names_);
  if (from.idxname().size() > 0) {
    _internal_set_idxname(from._internal_idxname());
  }
  if (from.access_method().size() > 0) {
    _internal_set_access_method(from._internal_access_method());
  }
  if (from.table_space().size() > 0) {
    _internal_set_table_space(from._internal_table_space());
  }
  if (from.idxcomment().size() > 0) {
    _internal_set_idxcomment(from._internal_idxcomment());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.index_oid() != 0) {
    _internal_set_index_oid(from._internal_index_oid());
  }
  if (from.old_node() != 0) {
    _internal_set_old_node(from._internal_old_node());
  }
  if (from.old_create_subid() != 0) {
    _internal_set_old_create_subid(from._internal_old_create_subid());
  }
  if (from.old_first_relfilenode_subid() != 0) {
    _internal_set_old_first_relfilenode_subid(from._internal_old_first_relfilenode_subid());
  }
  if (from.unique() != 0) {
    _internal_set_unique(from._internal_unique());
  }
  if (from.primary() != 0) {
    _internal_set_primary(from._internal_primary());
  }
  if (from.isconstraint() != 0) {
    _internal_set_isconstraint(from._internal_isconstraint());
  }
  if (from.deferrable() != 0) {
    _internal_set_deferrable(from._internal_deferrable());
  }
  if (from.initdeferred() != 0) {
    _internal_set_initdeferred(from._internal_initdeferred());
  }
  if (from.transformed() != 0) {
    _internal_set_transformed(from._internal_transformed());
  }
  if (from.concurrent() != 0) {
    _internal_set_concurrent(from._internal_concurrent());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
  if (from.reset_default_tblspc() != 0) {
    _internal_set_reset_default_tblspc(from._internal_reset_default_tblspc());
  }
}

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

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

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

void IndexStmt::InternalSwap(IndexStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  index_params_.InternalSwap(&other->index_params_);
  index_including_params_.InternalSwap(&other->index_including_params_);
  options_.InternalSwap(&other->options_);
  exclude_op_names_.InternalSwap(&other->exclude_op_names_);
  idxname_.Swap(&other->idxname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  access_method_.Swap(&other->access_method_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  table_space_.Swap(&other->table_space_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  idxcomment_.Swap(&other->idxcomment_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IndexStmt, reset_default_tblspc_)
      + sizeof(IndexStmt::reset_default_tblspc_)
      - PROTOBUF_FIELD_OFFSET(IndexStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IndexStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class CreateFunctionStmt::_Internal {
 public:
  static const ::pg_query::TypeName& return_type(const CreateFunctionStmt* msg);
};

const ::pg_query::TypeName&
CreateFunctionStmt::_Internal::return_type(const CreateFunctionStmt* msg) {
  return *msg->return_type_;
}
CreateFunctionStmt::CreateFunctionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  funcname_(arena),
  parameters_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateFunctionStmt)
}
CreateFunctionStmt::CreateFunctionStmt(const CreateFunctionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      funcname_(from.funcname_),
      parameters_(from.parameters_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_return_type()) {
    return_type_ = new ::pg_query::TypeName(*from.return_type_);
  } else {
    return_type_ = nullptr;
  }
  ::memcpy(&is_procedure_, &from.is_procedure_,
    static_cast<size_t>(reinterpret_cast<char*>(&replace_) -
    reinterpret_cast<char*>(&is_procedure_)) + sizeof(replace_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateFunctionStmt)
}

void CreateFunctionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&return_type_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&replace_) -
      reinterpret_cast<char*>(&return_type_)) + sizeof(replace_));
}

CreateFunctionStmt::~CreateFunctionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateFunctionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void CreateFunctionStmt::ArenaDtor(void* object) {
  CreateFunctionStmt* _this = reinterpret_cast< CreateFunctionStmt* >(object);
  (void)_this;
}
void CreateFunctionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateFunctionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateFunctionStmt& CreateFunctionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  funcname_.Clear();
  parameters_.Clear();
  options_.Clear();
  if (GetArena() == nullptr && return_type_ != nullptr) {
    delete return_type_;
  }
  return_type_ = nullptr;
  ::memset(&is_procedure_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&replace_) -
      reinterpret_cast<char*>(&is_procedure_)) + sizeof(replace_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateFunctionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool is_procedure = 1 [json_name = "is_procedure"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          is_procedure_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool replace = 2 [json_name = "replace"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funcname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_parameters(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_return_type(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 6 [json_name = "options"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateFunctionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateFunctionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool is_procedure = 1 [json_name = "is_procedure"];
  if (this->is_procedure() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_is_procedure(), target);
  }

  // bool replace = 2 [json_name = "replace"];
  if (this->replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_replace(), target);
  }

  // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funcname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_funcname(i), target, stream);
  }

  // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_parameters_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_parameters(i), target, stream);
  }

  // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
  if (this->has_return_type()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::return_type(this), target, stream);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_options(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:pg_query.CreateFunctionStmt)
  return target;
}

size_t CreateFunctionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateFunctionStmt)
  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 .pg_query.Node funcname = 3 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->funcname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
  total_size += 1UL * this->_internal_parameters_size();
  for (const auto& msg : this->parameters_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
  if (this->has_return_type()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *return_type_);
  }

  // bool is_procedure = 1 [json_name = "is_procedure"];
  if (this->is_procedure() != 0) {
    total_size += 1 + 1;
  }

  // bool replace = 2 [json_name = "replace"];
  if (this->replace() != 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;
}

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

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

  funcname_.MergeFrom(from.funcname_);
  parameters_.MergeFrom(from.parameters_);
  options_.MergeFrom(from.options_);
  if (from.has_return_type()) {
    _internal_mutable_return_type()->::pg_query::TypeName::MergeFrom(from._internal_return_type());
  }
  if (from.is_procedure() != 0) {
    _internal_set_is_procedure(from._internal_is_procedure());
  }
  if (from.replace() != 0) {
    _internal_set_replace(from._internal_replace());
  }
}

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

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

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

void CreateFunctionStmt::InternalSwap(CreateFunctionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  funcname_.InternalSwap(&other->funcname_);
  parameters_.InternalSwap(&other->parameters_);
  options_.InternalSwap(&other->options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, replace_)
      + sizeof(CreateFunctionStmt::replace_)
      - PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, return_type_)>(
          reinterpret_cast<char*>(&return_type_),
          reinterpret_cast<char*>(&other->return_type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateFunctionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class AlterFunctionStmt::_Internal {
 public:
  static const ::pg_query::ObjectWithArgs& func(const AlterFunctionStmt* msg);
};

const ::pg_query::ObjectWithArgs&
AlterFunctionStmt::_Internal::func(const AlterFunctionStmt* msg) {
  return *msg->func_;
}
AlterFunctionStmt::AlterFunctionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  actions_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterFunctionStmt)
}
AlterFunctionStmt::AlterFunctionStmt(const AlterFunctionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      actions_(from.actions_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_func()) {
    func_ = new ::pg_query::ObjectWithArgs(*from.func_);
  } else {
    func_ = nullptr;
  }
  objtype_ = from.objtype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterFunctionStmt)
}

void AlterFunctionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&func_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&objtype_) -
      reinterpret_cast<char*>(&func_)) + sizeof(objtype_));
}

AlterFunctionStmt::~AlterFunctionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterFunctionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void AlterFunctionStmt::ArenaDtor(void* object) {
  AlterFunctionStmt* _this = reinterpret_cast< AlterFunctionStmt* >(object);
  (void)_this;
}
void AlterFunctionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterFunctionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterFunctionStmt& AlterFunctionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  actions_.Clear();
  if (GetArena() == nullptr && func_ != nullptr) {
    delete func_;
  }
  func_ = nullptr;
  objtype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterFunctionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
      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);
          _internal_set_objtype(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_func(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node actions = 3 [json_name = "actions"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_actions(), 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 & 7) == 4 || tag == 0) {
          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* AlterFunctionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterFunctionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_objtype(), target);
  }

  // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
  if (this->has_func()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::func(this), target, stream);
  }

  // repeated .pg_query.Node actions = 3 [json_name = "actions"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_actions_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_actions(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:pg_query.AlterFunctionStmt)
  return target;
}

size_t AlterFunctionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterFunctionStmt)
  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 .pg_query.Node actions = 3 [json_name = "actions"];
  total_size += 1UL * this->_internal_actions_size();
  for (const auto& msg : this->actions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
  if (this->has_func()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *func_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->objtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_objtype());
  }

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

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

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

  actions_.MergeFrom(from.actions_);
  if (from.has_func()) {
    _internal_mutable_func()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_func());
  }
  if (from.objtype() != 0) {
    _internal_set_objtype(from._internal_objtype());
  }
}

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

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

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

void AlterFunctionStmt::InternalSwap(AlterFunctionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  actions_.InternalSwap(&other->actions_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, objtype_)
      + sizeof(AlterFunctionStmt::objtype_)
      - PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, func_)>(
          reinterpret_cast<char*>(&func_),
          reinterpret_cast<char*>(&other->func_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterFunctionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class DoStmt::_Internal {
 public:
};

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

void DoStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

DoStmt::~DoStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DoStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

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

void DoStmt::ArenaDtor(void* object) {
  DoStmt* _this = reinterpret_cast< DoStmt* >(object);
  (void)_this;
}
void DoStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DoStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DoStmt& DoStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

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

const char* DoStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node args = 1 [json_name = "args"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), 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 & 7) == 4 || tag == 0) {
          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* DoStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DoStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node args = 1 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_args(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:pg_query.DoStmt)
  return target;
}

size_t DoStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DoStmt)
  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 .pg_query.Node args = 1 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

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

  args_.MergeFrom(from.args_);
}

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

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata DoStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RenameStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const RenameStmt* msg);
  static const ::pg_query::Node& object(const RenameStmt* msg);
};

const ::pg_query::RangeVar&
RenameStmt::_Internal::relation(const RenameStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
RenameStmt::_Internal::object(const RenameStmt* msg) {
  return *msg->object_;
}
RenameStmt::RenameStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RenameStmt)
}
RenameStmt::RenameStmt(const RenameStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_subname().empty()) {
    subname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_subname(), 
      GetArena());
  }
  newname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_newname().empty()) {
    newname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_newname(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_object()) {
    object_ = new ::pg_query::Node(*from.object_);
  } else {
    object_ = nullptr;
  }
  ::memcpy(&rename_type_, &from.rename_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&rename_type_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RenameStmt)
}

void RenameStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  newname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(missing_ok_));
}

RenameStmt::~RenameStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RenameStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RenameStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  subname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  newname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete object_;
}

void RenameStmt::ArenaDtor(void* object) {
  RenameStmt* _this = reinterpret_cast< RenameStmt* >(object);
  (void)_this;
}
void RenameStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RenameStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RenameStmt& RenameStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  subname_.ClearToEmpty();
  newname_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && object_ != nullptr) {
    delete object_;
  }
  object_ = nullptr;
  ::memset(&rename_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&rename_type_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RenameStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
      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);
          _internal_set_rename_type(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
      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_relation_type(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 3 [json_name = "relation"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node object = 4 [json_name = "object"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string subname = 5 [json_name = "subname"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_subname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RenameStmt.subname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string newname = 6 [json_name = "newname"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_newname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RenameStmt.newname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 8 [json_name = "missing_ok"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RenameStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RenameStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
  if (this->rename_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_rename_type(), target);
  }

  // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
  if (this->relation_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_relation_type(), target);
  }

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::relation(this), target, stream);
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  if (this->has_object()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::object(this), target, stream);
  }

  // string subname = 5 [json_name = "subname"];
  if (this->subname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_subname().data(), static_cast<int>(this->_internal_subname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RenameStmt.subname");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_subname(), target);
  }

  // string newname = 6 [json_name = "newname"];
  if (this->newname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_newname().data(), static_cast<int>(this->_internal_newname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RenameStmt.newname");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_newname(), target);
  }

  // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      7, this->_internal_behavior(), target);
  }

  // bool missing_ok = 8 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(8, this->_internal_missing_ok(), 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:pg_query.RenameStmt)
  return target;
}

size_t RenameStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RenameStmt)
  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 subname = 5 [json_name = "subname"];
  if (this->subname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // string newname = 6 [json_name = "newname"];
  if (this->newname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_newname());
  }

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  if (this->has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *object_);
  }

  // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
  if (this->rename_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_rename_type());
  }

  // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
  if (this->relation_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_relation_type());
  }

  // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 8 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

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

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

  if (from.subname().size() > 0) {
    _internal_set_subname(from._internal_subname());
  }
  if (from.newname().size() > 0) {
    _internal_set_newname(from._internal_newname());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_object()) {
    _internal_mutable_object()->::pg_query::Node::MergeFrom(from._internal_object());
  }
  if (from.rename_type() != 0) {
    _internal_set_rename_type(from._internal_rename_type());
  }
  if (from.relation_type() != 0) {
    _internal_set_relation_type(from._internal_relation_type());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

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

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

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

void RenameStmt::InternalSwap(RenameStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  subname_.Swap(&other->subname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  newname_.Swap(&other->newname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RenameStmt, missing_ok_)
      + sizeof(RenameStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(RenameStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RenameStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class RuleStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const RuleStmt* msg);
  static const ::pg_query::Node& where_clause(const RuleStmt* msg);
};

const ::pg_query::RangeVar&
RuleStmt::_Internal::relation(const RuleStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
RuleStmt::_Internal::where_clause(const RuleStmt* msg) {
  return *msg->where_clause_;
}
RuleStmt::RuleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  actions_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RuleStmt)
}
RuleStmt::RuleStmt(const RuleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      actions_(from.actions_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  rulename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_rulename().empty()) {
    rulename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_rulename(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  ::memcpy(&event_, &from.event_,
    static_cast<size_t>(reinterpret_cast<char*>(&replace_) -
    reinterpret_cast<char*>(&event_)) + sizeof(replace_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RuleStmt)
}

void RuleStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  rulename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&replace_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(replace_));
}

RuleStmt::~RuleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RuleStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RuleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  rulename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete where_clause_;
}

void RuleStmt::ArenaDtor(void* object) {
  RuleStmt* _this = reinterpret_cast< RuleStmt* >(object);
  (void)_this;
}
void RuleStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RuleStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RuleStmt& RuleStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  actions_.Clear();
  rulename_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  ::memset(&event_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&replace_) -
      reinterpret_cast<char*>(&event_)) + sizeof(replace_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RuleStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string rulename = 2 [json_name = "rulename"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_rulename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RuleStmt.rulename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CmdType event = 4 [json_name = "event"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_event(static_cast<::pg_query::CmdType>(val));
        } else goto handle_unusual;
        continue;
      // bool instead = 5 [json_name = "instead"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          instead_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node actions = 6 [json_name = "actions"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_actions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // bool replace = 7 [json_name = "replace"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RuleStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RuleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // string rulename = 2 [json_name = "rulename"];
  if (this->rulename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_rulename().data(), static_cast<int>(this->_internal_rulename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RuleStmt.rulename");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_rulename(), target);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::where_clause(this), target, stream);
  }

  // .pg_query.CmdType event = 4 [json_name = "event"];
  if (this->event() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_event(), target);
  }

  // bool instead = 5 [json_name = "instead"];
  if (this->instead() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_instead(), target);
  }

  // repeated .pg_query.Node actions = 6 [json_name = "actions"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_actions_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_actions(i), target, stream);
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_replace(), 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:pg_query.RuleStmt)
  return target;
}

size_t RuleStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RuleStmt)
  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 .pg_query.Node actions = 6 [json_name = "actions"];
  total_size += 1UL * this->_internal_actions_size();
  for (const auto& msg : this->actions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string rulename = 2 [json_name = "rulename"];
  if (this->rulename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_rulename());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // .pg_query.CmdType event = 4 [json_name = "event"];
  if (this->event() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_event());
  }

  // bool instead = 5 [json_name = "instead"];
  if (this->instead() != 0) {
    total_size += 1 + 1;
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->replace() != 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;
}

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

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

  actions_.MergeFrom(from.actions_);
  if (from.rulename().size() > 0) {
    _internal_set_rulename(from._internal_rulename());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.event() != 0) {
    _internal_set_event(from._internal_event());
  }
  if (from.instead() != 0) {
    _internal_set_instead(from._internal_instead());
  }
  if (from.replace() != 0) {
    _internal_set_replace(from._internal_replace());
  }
}

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

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

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

void RuleStmt::InternalSwap(RuleStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  actions_.InternalSwap(&other->actions_);
  rulename_.Swap(&other->rulename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RuleStmt, replace_)
      + sizeof(RuleStmt::replace_)
      - PROTOBUF_FIELD_OFFSET(RuleStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RuleStmt::GetMetadata() const {
  return GetMetadataStatic();
}


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

class NotifyStmt::_Internal {
 public:
};

NotifyStmt::NotifyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NotifyStmt)
}
NotifyStmt::NotifyStmt(const NotifyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  conditionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_conditionname().empty()) {
    conditionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_conditionname(), 
      GetArena());
  }
  payload_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_payload().empty()) {
    payload_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_payload(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.NotifyStmt)
}

void NotifyStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto.base);
  conditionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  payload_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

NotifyStmt::~NotifyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.NotifyStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void NotifyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  conditionname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  payload_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void NotifyStmt::ArenaDtor(void* object) {
  NotifyStmt* _this = reinterpret_cast< NotifyStmt* >(object);
  (void)_this;
}
void NotifyStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void NotifyStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const NotifyStmt& NotifyStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_NotifyStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


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

  conditionname_.ClearToEmpty();
  payload_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* NotifyStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string conditionname = 1 [json_name = "conditionname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_conditionname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.NotifyStmt.conditionname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string payload = 2 [json_name = "payload"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_payload();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.NotifyStmt.payload"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* NotifyStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NotifyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string conditionname = 1 [json_name = "conditionname"];
  if (this->conditionname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_conditionname().data(), static_cast<int>(this->_internal_conditionname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.NotifyStmt.conditionname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_conditionname(), target);
  }

  // string payload = 2 [json_name = "payload"];
  if (this->payload().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_payload().data(), static_cast<int>(this->_internal_payload().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.NotifyStmt.payload");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_payload(), 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:pg_query.NotifyStmt)
  return target;
}

size_t NotifyStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.NotifyStmt)
  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 conditionname = 1 [json_name = "conditionname"];
  if (this->conditionname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conditionname());
  }

  // string payload = 2 [json_name = "payload"];
  if (this->payload().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_payload());
  }

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

void NotifyStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.NotifyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const NotifyStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<NotifyStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.NotifyStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.NotifyStmt)
    MergeFrom(*source);
  }
}

void NotifyStmt::MergeFrom(const NotifyStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NotifyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.conditionname().size() > 0) {
    _internal_set_conditionname(from._internal_conditionname());
  }
  if (from.payload().size() > 0) {
    _internal_set_payload(from._internal_payload());
  }
}

void NotifyStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.NotifyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void NotifyStmt::CopyFrom(const NotifyStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.NotifyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool NotifyStmt::IsInitialized() const {
  return true;
}

void NotifyStmt::InternalSwap(NotifyStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  conditionname_.Swap(&other->conditionname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  payload_.Swap(&other->payload_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata NotifyStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ListenStmt::_Internal {
 public:
};

ListenStmt::ListenStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ListenStmt)
}
ListenStmt::ListenStmt(const ListenStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  conditionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_conditionname().empty()) {
    conditionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_conditionname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ListenStmt)
}

void ListenStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto.base);
  conditionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

ListenStmt::~ListenStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ListenStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ListenStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  conditionname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void ListenStmt::ArenaDtor(void* object) {
  ListenStmt* _this = reinterpret_cast< ListenStmt* >(object);
  (void)_this;
}
void ListenStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ListenStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ListenStmt& ListenStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ListenStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ListenStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ListenStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  conditionname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ListenStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string conditionname = 1 [json_name = "conditionname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_conditionname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ListenStmt.conditionname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ListenStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ListenStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string conditionname = 1 [json_name = "conditionname"];
  if (this->conditionname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_conditionname().data(), static_cast<int>(this->_internal_conditionname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ListenStmt.conditionname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_conditionname(), 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:pg_query.ListenStmt)
  return target;
}

size_t ListenStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ListenStmt)
  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 conditionname = 1 [json_name = "conditionname"];
  if (this->conditionname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conditionname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ListenStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ListenStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ListenStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ListenStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ListenStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ListenStmt)
    MergeFrom(*source);
  }
}

void ListenStmt::MergeFrom(const ListenStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ListenStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.conditionname().size() > 0) {
    _internal_set_conditionname(from._internal_conditionname());
  }
}

void ListenStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ListenStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ListenStmt::CopyFrom(const ListenStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ListenStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ListenStmt::IsInitialized() const {
  return true;
}

void ListenStmt::InternalSwap(ListenStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  conditionname_.Swap(&other->conditionname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata ListenStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class UnlistenStmt::_Internal {
 public:
};

UnlistenStmt::UnlistenStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.UnlistenStmt)
}
UnlistenStmt::UnlistenStmt(const UnlistenStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  conditionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_conditionname().empty()) {
    conditionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_conditionname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.UnlistenStmt)
}

void UnlistenStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto.base);
  conditionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

UnlistenStmt::~UnlistenStmt() {
  // @@protoc_insertion_point(destructor:pg_query.UnlistenStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void UnlistenStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  conditionname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void UnlistenStmt::ArenaDtor(void* object) {
  UnlistenStmt* _this = reinterpret_cast< UnlistenStmt* >(object);
  (void)_this;
}
void UnlistenStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void UnlistenStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const UnlistenStmt& UnlistenStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_UnlistenStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void UnlistenStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.UnlistenStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  conditionname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* UnlistenStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string conditionname = 1 [json_name = "conditionname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_conditionname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.UnlistenStmt.conditionname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* UnlistenStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.UnlistenStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string conditionname = 1 [json_name = "conditionname"];
  if (this->conditionname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_conditionname().data(), static_cast<int>(this->_internal_conditionname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.UnlistenStmt.conditionname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_conditionname(), 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:pg_query.UnlistenStmt)
  return target;
}

size_t UnlistenStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.UnlistenStmt)
  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 conditionname = 1 [json_name = "conditionname"];
  if (this->conditionname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conditionname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void UnlistenStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.UnlistenStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const UnlistenStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<UnlistenStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.UnlistenStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.UnlistenStmt)
    MergeFrom(*source);
  }
}

void UnlistenStmt::MergeFrom(const UnlistenStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.UnlistenStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.conditionname().size() > 0) {
    _internal_set_conditionname(from._internal_conditionname());
  }
}

void UnlistenStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.UnlistenStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void UnlistenStmt::CopyFrom(const UnlistenStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.UnlistenStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UnlistenStmt::IsInitialized() const {
  return true;
}

void UnlistenStmt::InternalSwap(UnlistenStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  conditionname_.Swap(&other->conditionname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata UnlistenStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class TransactionStmt::_Internal {
 public:
};

TransactionStmt::TransactionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TransactionStmt)
}
TransactionStmt::TransactionStmt(const TransactionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  savepoint_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_savepoint_name().empty()) {
    savepoint_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_savepoint_name(), 
      GetArena());
  }
  gid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_gid().empty()) {
    gid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_gid(), 
      GetArena());
  }
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&chain_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(chain_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TransactionStmt)
}

void TransactionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  savepoint_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  gid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&kind_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&chain_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(chain_));
}

TransactionStmt::~TransactionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.TransactionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TransactionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  savepoint_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  gid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void TransactionStmt::ArenaDtor(void* object) {
  TransactionStmt* _this = reinterpret_cast< TransactionStmt* >(object);
  (void)_this;
}
void TransactionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TransactionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TransactionStmt& TransactionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void TransactionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TransactionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  savepoint_name_.ClearToEmpty();
  gid_.ClearToEmpty();
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&chain_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(chain_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TransactionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::TransactionStmtKind>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // string savepoint_name = 3 [json_name = "savepoint_name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_savepoint_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.TransactionStmt.savepoint_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string gid = 4 [json_name = "gid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_gid();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.TransactionStmt.gid"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool chain = 5 [json_name = "chain"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          chain_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TransactionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TransactionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(i), target, stream);
  }

  // string savepoint_name = 3 [json_name = "savepoint_name"];
  if (this->savepoint_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_savepoint_name().data(), static_cast<int>(this->_internal_savepoint_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.TransactionStmt.savepoint_name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_savepoint_name(), target);
  }

  // string gid = 4 [json_name = "gid"];
  if (this->gid().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_gid().data(), static_cast<int>(this->_internal_gid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.TransactionStmt.gid");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_gid(), target);
  }

  // bool chain = 5 [json_name = "chain"];
  if (this->chain() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_chain(), 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:pg_query.TransactionStmt)
  return target;
}

size_t TransactionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TransactionStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string savepoint_name = 3 [json_name = "savepoint_name"];
  if (this->savepoint_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_savepoint_name());
  }

  // string gid = 4 [json_name = "gid"];
  if (this->gid().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_gid());
  }

  // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool chain = 5 [json_name = "chain"];
  if (this->chain() != 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;
}

void TransactionStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.TransactionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const TransactionStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TransactionStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.TransactionStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.TransactionStmt)
    MergeFrom(*source);
  }
}

void TransactionStmt::MergeFrom(const TransactionStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TransactionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.savepoint_name().size() > 0) {
    _internal_set_savepoint_name(from._internal_savepoint_name());
  }
  if (from.gid().size() > 0) {
    _internal_set_gid(from._internal_gid());
  }
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.chain() != 0) {
    _internal_set_chain(from._internal_chain());
  }
}

void TransactionStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.TransactionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TransactionStmt::CopyFrom(const TransactionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.TransactionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TransactionStmt::IsInitialized() const {
  return true;
}

void TransactionStmt::InternalSwap(TransactionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  savepoint_name_.Swap(&other->savepoint_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  gid_.Swap(&other->gid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TransactionStmt, chain_)
      + sizeof(TransactionStmt::chain_)
      - PROTOBUF_FIELD_OFFSET(TransactionStmt, kind_)>(
          reinterpret_cast<char*>(&kind_),
          reinterpret_cast<char*>(&other->kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TransactionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ViewStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& view(const ViewStmt* msg);
  static const ::pg_query::Node& query(const ViewStmt* msg);
};

const ::pg_query::RangeVar&
ViewStmt::_Internal::view(const ViewStmt* msg) {
  return *msg->view_;
}
const ::pg_query::Node&
ViewStmt::_Internal::query(const ViewStmt* msg) {
  return *msg->query_;
}
ViewStmt::ViewStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  aliases_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ViewStmt)
}
ViewStmt::ViewStmt(const ViewStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      aliases_(from.aliases_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_view()) {
    view_ = new ::pg_query::RangeVar(*from.view_);
  } else {
    view_ = nullptr;
  }
  if (from._internal_has_query()) {
    query_ = new ::pg_query::Node(*from.query_);
  } else {
    query_ = nullptr;
  }
  ::memcpy(&replace_, &from.replace_,
    static_cast<size_t>(reinterpret_cast<char*>(&with_check_option_) -
    reinterpret_cast<char*>(&replace_)) + sizeof(with_check_option_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ViewStmt)
}

void ViewStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&view_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&with_check_option_) -
      reinterpret_cast<char*>(&view_)) + sizeof(with_check_option_));
}

ViewStmt::~ViewStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ViewStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ViewStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete view_;
  if (this != internal_default_instance()) delete query_;
}

void ViewStmt::ArenaDtor(void* object) {
  ViewStmt* _this = reinterpret_cast< ViewStmt* >(object);
  (void)_this;
}
void ViewStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ViewStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ViewStmt& ViewStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ViewStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ViewStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  aliases_.Clear();
  options_.Clear();
  if (GetArena() == nullptr && view_ != nullptr) {
    delete view_;
  }
  view_ = nullptr;
  if (GetArena() == nullptr && query_ != nullptr) {
    delete query_;
  }
  query_ = nullptr;
  ::memset(&replace_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&with_check_option_) -
      reinterpret_cast<char*>(&replace_)) + sizeof(with_check_option_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ViewStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar view = 1 [json_name = "view"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_view(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node aliases = 2 [json_name = "aliases"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_aliases(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node query = 3 [json_name = "query"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool replace = 4 [json_name = "replace"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 5 [json_name = "options"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_with_check_option(static_cast<::pg_query::ViewCheckOption>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ViewStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ViewStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar view = 1 [json_name = "view"];
  if (this->has_view()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::view(this), target, stream);
  }

  // repeated .pg_query.Node aliases = 2 [json_name = "aliases"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_aliases_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_aliases(i), target, stream);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->has_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::query(this), target, stream);
  }

  // bool replace = 4 [json_name = "replace"];
  if (this->replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_replace(), target);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_options(i), target, stream);
  }

  // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
  if (this->with_check_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      6, this->_internal_with_check_option(), 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:pg_query.ViewStmt)
  return target;
}

size_t ViewStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ViewStmt)
  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 .pg_query.Node aliases = 2 [json_name = "aliases"];
  total_size += 1UL * this->_internal_aliases_size();
  for (const auto& msg : this->aliases_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar view = 1 [json_name = "view"];
  if (this->has_view()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *view_);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *query_);
  }

  // bool replace = 4 [json_name = "replace"];
  if (this->replace() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
  if (this->with_check_option() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_with_check_option());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ViewStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ViewStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ViewStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ViewStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ViewStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ViewStmt)
    MergeFrom(*source);
  }
}

void ViewStmt::MergeFrom(const ViewStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ViewStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  aliases_.MergeFrom(from.aliases_);
  options_.MergeFrom(from.options_);
  if (from.has_view()) {
    _internal_mutable_view()->::pg_query::RangeVar::MergeFrom(from._internal_view());
  }
  if (from.has_query()) {
    _internal_mutable_query()->::pg_query::Node::MergeFrom(from._internal_query());
  }
  if (from.replace() != 0) {
    _internal_set_replace(from._internal_replace());
  }
  if (from.with_check_option() != 0) {
    _internal_set_with_check_option(from._internal_with_check_option());
  }
}

void ViewStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ViewStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ViewStmt::CopyFrom(const ViewStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ViewStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ViewStmt::IsInitialized() const {
  return true;
}

void ViewStmt::InternalSwap(ViewStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  aliases_.InternalSwap(&other->aliases_);
  options_.InternalSwap(&other->options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ViewStmt, with_check_option_)
      + sizeof(ViewStmt::with_check_option_)
      - PROTOBUF_FIELD_OFFSET(ViewStmt, view_)>(
          reinterpret_cast<char*>(&view_),
          reinterpret_cast<char*>(&other->view_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ViewStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class LoadStmt::_Internal {
 public:
};

LoadStmt::LoadStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.LoadStmt)
}
LoadStmt::LoadStmt(const LoadStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  filename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_filename().empty()) {
    filename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_filename(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.LoadStmt)
}

void LoadStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto.base);
  filename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

LoadStmt::~LoadStmt() {
  // @@protoc_insertion_point(destructor:pg_query.LoadStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void LoadStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  filename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void LoadStmt::ArenaDtor(void* object) {
  LoadStmt* _this = reinterpret_cast< LoadStmt* >(object);
  (void)_this;
}
void LoadStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void LoadStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const LoadStmt& LoadStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_LoadStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void LoadStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LoadStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  filename_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LoadStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string filename = 1 [json_name = "filename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_filename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.LoadStmt.filename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* LoadStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LoadStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string filename = 1 [json_name = "filename"];
  if (this->filename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_filename().data(), static_cast<int>(this->_internal_filename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.LoadStmt.filename");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_filename(), 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:pg_query.LoadStmt)
  return target;
}

size_t LoadStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.LoadStmt)
  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 filename = 1 [json_name = "filename"];
  if (this->filename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_filename());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void LoadStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.LoadStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const LoadStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LoadStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.LoadStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.LoadStmt)
    MergeFrom(*source);
  }
}

void LoadStmt::MergeFrom(const LoadStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LoadStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.filename().size() > 0) {
    _internal_set_filename(from._internal_filename());
  }
}

void LoadStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.LoadStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void LoadStmt::CopyFrom(const LoadStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.LoadStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LoadStmt::IsInitialized() const {
  return true;
}

void LoadStmt::InternalSwap(LoadStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  filename_.Swap(&other->filename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata LoadStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateDomainStmt::_Internal {
 public:
  static const ::pg_query::TypeName& type_name(const CreateDomainStmt* msg);
  static const ::pg_query::CollateClause& coll_clause(const CreateDomainStmt* msg);
};

const ::pg_query::TypeName&
CreateDomainStmt::_Internal::type_name(const CreateDomainStmt* msg) {
  return *msg->type_name_;
}
const ::pg_query::CollateClause&
CreateDomainStmt::_Internal::coll_clause(const CreateDomainStmt* msg) {
  return *msg->coll_clause_;
}
CreateDomainStmt::CreateDomainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  domainname_(arena),
  constraints_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateDomainStmt)
}
CreateDomainStmt::CreateDomainStmt(const CreateDomainStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      domainname_(from.domainname_),
      constraints_(from.constraints_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_type_name()) {
    type_name_ = new ::pg_query::TypeName(*from.type_name_);
  } else {
    type_name_ = nullptr;
  }
  if (from._internal_has_coll_clause()) {
    coll_clause_ = new ::pg_query::CollateClause(*from.coll_clause_);
  } else {
    coll_clause_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateDomainStmt)
}

void CreateDomainStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&type_name_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&coll_clause_) -
      reinterpret_cast<char*>(&type_name_)) + sizeof(coll_clause_));
}

CreateDomainStmt::~CreateDomainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateDomainStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateDomainStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete type_name_;
  if (this != internal_default_instance()) delete coll_clause_;
}

void CreateDomainStmt::ArenaDtor(void* object) {
  CreateDomainStmt* _this = reinterpret_cast< CreateDomainStmt* >(object);
  (void)_this;
}
void CreateDomainStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateDomainStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateDomainStmt& CreateDomainStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateDomainStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateDomainStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  domainname_.Clear();
  constraints_.Clear();
  if (GetArena() == nullptr && type_name_ != nullptr) {
    delete type_name_;
  }
  type_name_ = nullptr;
  if (GetArena() == nullptr && coll_clause_ != nullptr) {
    delete coll_clause_;
  }
  coll_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateDomainStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_domainname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_coll_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_constraints(), 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 & 7) == 4 || tag == 0) {
          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* CreateDomainStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateDomainStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_domainname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_domainname(i), target, stream);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::type_name(this), target, stream);
  }

  // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
  if (this->has_coll_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::coll_clause(this), target, stream);
  }

  // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_constraints(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:pg_query.CreateDomainStmt)
  return target;
}

size_t CreateDomainStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateDomainStmt)
  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 .pg_query.Node domainname = 1 [json_name = "domainname"];
  total_size += 1UL * this->_internal_domainname_size();
  for (const auto& msg : this->domainname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
  total_size += 1UL * this->_internal_constraints_size();
  for (const auto& msg : this->constraints_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *type_name_);
  }

  // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
  if (this->has_coll_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *coll_clause_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateDomainStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateDomainStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateDomainStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateDomainStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateDomainStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateDomainStmt)
    MergeFrom(*source);
  }
}

void CreateDomainStmt::MergeFrom(const CreateDomainStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateDomainStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  domainname_.MergeFrom(from.domainname_);
  constraints_.MergeFrom(from.constraints_);
  if (from.has_type_name()) {
    _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
  }
  if (from.has_coll_clause()) {
    _internal_mutable_coll_clause()->::pg_query::CollateClause::MergeFrom(from._internal_coll_clause());
  }
}

void CreateDomainStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateDomainStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateDomainStmt::CopyFrom(const CreateDomainStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateDomainStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateDomainStmt::IsInitialized() const {
  return true;
}

void CreateDomainStmt::InternalSwap(CreateDomainStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  domainname_.InternalSwap(&other->domainname_);
  constraints_.InternalSwap(&other->constraints_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateDomainStmt, coll_clause_)
      + sizeof(CreateDomainStmt::coll_clause_)
      - PROTOBUF_FIELD_OFFSET(CreateDomainStmt, type_name_)>(
          reinterpret_cast<char*>(&type_name_),
          reinterpret_cast<char*>(&other->type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateDomainStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreatedbStmt::_Internal {
 public:
};

CreatedbStmt::CreatedbStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatedbStmt)
}
CreatedbStmt::CreatedbStmt(const CreatedbStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_dbname().empty()) {
    dbname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dbname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatedbStmt)
}

void CreatedbStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CreatedbStmt::~CreatedbStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatedbStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreatedbStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  dbname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreatedbStmt::ArenaDtor(void* object) {
  CreatedbStmt* _this = reinterpret_cast< CreatedbStmt* >(object);
  (void)_this;
}
void CreatedbStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreatedbStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreatedbStmt& CreatedbStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreatedbStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatedbStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatedbStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreatedbStmt.dbname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreatedbStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatedbStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_dbname().data(), static_cast<int>(this->_internal_dbname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreatedbStmt.dbname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_dbname(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(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:pg_query.CreatedbStmt)
  return target;
}

size_t CreatedbStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreatedbStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreatedbStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreatedbStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreatedbStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreatedbStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreatedbStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreatedbStmt)
    MergeFrom(*source);
  }
}

void CreatedbStmt::MergeFrom(const CreatedbStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatedbStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.dbname().size() > 0) {
    _internal_set_dbname(from._internal_dbname());
  }
}

void CreatedbStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreatedbStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreatedbStmt::CopyFrom(const CreatedbStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreatedbStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreatedbStmt::IsInitialized() const {
  return true;
}

void CreatedbStmt::InternalSwap(CreatedbStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  dbname_.Swap(&other->dbname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatedbStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DropdbStmt::_Internal {
 public:
};

DropdbStmt::DropdbStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropdbStmt)
}
DropdbStmt::DropdbStmt(const DropdbStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_dbname().empty()) {
    dbname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dbname(), 
      GetArena());
  }
  missing_ok_ = from.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropdbStmt)
}

void DropdbStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  missing_ok_ = false;
}

DropdbStmt::~DropdbStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropdbStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DropdbStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  dbname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void DropdbStmt::ArenaDtor(void* object) {
  DropdbStmt* _this = reinterpret_cast< DropdbStmt* >(object);
  (void)_this;
}
void DropdbStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DropdbStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DropdbStmt& DropdbStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DropdbStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropdbStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  dbname_.ClearToEmpty();
  missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropdbStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.DropdbStmt.dbname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 2 [json_name = "missing_ok"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* DropdbStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropdbStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_dbname().data(), static_cast<int>(this->_internal_dbname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DropdbStmt.dbname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_dbname(), target);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(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:pg_query.DropdbStmt)
  return target;
}

size_t DropdbStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropdbStmt)
  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 .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void DropdbStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DropdbStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DropdbStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DropdbStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DropdbStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DropdbStmt)
    MergeFrom(*source);
  }
}

void DropdbStmt::MergeFrom(const DropdbStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropdbStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.dbname().size() > 0) {
    _internal_set_dbname(from._internal_dbname());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void DropdbStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DropdbStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DropdbStmt::CopyFrom(const DropdbStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DropdbStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DropdbStmt::IsInitialized() const {
  return true;
}

void DropdbStmt::InternalSwap(DropdbStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  dbname_.Swap(&other->dbname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(missing_ok_, other->missing_ok_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropdbStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class VacuumStmt::_Internal {
 public:
};

VacuumStmt::VacuumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena),
  rels_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VacuumStmt)
}
VacuumStmt::VacuumStmt(const VacuumStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_),
      rels_(from.rels_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  is_vacuumcmd_ = from.is_vacuumcmd_;
  // @@protoc_insertion_point(copy_constructor:pg_query.VacuumStmt)
}

void VacuumStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  is_vacuumcmd_ = false;
}

VacuumStmt::~VacuumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VacuumStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void VacuumStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void VacuumStmt::ArenaDtor(void* object) {
  VacuumStmt* _this = reinterpret_cast< VacuumStmt* >(object);
  (void)_this;
}
void VacuumStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void VacuumStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const VacuumStmt& VacuumStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void VacuumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VacuumStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  rels_.Clear();
  is_vacuumcmd_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VacuumStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node options = 1 [json_name = "options"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node rels = 2 [json_name = "rels"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_rels(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          is_vacuumcmd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* VacuumStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VacuumStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_options(i), target, stream);
  }

  // repeated .pg_query.Node rels = 2 [json_name = "rels"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_rels_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_rels(i), target, stream);
  }

  // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
  if (this->is_vacuumcmd() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_is_vacuumcmd(), 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:pg_query.VacuumStmt)
  return target;
}

size_t VacuumStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.VacuumStmt)
  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 .pg_query.Node options = 1 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node rels = 2 [json_name = "rels"];
  total_size += 1UL * this->_internal_rels_size();
  for (const auto& msg : this->rels_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
  if (this->is_vacuumcmd() != 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;
}

void VacuumStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.VacuumStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const VacuumStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<VacuumStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.VacuumStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.VacuumStmt)
    MergeFrom(*source);
  }
}

void VacuumStmt::MergeFrom(const VacuumStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VacuumStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  rels_.MergeFrom(from.rels_);
  if (from.is_vacuumcmd() != 0) {
    _internal_set_is_vacuumcmd(from._internal_is_vacuumcmd());
  }
}

void VacuumStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.VacuumStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VacuumStmt::CopyFrom(const VacuumStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.VacuumStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VacuumStmt::IsInitialized() const {
  return true;
}

void VacuumStmt::InternalSwap(VacuumStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  rels_.InternalSwap(&other->rels_);
  swap(is_vacuumcmd_, other->is_vacuumcmd_);
}

::PROTOBUF_NAMESPACE_ID::Metadata VacuumStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ExplainStmt::_Internal {
 public:
  static const ::pg_query::Node& query(const ExplainStmt* msg);
};

const ::pg_query::Node&
ExplainStmt::_Internal::query(const ExplainStmt* msg) {
  return *msg->query_;
}
ExplainStmt::ExplainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ExplainStmt)
}
ExplainStmt::ExplainStmt(const ExplainStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_query()) {
    query_ = new ::pg_query::Node(*from.query_);
  } else {
    query_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ExplainStmt)
}

void ExplainStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  query_ = nullptr;
}

ExplainStmt::~ExplainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ExplainStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ExplainStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete query_;
}

void ExplainStmt::ArenaDtor(void* object) {
  ExplainStmt* _this = reinterpret_cast< ExplainStmt* >(object);
  (void)_this;
}
void ExplainStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ExplainStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ExplainStmt& ExplainStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ExplainStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ExplainStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  if (GetArena() == nullptr && query_ != nullptr) {
    delete query_;
  }
  query_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ExplainStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node query = 1 [json_name = "query"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* ExplainStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ExplainStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node query = 1 [json_name = "query"];
  if (this->has_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::query(this), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(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:pg_query.ExplainStmt)
  return target;
}

size_t ExplainStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ExplainStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node query = 1 [json_name = "query"];
  if (this->has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *query_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ExplainStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ExplainStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ExplainStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ExplainStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ExplainStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ExplainStmt)
    MergeFrom(*source);
  }
}

void ExplainStmt::MergeFrom(const ExplainStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ExplainStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.has_query()) {
    _internal_mutable_query()->::pg_query::Node::MergeFrom(from._internal_query());
  }
}

void ExplainStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ExplainStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ExplainStmt::CopyFrom(const ExplainStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ExplainStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ExplainStmt::IsInitialized() const {
  return true;
}

void ExplainStmt::InternalSwap(ExplainStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  swap(query_, other->query_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ExplainStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateTableAsStmt::_Internal {
 public:
  static const ::pg_query::Node& query(const CreateTableAsStmt* msg);
  static const ::pg_query::IntoClause& into(const CreateTableAsStmt* msg);
};

const ::pg_query::Node&
CreateTableAsStmt::_Internal::query(const CreateTableAsStmt* msg) {
  return *msg->query_;
}
const ::pg_query::IntoClause&
CreateTableAsStmt::_Internal::into(const CreateTableAsStmt* msg) {
  return *msg->into_;
}
CreateTableAsStmt::CreateTableAsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTableAsStmt)
}
CreateTableAsStmt::CreateTableAsStmt(const CreateTableAsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_query()) {
    query_ = new ::pg_query::Node(*from.query_);
  } else {
    query_ = nullptr;
  }
  if (from._internal_has_into()) {
    into_ = new ::pg_query::IntoClause(*from.into_);
  } else {
    into_ = nullptr;
  }
  ::memcpy(&relkind_, &from.relkind_,
    static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
    reinterpret_cast<char*>(&relkind_)) + sizeof(if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTableAsStmt)
}

void CreateTableAsStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&query_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&query_)) + sizeof(if_not_exists_));
}

CreateTableAsStmt::~CreateTableAsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTableAsStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateTableAsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete query_;
  if (this != internal_default_instance()) delete into_;
}

void CreateTableAsStmt::ArenaDtor(void* object) {
  CreateTableAsStmt* _this = reinterpret_cast< CreateTableAsStmt* >(object);
  (void)_this;
}
void CreateTableAsStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateTableAsStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateTableAsStmt& CreateTableAsStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateTableAsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTableAsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && query_ != nullptr) {
    delete query_;
  }
  query_ = nullptr;
  if (GetArena() == nullptr && into_ != nullptr) {
    delete into_;
  }
  into_ = nullptr;
  ::memset(&relkind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&relkind_)) + sizeof(if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTableAsStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node query = 1 [json_name = "query"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.IntoClause into = 2 [json_name = "into"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_into(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectType relkind = 3 [json_name = "relkind"];
      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_relkind(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // bool is_select_into = 4 [json_name = "is_select_into"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          is_select_into_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 5 [json_name = "if_not_exists"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateTableAsStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTableAsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node query = 1 [json_name = "query"];
  if (this->has_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::query(this), target, stream);
  }

  // .pg_query.IntoClause into = 2 [json_name = "into"];
  if (this->has_into()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::into(this), target, stream);
  }

  // .pg_query.ObjectType relkind = 3 [json_name = "relkind"];
  if (this->relkind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_relkind(), target);
  }

  // bool is_select_into = 4 [json_name = "is_select_into"];
  if (this->is_select_into() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_select_into(), target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_if_not_exists(), 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:pg_query.CreateTableAsStmt)
  return target;
}

size_t CreateTableAsStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateTableAsStmt)
  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;

  // .pg_query.Node query = 1 [json_name = "query"];
  if (this->has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *query_);
  }

  // .pg_query.IntoClause into = 2 [json_name = "into"];
  if (this->has_into()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *into_);
  }

  // .pg_query.ObjectType relkind = 3 [json_name = "relkind"];
  if (this->relkind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_relkind());
  }

  // bool is_select_into = 4 [json_name = "is_select_into"];
  if (this->is_select_into() != 0) {
    total_size += 1 + 1;
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

void CreateTableAsStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateTableAsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateTableAsStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateTableAsStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateTableAsStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateTableAsStmt)
    MergeFrom(*source);
  }
}

void CreateTableAsStmt::MergeFrom(const CreateTableAsStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTableAsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_query()) {
    _internal_mutable_query()->::pg_query::Node::MergeFrom(from._internal_query());
  }
  if (from.has_into()) {
    _internal_mutable_into()->::pg_query::IntoClause::MergeFrom(from._internal_into());
  }
  if (from.relkind() != 0) {
    _internal_set_relkind(from._internal_relkind());
  }
  if (from.is_select_into() != 0) {
    _internal_set_is_select_into(from._internal_is_select_into());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

void CreateTableAsStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateTableAsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateTableAsStmt::CopyFrom(const CreateTableAsStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateTableAsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateTableAsStmt::IsInitialized() const {
  return true;
}

void CreateTableAsStmt::InternalSwap(CreateTableAsStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, if_not_exists_)
      + sizeof(CreateTableAsStmt::if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, query_)>(
          reinterpret_cast<char*>(&query_),
          reinterpret_cast<char*>(&other->query_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTableAsStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateSeqStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& sequence(const CreateSeqStmt* msg);
};

const ::pg_query::RangeVar&
CreateSeqStmt::_Internal::sequence(const CreateSeqStmt* msg) {
  return *msg->sequence_;
}
CreateSeqStmt::CreateSeqStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSeqStmt)
}
CreateSeqStmt::CreateSeqStmt(const CreateSeqStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_sequence()) {
    sequence_ = new ::pg_query::RangeVar(*from.sequence_);
  } else {
    sequence_ = nullptr;
  }
  ::memcpy(&owner_id_, &from.owner_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
    reinterpret_cast<char*>(&owner_id_)) + sizeof(if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSeqStmt)
}

void CreateSeqStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&sequence_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&sequence_)) + sizeof(if_not_exists_));
}

CreateSeqStmt::~CreateSeqStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSeqStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateSeqStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete sequence_;
}

void CreateSeqStmt::ArenaDtor(void* object) {
  CreateSeqStmt* _this = reinterpret_cast< CreateSeqStmt* >(object);
  (void)_this;
}
void CreateSeqStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateSeqStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateSeqStmt& CreateSeqStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateSeqStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSeqStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  if (GetArena() == nullptr && sequence_ != nullptr) {
    delete sequence_;
  }
  sequence_ = nullptr;
  ::memset(&owner_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&owner_id_)) + sizeof(if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateSeqStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_sequence(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // uint32 owner_id = 3 [json_name = "ownerId"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          owner_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool for_identity = 4 [json_name = "for_identity"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          for_identity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 5 [json_name = "if_not_exists"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateSeqStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSeqStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->has_sequence()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::sequence(this), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(i), target, stream);
  }

  // uint32 owner_id = 3 [json_name = "ownerId"];
  if (this->owner_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_owner_id(), target);
  }

  // bool for_identity = 4 [json_name = "for_identity"];
  if (this->for_identity() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_for_identity(), target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_if_not_exists(), 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:pg_query.CreateSeqStmt)
  return target;
}

size_t CreateSeqStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateSeqStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->has_sequence()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *sequence_);
  }

  // uint32 owner_id = 3 [json_name = "ownerId"];
  if (this->owner_id() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_owner_id());
  }

  // bool for_identity = 4 [json_name = "for_identity"];
  if (this->for_identity() != 0) {
    total_size += 1 + 1;
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

void CreateSeqStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateSeqStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateSeqStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateSeqStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateSeqStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateSeqStmt)
    MergeFrom(*source);
  }
}

void CreateSeqStmt::MergeFrom(const CreateSeqStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSeqStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.has_sequence()) {
    _internal_mutable_sequence()->::pg_query::RangeVar::MergeFrom(from._internal_sequence());
  }
  if (from.owner_id() != 0) {
    _internal_set_owner_id(from._internal_owner_id());
  }
  if (from.for_identity() != 0) {
    _internal_set_for_identity(from._internal_for_identity());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

void CreateSeqStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateSeqStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateSeqStmt::CopyFrom(const CreateSeqStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateSeqStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateSeqStmt::IsInitialized() const {
  return true;
}

void CreateSeqStmt::InternalSwap(CreateSeqStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateSeqStmt, if_not_exists_)
      + sizeof(CreateSeqStmt::if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateSeqStmt, sequence_)>(
          reinterpret_cast<char*>(&sequence_),
          reinterpret_cast<char*>(&other->sequence_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateSeqStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterSeqStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& sequence(const AlterSeqStmt* msg);
};

const ::pg_query::RangeVar&
AlterSeqStmt::_Internal::sequence(const AlterSeqStmt* msg) {
  return *msg->sequence_;
}
AlterSeqStmt::AlterSeqStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSeqStmt)
}
AlterSeqStmt::AlterSeqStmt(const AlterSeqStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_sequence()) {
    sequence_ = new ::pg_query::RangeVar(*from.sequence_);
  } else {
    sequence_ = nullptr;
  }
  ::memcpy(&for_identity_, &from.for_identity_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&for_identity_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSeqStmt)
}

void AlterSeqStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&sequence_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&sequence_)) + sizeof(missing_ok_));
}

AlterSeqStmt::~AlterSeqStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSeqStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterSeqStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete sequence_;
}

void AlterSeqStmt::ArenaDtor(void* object) {
  AlterSeqStmt* _this = reinterpret_cast< AlterSeqStmt* >(object);
  (void)_this;
}
void AlterSeqStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterSeqStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterSeqStmt& AlterSeqStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterSeqStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSeqStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  if (GetArena() == nullptr && sequence_ != nullptr) {
    delete sequence_;
  }
  sequence_ = nullptr;
  ::memset(&for_identity_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&for_identity_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterSeqStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_sequence(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // bool for_identity = 3 [json_name = "for_identity"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          for_identity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 4 [json_name = "missing_ok"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterSeqStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSeqStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->has_sequence()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::sequence(this), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(i), target, stream);
  }

  // bool for_identity = 3 [json_name = "for_identity"];
  if (this->for_identity() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_for_identity(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_missing_ok(), 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:pg_query.AlterSeqStmt)
  return target;
}

size_t AlterSeqStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterSeqStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->has_sequence()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *sequence_);
  }

  // bool for_identity = 3 [json_name = "for_identity"];
  if (this->for_identity() != 0) {
    total_size += 1 + 1;
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void AlterSeqStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterSeqStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterSeqStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterSeqStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterSeqStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterSeqStmt)
    MergeFrom(*source);
  }
}

void AlterSeqStmt::MergeFrom(const AlterSeqStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSeqStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.has_sequence()) {
    _internal_mutable_sequence()->::pg_query::RangeVar::MergeFrom(from._internal_sequence());
  }
  if (from.for_identity() != 0) {
    _internal_set_for_identity(from._internal_for_identity());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void AlterSeqStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterSeqStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterSeqStmt::CopyFrom(const AlterSeqStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterSeqStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterSeqStmt::IsInitialized() const {
  return true;
}

void AlterSeqStmt::InternalSwap(AlterSeqStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterSeqStmt, missing_ok_)
      + sizeof(AlterSeqStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterSeqStmt, sequence_)>(
          reinterpret_cast<char*>(&sequence_),
          reinterpret_cast<char*>(&other->sequence_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterSeqStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class VariableSetStmt::_Internal {
 public:
};

VariableSetStmt::VariableSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VariableSetStmt)
}
VariableSetStmt::VariableSetStmt(const VariableSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _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(), 
      GetArena());
  }
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&is_local_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(is_local_));
  // @@protoc_insertion_point(copy_constructor:pg_query.VariableSetStmt)
}

void VariableSetStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&kind_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&is_local_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(is_local_));
}

VariableSetStmt::~VariableSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VariableSetStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void VariableSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void VariableSetStmt::ArenaDtor(void* object) {
  VariableSetStmt* _this = reinterpret_cast< VariableSetStmt* >(object);
  (void)_this;
}
void VariableSetStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void VariableSetStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const VariableSetStmt& VariableSetStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void VariableSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VariableSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  args_.Clear();
  name_.ClearToEmpty();
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&is_local_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(is_local_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VariableSetStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::VariableSetKind>(val));
        } else goto handle_unusual;
        continue;
      // string name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.VariableSetStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 3 [json_name = "args"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // bool is_local = 4 [json_name = "is_local"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          is_local_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* VariableSetStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VariableSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // string name = 2 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.VariableSetStmt.name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_name(), target);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_args(i), target, stream);
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->is_local() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_local(), 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:pg_query.VariableSetStmt)
  return target;
}

size_t VariableSetStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.VariableSetStmt)
  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 .pg_query.Node args = 3 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 2 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->is_local() != 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;
}

void VariableSetStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.VariableSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const VariableSetStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<VariableSetStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.VariableSetStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.VariableSetStmt)
    MergeFrom(*source);
  }
}

void VariableSetStmt::MergeFrom(const VariableSetStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VariableSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  args_.MergeFrom(from.args_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.is_local() != 0) {
    _internal_set_is_local(from._internal_is_local());
  }
}

void VariableSetStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.VariableSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VariableSetStmt::CopyFrom(const VariableSetStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.VariableSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VariableSetStmt::IsInitialized() const {
  return true;
}

void VariableSetStmt::InternalSwap(VariableSetStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(VariableSetStmt, is_local_)
      + sizeof(VariableSetStmt::is_local_)
      - PROTOBUF_FIELD_OFFSET(VariableSetStmt, kind_)>(
          reinterpret_cast<char*>(&kind_),
          reinterpret_cast<char*>(&other->kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata VariableSetStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class VariableShowStmt::_Internal {
 public:
};

VariableShowStmt::VariableShowStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VariableShowStmt)
}
VariableShowStmt::VariableShowStmt(const VariableShowStmt& 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(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.VariableShowStmt)
}

void VariableShowStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

VariableShowStmt::~VariableShowStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VariableShowStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void VariableShowStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void VariableShowStmt::ArenaDtor(void* object) {
  VariableShowStmt* _this = reinterpret_cast< VariableShowStmt* >(object);
  (void)_this;
}
void VariableShowStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void VariableShowStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const VariableShowStmt& VariableShowStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VariableShowStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void VariableShowStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VariableShowStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VariableShowStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.VariableShowStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* VariableShowStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VariableShowStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.VariableShowStmt.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), 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:pg_query.VariableShowStmt)
  return target;
}

size_t VariableShowStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.VariableShowStmt)
  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 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_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;
}

void VariableShowStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.VariableShowStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const VariableShowStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<VariableShowStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.VariableShowStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.VariableShowStmt)
    MergeFrom(*source);
  }
}

void VariableShowStmt::MergeFrom(const VariableShowStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VariableShowStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
}

void VariableShowStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.VariableShowStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VariableShowStmt::CopyFrom(const VariableShowStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.VariableShowStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VariableShowStmt::IsInitialized() const {
  return true;
}

void VariableShowStmt::InternalSwap(VariableShowStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata VariableShowStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DiscardStmt::_Internal {
 public:
};

DiscardStmt::DiscardStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DiscardStmt)
}
DiscardStmt::DiscardStmt(const DiscardStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  target_ = from.target_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DiscardStmt)
}

void DiscardStmt::SharedCtor() {
  target_ = 0;
}

DiscardStmt::~DiscardStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DiscardStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DiscardStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void DiscardStmt::ArenaDtor(void* object) {
  DiscardStmt* _this = reinterpret_cast< DiscardStmt* >(object);
  (void)_this;
}
void DiscardStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DiscardStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DiscardStmt& DiscardStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DiscardStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DiscardStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DiscardStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  target_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DiscardStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.DiscardMode target = 1 [json_name = "target"];
      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);
          _internal_set_target(static_cast<::pg_query::DiscardMode>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DiscardStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DiscardStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.DiscardMode target = 1 [json_name = "target"];
  if (this->target() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_target(), 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:pg_query.DiscardStmt)
  return target;
}

size_t DiscardStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DiscardStmt)
  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;

  // .pg_query.DiscardMode target = 1 [json_name = "target"];
  if (this->target() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_target());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DiscardStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DiscardStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DiscardStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DiscardStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DiscardStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DiscardStmt)
    MergeFrom(*source);
  }
}

void DiscardStmt::MergeFrom(const DiscardStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DiscardStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.target() != 0) {
    _internal_set_target(from._internal_target());
  }
}

void DiscardStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DiscardStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DiscardStmt::CopyFrom(const DiscardStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DiscardStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DiscardStmt::IsInitialized() const {
  return true;
}

void DiscardStmt::InternalSwap(DiscardStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(target_, other->target_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DiscardStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateTrigStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const CreateTrigStmt* msg);
  static const ::pg_query::Node& when_clause(const CreateTrigStmt* msg);
  static const ::pg_query::RangeVar& constrrel(const CreateTrigStmt* msg);
};

const ::pg_query::RangeVar&
CreateTrigStmt::_Internal::relation(const CreateTrigStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
CreateTrigStmt::_Internal::when_clause(const CreateTrigStmt* msg) {
  return *msg->when_clause_;
}
const ::pg_query::RangeVar&
CreateTrigStmt::_Internal::constrrel(const CreateTrigStmt* msg) {
  return *msg->constrrel_;
}
CreateTrigStmt::CreateTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  funcname_(arena),
  args_(arena),
  columns_(arena),
  transition_rels_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTrigStmt)
}
CreateTrigStmt::CreateTrigStmt(const CreateTrigStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      funcname_(from.funcname_),
      args_(from.args_),
      columns_(from.columns_),
      transition_rels_(from.transition_rels_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  trigname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_trigname().empty()) {
    trigname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_trigname(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_when_clause()) {
    when_clause_ = new ::pg_query::Node(*from.when_clause_);
  } else {
    when_clause_ = nullptr;
  }
  if (from._internal_has_constrrel()) {
    constrrel_ = new ::pg_query::RangeVar(*from.constrrel_);
  } else {
    constrrel_ = nullptr;
  }
  ::memcpy(&timing_, &from.timing_,
    static_cast<size_t>(reinterpret_cast<char*>(&initdeferred_) -
    reinterpret_cast<char*>(&timing_)) + sizeof(initdeferred_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTrigStmt)
}

void CreateTrigStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  trigname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&initdeferred_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(initdeferred_));
}

CreateTrigStmt::~CreateTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTrigStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateTrigStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  trigname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete when_clause_;
  if (this != internal_default_instance()) delete constrrel_;
}

void CreateTrigStmt::ArenaDtor(void* object) {
  CreateTrigStmt* _this = reinterpret_cast< CreateTrigStmt* >(object);
  (void)_this;
}
void CreateTrigStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateTrigStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateTrigStmt& CreateTrigStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTrigStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  funcname_.Clear();
  args_.Clear();
  columns_.Clear();
  transition_rels_.Clear();
  trigname_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && when_clause_ != nullptr) {
    delete when_clause_;
  }
  when_clause_ = nullptr;
  if (GetArena() == nullptr && constrrel_ != nullptr) {
    delete constrrel_;
  }
  constrrel_ = nullptr;
  ::memset(&timing_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&initdeferred_) -
      reinterpret_cast<char*>(&timing_)) + sizeof(initdeferred_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTrigStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string trigname = 1 [json_name = "trigname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_trigname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateTrigStmt.trigname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 2 [json_name = "relation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funcname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 4 [json_name = "args"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // bool row = 5 [json_name = "row"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          row_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 timing = 6 [json_name = "timing"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          timing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 events = 7 [json_name = "events"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          events_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node columns = 8 [json_name = "columns"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          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<66>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node when_clause = 9 [json_name = "whenClause"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_when_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool isconstraint = 10 [json_name = "isconstraint"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          isconstraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node transition_rels = 11 [json_name = "transitionRels"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_transition_rels(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
        } else goto handle_unusual;
        continue;
      // bool deferrable = 12 [json_name = "deferrable"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          deferrable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool initdeferred = 13 [json_name = "initdeferred"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          initdeferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar constrrel = 14 [json_name = "constrrel"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_constrrel(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateTrigStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTrigStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string trigname = 1 [json_name = "trigname"];
  if (this->trigname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_trigname().data(), static_cast<int>(this->_internal_trigname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateTrigStmt.trigname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_trigname(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::relation(this), target, stream);
  }

  // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funcname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_funcname(i), target, stream);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_args(i), target, stream);
  }

  // bool row = 5 [json_name = "row"];
  if (this->row() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_row(), target);
  }

  // int32 timing = 6 [json_name = "timing"];
  if (this->timing() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_timing(), target);
  }

  // int32 events = 7 [json_name = "events"];
  if (this->events() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_events(), target);
  }

  // repeated .pg_query.Node columns = 8 [json_name = "columns"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_columns_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_columns(i), target, stream);
  }

  // .pg_query.Node when_clause = 9 [json_name = "whenClause"];
  if (this->has_when_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        9, _Internal::when_clause(this), target, stream);
  }

  // bool isconstraint = 10 [json_name = "isconstraint"];
  if (this->isconstraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(10, this->_internal_isconstraint(), target);
  }

  // repeated .pg_query.Node transition_rels = 11 [json_name = "transitionRels"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_transition_rels_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, this->_internal_transition_rels(i), target, stream);
  }

  // bool deferrable = 12 [json_name = "deferrable"];
  if (this->deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 13 [json_name = "initdeferred"];
  if (this->initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(13, this->_internal_initdeferred(), target);
  }

  // .pg_query.RangeVar constrrel = 14 [json_name = "constrrel"];
  if (this->has_constrrel()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        14, _Internal::constrrel(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:pg_query.CreateTrigStmt)
  return target;
}

size_t CreateTrigStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateTrigStmt)
  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 .pg_query.Node funcname = 3 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->funcname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node columns = 8 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node transition_rels = 11 [json_name = "transitionRels"];
  total_size += 1UL * this->_internal_transition_rels_size();
  for (const auto& msg : this->transition_rels_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string trigname = 1 [json_name = "trigname"];
  if (this->trigname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_trigname());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node when_clause = 9 [json_name = "whenClause"];
  if (this->has_when_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *when_clause_);
  }

  // .pg_query.RangeVar constrrel = 14 [json_name = "constrrel"];
  if (this->has_constrrel()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *constrrel_);
  }

  // int32 timing = 6 [json_name = "timing"];
  if (this->timing() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_timing());
  }

  // int32 events = 7 [json_name = "events"];
  if (this->events() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_events());
  }

  // bool row = 5 [json_name = "row"];
  if (this->row() != 0) {
    total_size += 1 + 1;
  }

  // bool isconstraint = 10 [json_name = "isconstraint"];
  if (this->isconstraint() != 0) {
    total_size += 1 + 1;
  }

  // bool deferrable = 12 [json_name = "deferrable"];
  if (this->deferrable() != 0) {
    total_size += 1 + 1;
  }

  // bool initdeferred = 13 [json_name = "initdeferred"];
  if (this->initdeferred() != 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;
}

void CreateTrigStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateTrigStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateTrigStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateTrigStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateTrigStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateTrigStmt)
    MergeFrom(*source);
  }
}

void CreateTrigStmt::MergeFrom(const CreateTrigStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTrigStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  funcname_.MergeFrom(from.funcname_);
  args_.MergeFrom(from.args_);
  columns_.MergeFrom(from.columns_);
  transition_rels_.MergeFrom(from.transition_rels_);
  if (from.trigname().size() > 0) {
    _internal_set_trigname(from._internal_trigname());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_when_clause()) {
    _internal_mutable_when_clause()->::pg_query::Node::MergeFrom(from._internal_when_clause());
  }
  if (from.has_constrrel()) {
    _internal_mutable_constrrel()->::pg_query::RangeVar::MergeFrom(from._internal_constrrel());
  }
  if (from.timing() != 0) {
    _internal_set_timing(from._internal_timing());
  }
  if (from.events() != 0) {
    _internal_set_events(from._internal_events());
  }
  if (from.row() != 0) {
    _internal_set_row(from._internal_row());
  }
  if (from.isconstraint() != 0) {
    _internal_set_isconstraint(from._internal_isconstraint());
  }
  if (from.deferrable() != 0) {
    _internal_set_deferrable(from._internal_deferrable());
  }
  if (from.initdeferred() != 0) {
    _internal_set_initdeferred(from._internal_initdeferred());
  }
}

void CreateTrigStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateTrigStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateTrigStmt::CopyFrom(const CreateTrigStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateTrigStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateTrigStmt::IsInitialized() const {
  return true;
}

void CreateTrigStmt::InternalSwap(CreateTrigStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  funcname_.InternalSwap(&other->funcname_);
  args_.InternalSwap(&other->args_);
  columns_.InternalSwap(&other->columns_);
  transition_rels_.InternalSwap(&other->transition_rels_);
  trigname_.Swap(&other->trigname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTrigStmt, initdeferred_)
      + sizeof(CreateTrigStmt::initdeferred_)
      - PROTOBUF_FIELD_OFFSET(CreateTrigStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTrigStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreatePLangStmt::_Internal {
 public:
};

CreatePLangStmt::CreatePLangStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  plhandler_(arena),
  plinline_(arena),
  plvalidator_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePLangStmt)
}
CreatePLangStmt::CreatePLangStmt(const CreatePLangStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      plhandler_(from.plhandler_),
      plinline_(from.plinline_),
      plvalidator_(from.plvalidator_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  plname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_plname().empty()) {
    plname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_plname(), 
      GetArena());
  }
  ::memcpy(&replace_, &from.replace_,
    static_cast<size_t>(reinterpret_cast<char*>(&pltrusted_) -
    reinterpret_cast<char*>(&replace_)) + sizeof(pltrusted_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePLangStmt)
}

void CreatePLangStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  plname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&replace_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&pltrusted_) -
      reinterpret_cast<char*>(&replace_)) + sizeof(pltrusted_));
}

CreatePLangStmt::~CreatePLangStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePLangStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreatePLangStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  plname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreatePLangStmt::ArenaDtor(void* object) {
  CreatePLangStmt* _this = reinterpret_cast< CreatePLangStmt* >(object);
  (void)_this;
}
void CreatePLangStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreatePLangStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreatePLangStmt& CreatePLangStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreatePLangStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePLangStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  plhandler_.Clear();
  plinline_.Clear();
  plvalidator_.Clear();
  plname_.ClearToEmpty();
  ::memset(&replace_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&pltrusted_) -
      reinterpret_cast<char*>(&replace_)) + sizeof(pltrusted_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePLangStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool replace = 1 [json_name = "replace"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string plname = 2 [json_name = "plname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_plname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreatePLangStmt.plname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_plhandler(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_plinline(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_plvalidator(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // bool pltrusted = 6 [json_name = "pltrusted"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          pltrusted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreatePLangStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePLangStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_replace(), target);
  }

  // string plname = 2 [json_name = "plname"];
  if (this->plname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_plname().data(), static_cast<int>(this->_internal_plname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreatePLangStmt.plname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_plname(), target);
  }

  // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_plhandler_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_plhandler(i), target, stream);
  }

  // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_plinline_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_plinline(i), target, stream);
  }

  // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_plvalidator_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_plvalidator(i), target, stream);
  }

  // bool pltrusted = 6 [json_name = "pltrusted"];
  if (this->pltrusted() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_pltrusted(), 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:pg_query.CreatePLangStmt)
  return target;
}

size_t CreatePLangStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreatePLangStmt)
  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 .pg_query.Node plhandler = 3 [json_name = "plhandler"];
  total_size += 1UL * this->_internal_plhandler_size();
  for (const auto& msg : this->plhandler_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
  total_size += 1UL * this->_internal_plinline_size();
  for (const auto& msg : this->plinline_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
  total_size += 1UL * this->_internal_plvalidator_size();
  for (const auto& msg : this->plvalidator_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string plname = 2 [json_name = "plname"];
  if (this->plname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_plname());
  }

  // bool replace = 1 [json_name = "replace"];
  if (this->replace() != 0) {
    total_size += 1 + 1;
  }

  // bool pltrusted = 6 [json_name = "pltrusted"];
  if (this->pltrusted() != 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;
}

void CreatePLangStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreatePLangStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreatePLangStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreatePLangStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreatePLangStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreatePLangStmt)
    MergeFrom(*source);
  }
}

void CreatePLangStmt::MergeFrom(const CreatePLangStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePLangStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  plhandler_.MergeFrom(from.plhandler_);
  plinline_.MergeFrom(from.plinline_);
  plvalidator_.MergeFrom(from.plvalidator_);
  if (from.plname().size() > 0) {
    _internal_set_plname(from._internal_plname());
  }
  if (from.replace() != 0) {
    _internal_set_replace(from._internal_replace());
  }
  if (from.pltrusted() != 0) {
    _internal_set_pltrusted(from._internal_pltrusted());
  }
}

void CreatePLangStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreatePLangStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreatePLangStmt::CopyFrom(const CreatePLangStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreatePLangStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreatePLangStmt::IsInitialized() const {
  return true;
}

void CreatePLangStmt::InternalSwap(CreatePLangStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  plhandler_.InternalSwap(&other->plhandler_);
  plinline_.InternalSwap(&other->plinline_);
  plvalidator_.InternalSwap(&other->plvalidator_);
  plname_.Swap(&other->plname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreatePLangStmt, pltrusted_)
      + sizeof(CreatePLangStmt::pltrusted_)
      - PROTOBUF_FIELD_OFFSET(CreatePLangStmt, replace_)>(
          reinterpret_cast<char*>(&replace_),
          reinterpret_cast<char*>(&other->replace_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePLangStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateRoleStmt::_Internal {
 public:
};

CreateRoleStmt::CreateRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateRoleStmt)
}
CreateRoleStmt::CreateRoleStmt(const CreateRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  role_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_role().empty()) {
    role_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_role(), 
      GetArena());
  }
  stmt_type_ = from.stmt_type_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateRoleStmt)
}

void CreateRoleStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  role_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  stmt_type_ = 0;
}

CreateRoleStmt::~CreateRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateRoleStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateRoleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  role_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateRoleStmt::ArenaDtor(void* object) {
  CreateRoleStmt* _this = reinterpret_cast< CreateRoleStmt* >(object);
  (void)_this;
}
void CreateRoleStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateRoleStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateRoleStmt& CreateRoleStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateRoleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  role_.ClearToEmpty();
  stmt_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateRoleStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
      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);
          _internal_set_stmt_type(static_cast<::pg_query::RoleStmtType>(val));
        } else goto handle_unusual;
        continue;
      // string role = 2 [json_name = "role"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_role();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateRoleStmt.role"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateRoleStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateRoleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
  if (this->stmt_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_stmt_type(), target);
  }

  // string role = 2 [json_name = "role"];
  if (this->role().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_role().data(), static_cast<int>(this->_internal_role().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateRoleStmt.role");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_role(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(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:pg_query.CreateRoleStmt)
  return target;
}

size_t CreateRoleStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateRoleStmt)
  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 .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string role = 2 [json_name = "role"];
  if (this->role().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_role());
  }

  // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
  if (this->stmt_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_stmt_type());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateRoleStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateRoleStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateRoleStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateRoleStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateRoleStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateRoleStmt)
    MergeFrom(*source);
  }
}

void CreateRoleStmt::MergeFrom(const CreateRoleStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateRoleStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.role().size() > 0) {
    _internal_set_role(from._internal_role());
  }
  if (from.stmt_type() != 0) {
    _internal_set_stmt_type(from._internal_stmt_type());
  }
}

void CreateRoleStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateRoleStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateRoleStmt::CopyFrom(const CreateRoleStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateRoleStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateRoleStmt::IsInitialized() const {
  return true;
}

void CreateRoleStmt::InternalSwap(CreateRoleStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  role_.Swap(&other->role_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(stmt_type_, other->stmt_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateRoleStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterRoleStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& role(const AlterRoleStmt* msg);
};

const ::pg_query::RoleSpec&
AlterRoleStmt::_Internal::role(const AlterRoleStmt* msg) {
  return *msg->role_;
}
AlterRoleStmt::AlterRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterRoleStmt)
}
AlterRoleStmt::AlterRoleStmt(const AlterRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_role()) {
    role_ = new ::pg_query::RoleSpec(*from.role_);
  } else {
    role_ = nullptr;
  }
  action_ = from.action_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterRoleStmt)
}

void AlterRoleStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&role_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&action_) -
      reinterpret_cast<char*>(&role_)) + sizeof(action_));
}

AlterRoleStmt::~AlterRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterRoleStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterRoleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete role_;
}

void AlterRoleStmt::ArenaDtor(void* object) {
  AlterRoleStmt* _this = reinterpret_cast< AlterRoleStmt* >(object);
  (void)_this;
}
void AlterRoleStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterRoleStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterRoleStmt& AlterRoleStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterRoleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  if (GetArena() == nullptr && role_ != nullptr) {
    delete role_;
  }
  role_ = nullptr;
  action_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterRoleStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RoleSpec role = 1 [json_name = "role"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_role(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 action = 3 [json_name = "action"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          action_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterRoleStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterRoleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->has_role()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::role(this), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(i), target, stream);
  }

  // int32 action = 3 [json_name = "action"];
  if (this->action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_action(), 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:pg_query.AlterRoleStmt)
  return target;
}

size_t AlterRoleStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterRoleStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->has_role()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *role_);
  }

  // int32 action = 3 [json_name = "action"];
  if (this->action() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_action());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterRoleStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterRoleStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterRoleStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterRoleStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterRoleStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterRoleStmt)
    MergeFrom(*source);
  }
}

void AlterRoleStmt::MergeFrom(const AlterRoleStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterRoleStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.has_role()) {
    _internal_mutable_role()->::pg_query::RoleSpec::MergeFrom(from._internal_role());
  }
  if (from.action() != 0) {
    _internal_set_action(from._internal_action());
  }
}

void AlterRoleStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterRoleStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterRoleStmt::CopyFrom(const AlterRoleStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterRoleStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterRoleStmt::IsInitialized() const {
  return true;
}

void AlterRoleStmt::InternalSwap(AlterRoleStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterRoleStmt, action_)
      + sizeof(AlterRoleStmt::action_)
      - PROTOBUF_FIELD_OFFSET(AlterRoleStmt, role_)>(
          reinterpret_cast<char*>(&role_),
          reinterpret_cast<char*>(&other->role_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterRoleStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DropRoleStmt::_Internal {
 public:
};

DropRoleStmt::DropRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  roles_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropRoleStmt)
}
DropRoleStmt::DropRoleStmt(const DropRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      roles_(from.roles_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  missing_ok_ = from.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropRoleStmt)
}

void DropRoleStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  missing_ok_ = false;
}

DropRoleStmt::~DropRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropRoleStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DropRoleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void DropRoleStmt::ArenaDtor(void* object) {
  DropRoleStmt* _this = reinterpret_cast< DropRoleStmt* >(object);
  (void)_this;
}
void DropRoleStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DropRoleStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DropRoleStmt& DropRoleStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DropRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropRoleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  roles_.Clear();
  missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropRoleStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node roles = 1 [json_name = "roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 2 [json_name = "missing_ok"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DropRoleStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropRoleStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_roles(i), target, stream);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), 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:pg_query.DropRoleStmt)
  return target;
}

size_t DropRoleStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropRoleStmt)
  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 .pg_query.Node roles = 1 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void DropRoleStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DropRoleStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DropRoleStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DropRoleStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DropRoleStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DropRoleStmt)
    MergeFrom(*source);
  }
}

void DropRoleStmt::MergeFrom(const DropRoleStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropRoleStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  roles_.MergeFrom(from.roles_);
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void DropRoleStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DropRoleStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DropRoleStmt::CopyFrom(const DropRoleStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DropRoleStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DropRoleStmt::IsInitialized() const {
  return true;
}

void DropRoleStmt::InternalSwap(DropRoleStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  roles_.InternalSwap(&other->roles_);
  swap(missing_ok_, other->missing_ok_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropRoleStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class LockStmt::_Internal {
 public:
};

LockStmt::LockStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  relations_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.LockStmt)
}
LockStmt::LockStmt(const LockStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      relations_(from.relations_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&mode_, &from.mode_,
    static_cast<size_t>(reinterpret_cast<char*>(&nowait_) -
    reinterpret_cast<char*>(&mode_)) + sizeof(nowait_));
  // @@protoc_insertion_point(copy_constructor:pg_query.LockStmt)
}

void LockStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&mode_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&nowait_) -
      reinterpret_cast<char*>(&mode_)) + sizeof(nowait_));
}

LockStmt::~LockStmt() {
  // @@protoc_insertion_point(destructor:pg_query.LockStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void LockStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void LockStmt::ArenaDtor(void* object) {
  LockStmt* _this = reinterpret_cast< LockStmt* >(object);
  (void)_this;
}
void LockStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void LockStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const LockStmt& LockStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void LockStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LockStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  relations_.Clear();
  ::memset(&mode_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&nowait_) -
      reinterpret_cast<char*>(&mode_)) + sizeof(nowait_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LockStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node relations = 1 [json_name = "relations"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_relations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 mode = 2 [json_name = "mode"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool nowait = 3 [json_name = "nowait"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          nowait_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* LockStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LockStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_relations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_relations(i), target, stream);
  }

  // int32 mode = 2 [json_name = "mode"];
  if (this->mode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_mode(), target);
  }

  // bool nowait = 3 [json_name = "nowait"];
  if (this->nowait() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_nowait(), 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:pg_query.LockStmt)
  return target;
}

size_t LockStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.LockStmt)
  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 .pg_query.Node relations = 1 [json_name = "relations"];
  total_size += 1UL * this->_internal_relations_size();
  for (const auto& msg : this->relations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 mode = 2 [json_name = "mode"];
  if (this->mode() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_mode());
  }

  // bool nowait = 3 [json_name = "nowait"];
  if (this->nowait() != 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;
}

void LockStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.LockStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const LockStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LockStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.LockStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.LockStmt)
    MergeFrom(*source);
  }
}

void LockStmt::MergeFrom(const LockStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LockStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  relations_.MergeFrom(from.relations_);
  if (from.mode() != 0) {
    _internal_set_mode(from._internal_mode());
  }
  if (from.nowait() != 0) {
    _internal_set_nowait(from._internal_nowait());
  }
}

void LockStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.LockStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void LockStmt::CopyFrom(const LockStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.LockStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LockStmt::IsInitialized() const {
  return true;
}

void LockStmt::InternalSwap(LockStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  relations_.InternalSwap(&other->relations_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LockStmt, nowait_)
      + sizeof(LockStmt::nowait_)
      - PROTOBUF_FIELD_OFFSET(LockStmt, mode_)>(
          reinterpret_cast<char*>(&mode_),
          reinterpret_cast<char*>(&other->mode_));
}

::PROTOBUF_NAMESPACE_ID::Metadata LockStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ConstraintsSetStmt::_Internal {
 public:
};

ConstraintsSetStmt::ConstraintsSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  constraints_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ConstraintsSetStmt)
}
ConstraintsSetStmt::ConstraintsSetStmt(const ConstraintsSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      constraints_(from.constraints_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  deferred_ = from.deferred_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ConstraintsSetStmt)
}

void ConstraintsSetStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  deferred_ = false;
}

ConstraintsSetStmt::~ConstraintsSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ConstraintsSetStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ConstraintsSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void ConstraintsSetStmt::ArenaDtor(void* object) {
  ConstraintsSetStmt* _this = reinterpret_cast< ConstraintsSetStmt* >(object);
  (void)_this;
}
void ConstraintsSetStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ConstraintsSetStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ConstraintsSetStmt& ConstraintsSetStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ConstraintsSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ConstraintsSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  constraints_.Clear();
  deferred_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ConstraintsSetStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // bool deferred = 2 [json_name = "deferred"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          deferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ConstraintsSetStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ConstraintsSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_constraints(i), target, stream);
  }

  // bool deferred = 2 [json_name = "deferred"];
  if (this->deferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_deferred(), 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:pg_query.ConstraintsSetStmt)
  return target;
}

size_t ConstraintsSetStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ConstraintsSetStmt)
  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 .pg_query.Node constraints = 1 [json_name = "constraints"];
  total_size += 1UL * this->_internal_constraints_size();
  for (const auto& msg : this->constraints_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool deferred = 2 [json_name = "deferred"];
  if (this->deferred() != 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;
}

void ConstraintsSetStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ConstraintsSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ConstraintsSetStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ConstraintsSetStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ConstraintsSetStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ConstraintsSetStmt)
    MergeFrom(*source);
  }
}

void ConstraintsSetStmt::MergeFrom(const ConstraintsSetStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ConstraintsSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  constraints_.MergeFrom(from.constraints_);
  if (from.deferred() != 0) {
    _internal_set_deferred(from._internal_deferred());
  }
}

void ConstraintsSetStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ConstraintsSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ConstraintsSetStmt::CopyFrom(const ConstraintsSetStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ConstraintsSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ConstraintsSetStmt::IsInitialized() const {
  return true;
}

void ConstraintsSetStmt::InternalSwap(ConstraintsSetStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  constraints_.InternalSwap(&other->constraints_);
  swap(deferred_, other->deferred_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ConstraintsSetStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ReindexStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const ReindexStmt* msg);
};

const ::pg_query::RangeVar&
ReindexStmt::_Internal::relation(const ReindexStmt* msg) {
  return *msg->relation_;
}
ReindexStmt::ReindexStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReindexStmt)
}
ReindexStmt::ReindexStmt(const ReindexStmt& 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(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&concurrent_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(concurrent_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ReindexStmt)
}

void ReindexStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&concurrent_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(concurrent_));
}

ReindexStmt::~ReindexStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReindexStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ReindexStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
}

void ReindexStmt::ArenaDtor(void* object) {
  ReindexStmt* _this = reinterpret_cast< ReindexStmt* >(object);
  (void)_this;
}
void ReindexStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ReindexStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ReindexStmt& ReindexStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ReindexStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReindexStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&concurrent_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(concurrent_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ReindexStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::ReindexObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 2 [json_name = "relation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string name = 3 [json_name = "name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ReindexStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 options = 4 [json_name = "options"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool concurrent = 5 [json_name = "concurrent"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          concurrent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ReindexStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReindexStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::relation(this), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ReindexStmt.name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_name(), target);
  }

  // int32 options = 4 [json_name = "options"];
  if (this->options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_options(), target);
  }

  // bool concurrent = 5 [json_name = "concurrent"];
  if (this->concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_concurrent(), 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:pg_query.ReindexStmt)
  return target;
}

size_t ReindexStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ReindexStmt)
  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 = 3 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 options = 4 [json_name = "options"];
  if (this->options() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_options());
  }

  // bool concurrent = 5 [json_name = "concurrent"];
  if (this->concurrent() != 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;
}

void ReindexStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ReindexStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ReindexStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ReindexStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ReindexStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ReindexStmt)
    MergeFrom(*source);
  }
}

void ReindexStmt::MergeFrom(const ReindexStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReindexStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.options() != 0) {
    _internal_set_options(from._internal_options());
  }
  if (from.concurrent() != 0) {
    _internal_set_concurrent(from._internal_concurrent());
  }
}

void ReindexStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ReindexStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReindexStmt::CopyFrom(const ReindexStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ReindexStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ReindexStmt::IsInitialized() const {
  return true;
}

void ReindexStmt::InternalSwap(ReindexStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ReindexStmt, concurrent_)
      + sizeof(ReindexStmt::concurrent_)
      - PROTOBUF_FIELD_OFFSET(ReindexStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ReindexStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CheckPointStmt::_Internal {
 public:
};

CheckPointStmt::CheckPointStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CheckPointStmt)
}
CheckPointStmt::CheckPointStmt(const CheckPointStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.CheckPointStmt)
}

void CheckPointStmt::SharedCtor() {
}

CheckPointStmt::~CheckPointStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CheckPointStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CheckPointStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void CheckPointStmt::ArenaDtor(void* object) {
  CheckPointStmt* _this = reinterpret_cast< CheckPointStmt* >(object);
  (void)_this;
}
void CheckPointStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CheckPointStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CheckPointStmt& CheckPointStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CheckPointStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CheckPointStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CheckPointStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CheckPointStmt::_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);
    CHK_(ptr);
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* CheckPointStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CheckPointStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CheckPointStmt)
  return target;
}

size_t CheckPointStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CheckPointStmt)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CheckPointStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CheckPointStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CheckPointStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CheckPointStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CheckPointStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CheckPointStmt)
    MergeFrom(*source);
  }
}

void CheckPointStmt::MergeFrom(const CheckPointStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CheckPointStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

}

void CheckPointStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CheckPointStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CheckPointStmt::CopyFrom(const CheckPointStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CheckPointStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CheckPointStmt::IsInitialized() const {
  return true;
}

void CheckPointStmt::InternalSwap(CheckPointStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CheckPointStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateSchemaStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& authrole(const CreateSchemaStmt* msg);
};

const ::pg_query::RoleSpec&
CreateSchemaStmt::_Internal::authrole(const CreateSchemaStmt* msg) {
  return *msg->authrole_;
}
CreateSchemaStmt::CreateSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  schema_elts_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSchemaStmt)
}
CreateSchemaStmt::CreateSchemaStmt(const CreateSchemaStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      schema_elts_(from.schema_elts_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  schemaname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_schemaname().empty()) {
    schemaname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_schemaname(), 
      GetArena());
  }
  if (from._internal_has_authrole()) {
    authrole_ = new ::pg_query::RoleSpec(*from.authrole_);
  } else {
    authrole_ = nullptr;
  }
  if_not_exists_ = from.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSchemaStmt)
}

void CreateSchemaStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  schemaname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&authrole_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&authrole_)) + sizeof(if_not_exists_));
}

CreateSchemaStmt::~CreateSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSchemaStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateSchemaStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  schemaname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete authrole_;
}

void CreateSchemaStmt::ArenaDtor(void* object) {
  CreateSchemaStmt* _this = reinterpret_cast< CreateSchemaStmt* >(object);
  (void)_this;
}
void CreateSchemaStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateSchemaStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateSchemaStmt& CreateSchemaStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSchemaStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  schema_elts_.Clear();
  schemaname_.ClearToEmpty();
  if (GetArena() == nullptr && authrole_ != nullptr) {
    delete authrole_;
  }
  authrole_ = nullptr;
  if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateSchemaStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string schemaname = 1 [json_name = "schemaname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_schemaname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateSchemaStmt.schemaname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_authrole(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_schema_elts(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 4 [json_name = "if_not_exists"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateSchemaStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSchemaStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string schemaname = 1 [json_name = "schemaname"];
  if (this->schemaname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_schemaname().data(), static_cast<int>(this->_internal_schemaname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateSchemaStmt.schemaname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_schemaname(), target);
  }

  // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
  if (this->has_authrole()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::authrole(this), target, stream);
  }

  // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_schema_elts_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_schema_elts(i), target, stream);
  }

  // bool if_not_exists = 4 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_if_not_exists(), 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:pg_query.CreateSchemaStmt)
  return target;
}

size_t CreateSchemaStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateSchemaStmt)
  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 .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
  total_size += 1UL * this->_internal_schema_elts_size();
  for (const auto& msg : this->schema_elts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string schemaname = 1 [json_name = "schemaname"];
  if (this->schemaname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schemaname());
  }

  // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
  if (this->has_authrole()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *authrole_);
  }

  // bool if_not_exists = 4 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

void CreateSchemaStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateSchemaStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateSchemaStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateSchemaStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateSchemaStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateSchemaStmt)
    MergeFrom(*source);
  }
}

void CreateSchemaStmt::MergeFrom(const CreateSchemaStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSchemaStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  schema_elts_.MergeFrom(from.schema_elts_);
  if (from.schemaname().size() > 0) {
    _internal_set_schemaname(from._internal_schemaname());
  }
  if (from.has_authrole()) {
    _internal_mutable_authrole()->::pg_query::RoleSpec::MergeFrom(from._internal_authrole());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

void CreateSchemaStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateSchemaStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateSchemaStmt::CopyFrom(const CreateSchemaStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateSchemaStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateSchemaStmt::IsInitialized() const {
  return true;
}

void CreateSchemaStmt::InternalSwap(CreateSchemaStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  schema_elts_.InternalSwap(&other->schema_elts_);
  schemaname_.Swap(&other->schemaname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, if_not_exists_)
      + sizeof(CreateSchemaStmt::if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, authrole_)>(
          reinterpret_cast<char*>(&authrole_),
          reinterpret_cast<char*>(&other->authrole_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateSchemaStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterDatabaseStmt::_Internal {
 public:
};

AlterDatabaseStmt::AlterDatabaseStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseStmt)
}
AlterDatabaseStmt::AlterDatabaseStmt(const AlterDatabaseStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_dbname().empty()) {
    dbname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dbname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseStmt)
}

void AlterDatabaseStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

AlterDatabaseStmt::~AlterDatabaseStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterDatabaseStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  dbname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterDatabaseStmt::ArenaDtor(void* object) {
  AlterDatabaseStmt* _this = reinterpret_cast< AlterDatabaseStmt* >(object);
  (void)_this;
}
void AlterDatabaseStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterDatabaseStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterDatabaseStmt& AlterDatabaseStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterDatabaseStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDatabaseStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterDatabaseStmt.dbname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterDatabaseStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_dbname().data(), static_cast<int>(this->_internal_dbname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterDatabaseStmt.dbname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_dbname(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(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:pg_query.AlterDatabaseStmt)
  return target;
}

size_t AlterDatabaseStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterDatabaseStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterDatabaseStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterDatabaseStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterDatabaseStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterDatabaseStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterDatabaseStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterDatabaseStmt)
    MergeFrom(*source);
  }
}

void AlterDatabaseStmt::MergeFrom(const AlterDatabaseStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.dbname().size() > 0) {
    _internal_set_dbname(from._internal_dbname());
  }
}

void AlterDatabaseStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterDatabaseStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterDatabaseStmt::CopyFrom(const AlterDatabaseStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterDatabaseStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterDatabaseStmt::IsInitialized() const {
  return true;
}

void AlterDatabaseStmt::InternalSwap(AlterDatabaseStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  dbname_.Swap(&other->dbname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDatabaseStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterDatabaseSetStmt::_Internal {
 public:
  static const ::pg_query::VariableSetStmt& setstmt(const AlterDatabaseSetStmt* msg);
};

const ::pg_query::VariableSetStmt&
AlterDatabaseSetStmt::_Internal::setstmt(const AlterDatabaseSetStmt* msg) {
  return *msg->setstmt_;
}
AlterDatabaseSetStmt::AlterDatabaseSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseSetStmt)
}
AlterDatabaseSetStmt::AlterDatabaseSetStmt(const AlterDatabaseSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_dbname().empty()) {
    dbname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dbname(), 
      GetArena());
  }
  if (from._internal_has_setstmt()) {
    setstmt_ = new ::pg_query::VariableSetStmt(*from.setstmt_);
  } else {
    setstmt_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseSetStmt)
}

void AlterDatabaseSetStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  dbname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  setstmt_ = nullptr;
}

AlterDatabaseSetStmt::~AlterDatabaseSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseSetStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterDatabaseSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  dbname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete setstmt_;
}

void AlterDatabaseSetStmt::ArenaDtor(void* object) {
  AlterDatabaseSetStmt* _this = reinterpret_cast< AlterDatabaseSetStmt* >(object);
  (void)_this;
}
void AlterDatabaseSetStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterDatabaseSetStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterDatabaseSetStmt& AlterDatabaseSetStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterDatabaseSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  dbname_.ClearToEmpty();
  if (GetArena() == nullptr && setstmt_ != nullptr) {
    delete setstmt_;
  }
  setstmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDatabaseSetStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterDatabaseSetStmt.dbname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_setstmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterDatabaseSetStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_dbname().data(), static_cast<int>(this->_internal_dbname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterDatabaseSetStmt.dbname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_dbname(), target);
  }

  // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
  if (this->has_setstmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::setstmt(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:pg_query.AlterDatabaseSetStmt)
  return target;
}

size_t AlterDatabaseSetStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterDatabaseSetStmt)
  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 dbname = 1 [json_name = "dbname"];
  if (this->dbname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
  if (this->has_setstmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *setstmt_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterDatabaseSetStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterDatabaseSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterDatabaseSetStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterDatabaseSetStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterDatabaseSetStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterDatabaseSetStmt)
    MergeFrom(*source);
  }
}

void AlterDatabaseSetStmt::MergeFrom(const AlterDatabaseSetStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.dbname().size() > 0) {
    _internal_set_dbname(from._internal_dbname());
  }
  if (from.has_setstmt()) {
    _internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(from._internal_setstmt());
  }
}

void AlterDatabaseSetStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterDatabaseSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterDatabaseSetStmt::CopyFrom(const AlterDatabaseSetStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterDatabaseSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterDatabaseSetStmt::IsInitialized() const {
  return true;
}

void AlterDatabaseSetStmt::InternalSwap(AlterDatabaseSetStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  dbname_.Swap(&other->dbname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(setstmt_, other->setstmt_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDatabaseSetStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterRoleSetStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& role(const AlterRoleSetStmt* msg);
  static const ::pg_query::VariableSetStmt& setstmt(const AlterRoleSetStmt* msg);
};

const ::pg_query::RoleSpec&
AlterRoleSetStmt::_Internal::role(const AlterRoleSetStmt* msg) {
  return *msg->role_;
}
const ::pg_query::VariableSetStmt&
AlterRoleSetStmt::_Internal::setstmt(const AlterRoleSetStmt* msg) {
  return *msg->setstmt_;
}
AlterRoleSetStmt::AlterRoleSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterRoleSetStmt)
}
AlterRoleSetStmt::AlterRoleSetStmt(const AlterRoleSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  database_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_database().empty()) {
    database_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_database(), 
      GetArena());
  }
  if (from._internal_has_role()) {
    role_ = new ::pg_query::RoleSpec(*from.role_);
  } else {
    role_ = nullptr;
  }
  if (from._internal_has_setstmt()) {
    setstmt_ = new ::pg_query::VariableSetStmt(*from.setstmt_);
  } else {
    setstmt_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterRoleSetStmt)
}

void AlterRoleSetStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  database_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&role_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&setstmt_) -
      reinterpret_cast<char*>(&role_)) + sizeof(setstmt_));
}

AlterRoleSetStmt::~AlterRoleSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterRoleSetStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterRoleSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  database_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete role_;
  if (this != internal_default_instance()) delete setstmt_;
}

void AlterRoleSetStmt::ArenaDtor(void* object) {
  AlterRoleSetStmt* _this = reinterpret_cast< AlterRoleSetStmt* >(object);
  (void)_this;
}
void AlterRoleSetStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterRoleSetStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterRoleSetStmt& AlterRoleSetStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterRoleSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterRoleSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  database_.ClearToEmpty();
  if (GetArena() == nullptr && role_ != nullptr) {
    delete role_;
  }
  role_ = nullptr;
  if (GetArena() == nullptr && setstmt_ != nullptr) {
    delete setstmt_;
  }
  setstmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterRoleSetStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RoleSpec role = 1 [json_name = "role"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_role(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string database = 2 [json_name = "database"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_database();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterRoleSetStmt.database"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_setstmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterRoleSetStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterRoleSetStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->has_role()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::role(this), target, stream);
  }

  // string database = 2 [json_name = "database"];
  if (this->database().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_database().data(), static_cast<int>(this->_internal_database().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterRoleSetStmt.database");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_database(), target);
  }

  // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
  if (this->has_setstmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::setstmt(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:pg_query.AlterRoleSetStmt)
  return target;
}

size_t AlterRoleSetStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterRoleSetStmt)
  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 database = 2 [json_name = "database"];
  if (this->database().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_database());
  }

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->has_role()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *role_);
  }

  // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
  if (this->has_setstmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *setstmt_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterRoleSetStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterRoleSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterRoleSetStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterRoleSetStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterRoleSetStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterRoleSetStmt)
    MergeFrom(*source);
  }
}

void AlterRoleSetStmt::MergeFrom(const AlterRoleSetStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterRoleSetStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.database().size() > 0) {
    _internal_set_database(from._internal_database());
  }
  if (from.has_role()) {
    _internal_mutable_role()->::pg_query::RoleSpec::MergeFrom(from._internal_role());
  }
  if (from.has_setstmt()) {
    _internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(from._internal_setstmt());
  }
}

void AlterRoleSetStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterRoleSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterRoleSetStmt::CopyFrom(const AlterRoleSetStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterRoleSetStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterRoleSetStmt::IsInitialized() const {
  return true;
}

void AlterRoleSetStmt::InternalSwap(AlterRoleSetStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  database_.Swap(&other->database_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, setstmt_)
      + sizeof(AlterRoleSetStmt::setstmt_)
      - PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, role_)>(
          reinterpret_cast<char*>(&role_),
          reinterpret_cast<char*>(&other->role_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterRoleSetStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateConversionStmt::_Internal {
 public:
};

CreateConversionStmt::CreateConversionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  conversion_name_(arena),
  func_name_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateConversionStmt)
}
CreateConversionStmt::CreateConversionStmt(const CreateConversionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      conversion_name_(from.conversion_name_),
      func_name_(from.func_name_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  for_encoding_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_for_encoding_name().empty()) {
    for_encoding_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_for_encoding_name(), 
      GetArena());
  }
  to_encoding_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_to_encoding_name().empty()) {
    to_encoding_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_to_encoding_name(), 
      GetArena());
  }
  def_ = from.def_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateConversionStmt)
}

void CreateConversionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  for_encoding_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  to_encoding_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  def_ = false;
}

CreateConversionStmt::~CreateConversionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateConversionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateConversionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  for_encoding_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  to_encoding_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateConversionStmt::ArenaDtor(void* object) {
  CreateConversionStmt* _this = reinterpret_cast< CreateConversionStmt* >(object);
  (void)_this;
}
void CreateConversionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateConversionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateConversionStmt& CreateConversionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateConversionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateConversionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  conversion_name_.Clear();
  func_name_.Clear();
  for_encoding_name_.ClearToEmpty();
  to_encoding_name_.ClearToEmpty();
  def_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateConversionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_conversion_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // string for_encoding_name = 2 [json_name = "for_encoding_name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_for_encoding_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateConversionStmt.for_encoding_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string to_encoding_name = 3 [json_name = "to_encoding_name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_to_encoding_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateConversionStmt.to_encoding_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_func_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // bool def = 5 [json_name = "def"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          def_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateConversionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateConversionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_conversion_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_conversion_name(i), target, stream);
  }

  // string for_encoding_name = 2 [json_name = "for_encoding_name"];
  if (this->for_encoding_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_for_encoding_name().data(), static_cast<int>(this->_internal_for_encoding_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateConversionStmt.for_encoding_name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_for_encoding_name(), target);
  }

  // string to_encoding_name = 3 [json_name = "to_encoding_name"];
  if (this->to_encoding_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_to_encoding_name().data(), static_cast<int>(this->_internal_to_encoding_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateConversionStmt.to_encoding_name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_to_encoding_name(), target);
  }

  // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_func_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_func_name(i), target, stream);
  }

  // bool def = 5 [json_name = "def"];
  if (this->def() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_def(), 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:pg_query.CreateConversionStmt)
  return target;
}

size_t CreateConversionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateConversionStmt)
  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 .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
  total_size += 1UL * this->_internal_conversion_name_size();
  for (const auto& msg : this->conversion_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
  total_size += 1UL * this->_internal_func_name_size();
  for (const auto& msg : this->func_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string for_encoding_name = 2 [json_name = "for_encoding_name"];
  if (this->for_encoding_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_for_encoding_name());
  }

  // string to_encoding_name = 3 [json_name = "to_encoding_name"];
  if (this->to_encoding_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_to_encoding_name());
  }

  // bool def = 5 [json_name = "def"];
  if (this->def() != 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;
}

void CreateConversionStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateConversionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateConversionStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateConversionStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateConversionStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateConversionStmt)
    MergeFrom(*source);
  }
}

void CreateConversionStmt::MergeFrom(const CreateConversionStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateConversionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  conversion_name_.MergeFrom(from.conversion_name_);
  func_name_.MergeFrom(from.func_name_);
  if (from.for_encoding_name().size() > 0) {
    _internal_set_for_encoding_name(from._internal_for_encoding_name());
  }
  if (from.to_encoding_name().size() > 0) {
    _internal_set_to_encoding_name(from._internal_to_encoding_name());
  }
  if (from.def() != 0) {
    _internal_set_def(from._internal_def());
  }
}

void CreateConversionStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateConversionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateConversionStmt::CopyFrom(const CreateConversionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateConversionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateConversionStmt::IsInitialized() const {
  return true;
}

void CreateConversionStmt::InternalSwap(CreateConversionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  conversion_name_.InternalSwap(&other->conversion_name_);
  func_name_.InternalSwap(&other->func_name_);
  for_encoding_name_.Swap(&other->for_encoding_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  to_encoding_name_.Swap(&other->to_encoding_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(def_, other->def_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateConversionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateCastStmt::_Internal {
 public:
  static const ::pg_query::TypeName& sourcetype(const CreateCastStmt* msg);
  static const ::pg_query::TypeName& targettype(const CreateCastStmt* msg);
  static const ::pg_query::ObjectWithArgs& func(const CreateCastStmt* msg);
};

const ::pg_query::TypeName&
CreateCastStmt::_Internal::sourcetype(const CreateCastStmt* msg) {
  return *msg->sourcetype_;
}
const ::pg_query::TypeName&
CreateCastStmt::_Internal::targettype(const CreateCastStmt* msg) {
  return *msg->targettype_;
}
const ::pg_query::ObjectWithArgs&
CreateCastStmt::_Internal::func(const CreateCastStmt* msg) {
  return *msg->func_;
}
CreateCastStmt::CreateCastStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateCastStmt)
}
CreateCastStmt::CreateCastStmt(const CreateCastStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_sourcetype()) {
    sourcetype_ = new ::pg_query::TypeName(*from.sourcetype_);
  } else {
    sourcetype_ = nullptr;
  }
  if (from._internal_has_targettype()) {
    targettype_ = new ::pg_query::TypeName(*from.targettype_);
  } else {
    targettype_ = nullptr;
  }
  if (from._internal_has_func()) {
    func_ = new ::pg_query::ObjectWithArgs(*from.func_);
  } else {
    func_ = nullptr;
  }
  ::memcpy(&context_, &from.context_,
    static_cast<size_t>(reinterpret_cast<char*>(&inout_) -
    reinterpret_cast<char*>(&context_)) + sizeof(inout_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateCastStmt)
}

void CreateCastStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&sourcetype_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&inout_) -
      reinterpret_cast<char*>(&sourcetype_)) + sizeof(inout_));
}

CreateCastStmt::~CreateCastStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateCastStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateCastStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete sourcetype_;
  if (this != internal_default_instance()) delete targettype_;
  if (this != internal_default_instance()) delete func_;
}

void CreateCastStmt::ArenaDtor(void* object) {
  CreateCastStmt* _this = reinterpret_cast< CreateCastStmt* >(object);
  (void)_this;
}
void CreateCastStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateCastStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateCastStmt& CreateCastStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateCastStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateCastStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && sourcetype_ != nullptr) {
    delete sourcetype_;
  }
  sourcetype_ = nullptr;
  if (GetArena() == nullptr && targettype_ != nullptr) {
    delete targettype_;
  }
  targettype_ = nullptr;
  if (GetArena() == nullptr && func_ != nullptr) {
    delete func_;
  }
  func_ = nullptr;
  ::memset(&context_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&inout_) -
      reinterpret_cast<char*>(&context_)) + sizeof(inout_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateCastStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_sourcetype(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_targettype(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_func(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CoercionContext context = 4 [json_name = "context"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_context(static_cast<::pg_query::CoercionContext>(val));
        } else goto handle_unusual;
        continue;
      // bool inout = 5 [json_name = "inout"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          inout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateCastStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateCastStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
  if (this->has_sourcetype()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::sourcetype(this), target, stream);
  }

  // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
  if (this->has_targettype()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::targettype(this), target, stream);
  }

  // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
  if (this->has_func()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::func(this), target, stream);
  }

  // .pg_query.CoercionContext context = 4 [json_name = "context"];
  if (this->context() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_context(), target);
  }

  // bool inout = 5 [json_name = "inout"];
  if (this->inout() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_inout(), 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:pg_query.CreateCastStmt)
  return target;
}

size_t CreateCastStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateCastStmt)
  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;

  // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
  if (this->has_sourcetype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *sourcetype_);
  }

  // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
  if (this->has_targettype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *targettype_);
  }

  // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
  if (this->has_func()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *func_);
  }

  // .pg_query.CoercionContext context = 4 [json_name = "context"];
  if (this->context() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_context());
  }

  // bool inout = 5 [json_name = "inout"];
  if (this->inout() != 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;
}

void CreateCastStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateCastStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateCastStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateCastStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateCastStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateCastStmt)
    MergeFrom(*source);
  }
}

void CreateCastStmt::MergeFrom(const CreateCastStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateCastStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_sourcetype()) {
    _internal_mutable_sourcetype()->::pg_query::TypeName::MergeFrom(from._internal_sourcetype());
  }
  if (from.has_targettype()) {
    _internal_mutable_targettype()->::pg_query::TypeName::MergeFrom(from._internal_targettype());
  }
  if (from.has_func()) {
    _internal_mutable_func()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_func());
  }
  if (from.context() != 0) {
    _internal_set_context(from._internal_context());
  }
  if (from.inout() != 0) {
    _internal_set_inout(from._internal_inout());
  }
}

void CreateCastStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateCastStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateCastStmt::CopyFrom(const CreateCastStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateCastStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateCastStmt::IsInitialized() const {
  return true;
}

void CreateCastStmt::InternalSwap(CreateCastStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateCastStmt, inout_)
      + sizeof(CreateCastStmt::inout_)
      - PROTOBUF_FIELD_OFFSET(CreateCastStmt, sourcetype_)>(
          reinterpret_cast<char*>(&sourcetype_),
          reinterpret_cast<char*>(&other->sourcetype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateCastStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateOpClassStmt::_Internal {
 public:
  static const ::pg_query::TypeName& datatype(const CreateOpClassStmt* msg);
};

const ::pg_query::TypeName&
CreateOpClassStmt::_Internal::datatype(const CreateOpClassStmt* msg) {
  return *msg->datatype_;
}
CreateOpClassStmt::CreateOpClassStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  opclassname_(arena),
  opfamilyname_(arena),
  items_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpClassStmt)
}
CreateOpClassStmt::CreateOpClassStmt(const CreateOpClassStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      opclassname_(from.opclassname_),
      opfamilyname_(from.opfamilyname_),
      items_(from.items_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_amname().empty()) {
    amname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_amname(), 
      GetArena());
  }
  if (from._internal_has_datatype()) {
    datatype_ = new ::pg_query::TypeName(*from.datatype_);
  } else {
    datatype_ = nullptr;
  }
  is_default_ = from.is_default_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpClassStmt)
}

void CreateOpClassStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&datatype_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&is_default_) -
      reinterpret_cast<char*>(&datatype_)) + sizeof(is_default_));
}

CreateOpClassStmt::~CreateOpClassStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpClassStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateOpClassStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  amname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete datatype_;
}

void CreateOpClassStmt::ArenaDtor(void* object) {
  CreateOpClassStmt* _this = reinterpret_cast< CreateOpClassStmt* >(object);
  (void)_this;
}
void CreateOpClassStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateOpClassStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateOpClassStmt& CreateOpClassStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateOpClassStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpClassStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  opclassname_.Clear();
  opfamilyname_.Clear();
  items_.Clear();
  amname_.ClearToEmpty();
  if (GetArena() == nullptr && datatype_ != nullptr) {
    delete datatype_;
  }
  datatype_ = nullptr;
  is_default_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateOpClassStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opclassname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opfamilyname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // string amname = 3 [json_name = "amname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_amname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateOpClassStmt.amname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_datatype(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node items = 5 [json_name = "items"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_items(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // bool is_default = 6 [json_name = "isDefault"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          is_default_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateOpClassStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpClassStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opclassname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_opclassname(i), target, stream);
  }

  // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opfamilyname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_opfamilyname(i), target, stream);
  }

  // string amname = 3 [json_name = "amname"];
  if (this->amname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_amname().data(), static_cast<int>(this->_internal_amname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateOpClassStmt.amname");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_amname(), target);
  }

  // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
  if (this->has_datatype()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::datatype(this), target, stream);
  }

  // repeated .pg_query.Node items = 5 [json_name = "items"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_items_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_items(i), target, stream);
  }

  // bool is_default = 6 [json_name = "isDefault"];
  if (this->is_default() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_is_default(), 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:pg_query.CreateOpClassStmt)
  return target;
}

size_t CreateOpClassStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateOpClassStmt)
  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 .pg_query.Node opclassname = 1 [json_name = "opclassname"];
  total_size += 1UL * this->_internal_opclassname_size();
  for (const auto& msg : this->opclassname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
  total_size += 1UL * this->_internal_opfamilyname_size();
  for (const auto& msg : this->opfamilyname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node items = 5 [json_name = "items"];
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 3 [json_name = "amname"];
  if (this->amname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
  if (this->has_datatype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *datatype_);
  }

  // bool is_default = 6 [json_name = "isDefault"];
  if (this->is_default() != 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;
}

void CreateOpClassStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateOpClassStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateOpClassStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateOpClassStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateOpClassStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateOpClassStmt)
    MergeFrom(*source);
  }
}

void CreateOpClassStmt::MergeFrom(const CreateOpClassStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpClassStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  opclassname_.MergeFrom(from.opclassname_);
  opfamilyname_.MergeFrom(from.opfamilyname_);
  items_.MergeFrom(from.items_);
  if (from.amname().size() > 0) {
    _internal_set_amname(from._internal_amname());
  }
  if (from.has_datatype()) {
    _internal_mutable_datatype()->::pg_query::TypeName::MergeFrom(from._internal_datatype());
  }
  if (from.is_default() != 0) {
    _internal_set_is_default(from._internal_is_default());
  }
}

void CreateOpClassStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateOpClassStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateOpClassStmt::CopyFrom(const CreateOpClassStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateOpClassStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateOpClassStmt::IsInitialized() const {
  return true;
}

void CreateOpClassStmt::InternalSwap(CreateOpClassStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  opclassname_.InternalSwap(&other->opclassname_);
  opfamilyname_.InternalSwap(&other->opfamilyname_);
  items_.InternalSwap(&other->items_);
  amname_.Swap(&other->amname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, is_default_)
      + sizeof(CreateOpClassStmt::is_default_)
      - PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, datatype_)>(
          reinterpret_cast<char*>(&datatype_),
          reinterpret_cast<char*>(&other->datatype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateOpClassStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateOpFamilyStmt::_Internal {
 public:
};

CreateOpFamilyStmt::CreateOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  opfamilyname_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpFamilyStmt)
}
CreateOpFamilyStmt::CreateOpFamilyStmt(const CreateOpFamilyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      opfamilyname_(from.opfamilyname_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_amname().empty()) {
    amname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_amname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpFamilyStmt)
}

void CreateOpFamilyStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CreateOpFamilyStmt::~CreateOpFamilyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpFamilyStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateOpFamilyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  amname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateOpFamilyStmt::ArenaDtor(void* object) {
  CreateOpFamilyStmt* _this = reinterpret_cast< CreateOpFamilyStmt* >(object);
  (void)_this;
}
void CreateOpFamilyStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateOpFamilyStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateOpFamilyStmt& CreateOpFamilyStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateOpFamilyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpFamilyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  opfamilyname_.Clear();
  amname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateOpFamilyStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opfamilyname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // string amname = 2 [json_name = "amname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_amname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateOpFamilyStmt.amname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateOpFamilyStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpFamilyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opfamilyname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_opfamilyname(i), target, stream);
  }

  // string amname = 2 [json_name = "amname"];
  if (this->amname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_amname().data(), static_cast<int>(this->_internal_amname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateOpFamilyStmt.amname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_amname(), 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:pg_query.CreateOpFamilyStmt)
  return target;
}

size_t CreateOpFamilyStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateOpFamilyStmt)
  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 .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  total_size += 1UL * this->_internal_opfamilyname_size();
  for (const auto& msg : this->opfamilyname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 2 [json_name = "amname"];
  if (this->amname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateOpFamilyStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateOpFamilyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateOpFamilyStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateOpFamilyStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateOpFamilyStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateOpFamilyStmt)
    MergeFrom(*source);
  }
}

void CreateOpFamilyStmt::MergeFrom(const CreateOpFamilyStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpFamilyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  opfamilyname_.MergeFrom(from.opfamilyname_);
  if (from.amname().size() > 0) {
    _internal_set_amname(from._internal_amname());
  }
}

void CreateOpFamilyStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateOpFamilyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateOpFamilyStmt::CopyFrom(const CreateOpFamilyStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateOpFamilyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateOpFamilyStmt::IsInitialized() const {
  return true;
}

void CreateOpFamilyStmt::InternalSwap(CreateOpFamilyStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  opfamilyname_.InternalSwap(&other->opfamilyname_);
  amname_.Swap(&other->amname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateOpFamilyStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterOpFamilyStmt::_Internal {
 public:
};

AlterOpFamilyStmt::AlterOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  opfamilyname_(arena),
  items_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOpFamilyStmt)
}
AlterOpFamilyStmt::AlterOpFamilyStmt(const AlterOpFamilyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      opfamilyname_(from.opfamilyname_),
      items_(from.items_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_amname().empty()) {
    amname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_amname(), 
      GetArena());
  }
  is_drop_ = from.is_drop_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOpFamilyStmt)
}

void AlterOpFamilyStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  is_drop_ = false;
}

AlterOpFamilyStmt::~AlterOpFamilyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOpFamilyStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterOpFamilyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  amname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterOpFamilyStmt::ArenaDtor(void* object) {
  AlterOpFamilyStmt* _this = reinterpret_cast< AlterOpFamilyStmt* >(object);
  (void)_this;
}
void AlterOpFamilyStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterOpFamilyStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterOpFamilyStmt& AlterOpFamilyStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterOpFamilyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOpFamilyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  opfamilyname_.Clear();
  items_.Clear();
  amname_.ClearToEmpty();
  is_drop_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterOpFamilyStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opfamilyname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // string amname = 2 [json_name = "amname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_amname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterOpFamilyStmt.amname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_drop = 3 [json_name = "isDrop"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          is_drop_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node items = 4 [json_name = "items"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_items(), 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 & 7) == 4 || tag == 0) {
          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* AlterOpFamilyStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOpFamilyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opfamilyname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_opfamilyname(i), target, stream);
  }

  // string amname = 2 [json_name = "amname"];
  if (this->amname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_amname().data(), static_cast<int>(this->_internal_amname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterOpFamilyStmt.amname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_amname(), target);
  }

  // bool is_drop = 3 [json_name = "isDrop"];
  if (this->is_drop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_is_drop(), target);
  }

  // repeated .pg_query.Node items = 4 [json_name = "items"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_items_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_items(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:pg_query.AlterOpFamilyStmt)
  return target;
}

size_t AlterOpFamilyStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterOpFamilyStmt)
  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 .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  total_size += 1UL * this->_internal_opfamilyname_size();
  for (const auto& msg : this->opfamilyname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node items = 4 [json_name = "items"];
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 2 [json_name = "amname"];
  if (this->amname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  // bool is_drop = 3 [json_name = "isDrop"];
  if (this->is_drop() != 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;
}

void AlterOpFamilyStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterOpFamilyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterOpFamilyStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterOpFamilyStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterOpFamilyStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterOpFamilyStmt)
    MergeFrom(*source);
  }
}

void AlterOpFamilyStmt::MergeFrom(const AlterOpFamilyStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOpFamilyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  opfamilyname_.MergeFrom(from.opfamilyname_);
  items_.MergeFrom(from.items_);
  if (from.amname().size() > 0) {
    _internal_set_amname(from._internal_amname());
  }
  if (from.is_drop() != 0) {
    _internal_set_is_drop(from._internal_is_drop());
  }
}

void AlterOpFamilyStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterOpFamilyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterOpFamilyStmt::CopyFrom(const AlterOpFamilyStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterOpFamilyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterOpFamilyStmt::IsInitialized() const {
  return true;
}

void AlterOpFamilyStmt::InternalSwap(AlterOpFamilyStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  opfamilyname_.InternalSwap(&other->opfamilyname_);
  items_.InternalSwap(&other->items_);
  amname_.Swap(&other->amname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(is_drop_, other->is_drop_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterOpFamilyStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class PrepareStmt::_Internal {
 public:
  static const ::pg_query::Node& query(const PrepareStmt* msg);
};

const ::pg_query::Node&
PrepareStmt::_Internal::query(const PrepareStmt* msg) {
  return *msg->query_;
}
PrepareStmt::PrepareStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  argtypes_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PrepareStmt)
}
PrepareStmt::PrepareStmt(const PrepareStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      argtypes_(from.argtypes_) {
  _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(), 
      GetArena());
  }
  if (from._internal_has_query()) {
    query_ = new ::pg_query::Node(*from.query_);
  } else {
    query_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.PrepareStmt)
}

void PrepareStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  query_ = nullptr;
}

PrepareStmt::~PrepareStmt() {
  // @@protoc_insertion_point(destructor:pg_query.PrepareStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PrepareStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete query_;
}

void PrepareStmt::ArenaDtor(void* object) {
  PrepareStmt* _this = reinterpret_cast< PrepareStmt* >(object);
  (void)_this;
}
void PrepareStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PrepareStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const PrepareStmt& PrepareStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void PrepareStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PrepareStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  argtypes_.Clear();
  name_.ClearToEmpty();
  if (GetArena() == nullptr && query_ != nullptr) {
    delete query_;
  }
  query_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PrepareStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.PrepareStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_argtypes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node query = 3 [json_name = "query"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* PrepareStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PrepareStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.PrepareStmt.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_argtypes_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_argtypes(i), target, stream);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->has_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::query(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:pg_query.PrepareStmt)
  return target;
}

size_t PrepareStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PrepareStmt)
  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 .pg_query.Node argtypes = 2 [json_name = "argtypes"];
  total_size += 1UL * this->_internal_argtypes_size();
  for (const auto& msg : this->argtypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *query_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PrepareStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.PrepareStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const PrepareStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PrepareStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.PrepareStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.PrepareStmt)
    MergeFrom(*source);
  }
}

void PrepareStmt::MergeFrom(const PrepareStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PrepareStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  argtypes_.MergeFrom(from.argtypes_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_query()) {
    _internal_mutable_query()->::pg_query::Node::MergeFrom(from._internal_query());
  }
}

void PrepareStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.PrepareStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PrepareStmt::CopyFrom(const PrepareStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PrepareStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PrepareStmt::IsInitialized() const {
  return true;
}

void PrepareStmt::InternalSwap(PrepareStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  argtypes_.InternalSwap(&other->argtypes_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(query_, other->query_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PrepareStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ExecuteStmt::_Internal {
 public:
};

ExecuteStmt::ExecuteStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  params_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ExecuteStmt)
}
ExecuteStmt::ExecuteStmt(const ExecuteStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      params_(from.params_) {
  _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(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ExecuteStmt)
}

void ExecuteStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

ExecuteStmt::~ExecuteStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ExecuteStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ExecuteStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void ExecuteStmt::ArenaDtor(void* object) {
  ExecuteStmt* _this = reinterpret_cast< ExecuteStmt* >(object);
  (void)_this;
}
void ExecuteStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ExecuteStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ExecuteStmt& ExecuteStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ExecuteStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ExecuteStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  params_.Clear();
  name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ExecuteStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.ExecuteStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node params = 2 [json_name = "params"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_params(), 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 & 7) == 4 || tag == 0) {
          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* ExecuteStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ExecuteStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ExecuteStmt.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // repeated .pg_query.Node params = 2 [json_name = "params"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_params_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_params(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:pg_query.ExecuteStmt)
  return target;
}

size_t ExecuteStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ExecuteStmt)
  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 .pg_query.Node params = 2 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_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;
}

void ExecuteStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ExecuteStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ExecuteStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ExecuteStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ExecuteStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ExecuteStmt)
    MergeFrom(*source);
  }
}

void ExecuteStmt::MergeFrom(const ExecuteStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ExecuteStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  params_.MergeFrom(from.params_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
}

void ExecuteStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ExecuteStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ExecuteStmt::CopyFrom(const ExecuteStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ExecuteStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ExecuteStmt::IsInitialized() const {
  return true;
}

void ExecuteStmt::InternalSwap(ExecuteStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  params_.InternalSwap(&other->params_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata ExecuteStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DeallocateStmt::_Internal {
 public:
};

DeallocateStmt::DeallocateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeallocateStmt)
}
DeallocateStmt::DeallocateStmt(const DeallocateStmt& 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(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.DeallocateStmt)
}

void DeallocateStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

DeallocateStmt::~DeallocateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeallocateStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DeallocateStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void DeallocateStmt::ArenaDtor(void* object) {
  DeallocateStmt* _this = reinterpret_cast< DeallocateStmt* >(object);
  (void)_this;
}
void DeallocateStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DeallocateStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DeallocateStmt& DeallocateStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DeallocateStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DeallocateStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DeallocateStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DeallocateStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.DeallocateStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DeallocateStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeallocateStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DeallocateStmt.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), 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:pg_query.DeallocateStmt)
  return target;
}

size_t DeallocateStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DeallocateStmt)
  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 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_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;
}

void DeallocateStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DeallocateStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DeallocateStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DeallocateStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DeallocateStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DeallocateStmt)
    MergeFrom(*source);
  }
}

void DeallocateStmt::MergeFrom(const DeallocateStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeallocateStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
}

void DeallocateStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DeallocateStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DeallocateStmt::CopyFrom(const DeallocateStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DeallocateStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DeallocateStmt::IsInitialized() const {
  return true;
}

void DeallocateStmt::InternalSwap(DeallocateStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata DeallocateStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DeclareCursorStmt::_Internal {
 public:
  static const ::pg_query::Node& query(const DeclareCursorStmt* msg);
};

const ::pg_query::Node&
DeclareCursorStmt::_Internal::query(const DeclareCursorStmt* msg) {
  return *msg->query_;
}
DeclareCursorStmt::DeclareCursorStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeclareCursorStmt)
}
DeclareCursorStmt::DeclareCursorStmt(const DeclareCursorStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  portalname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_portalname().empty()) {
    portalname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_portalname(), 
      GetArena());
  }
  if (from._internal_has_query()) {
    query_ = new ::pg_query::Node(*from.query_);
  } else {
    query_ = nullptr;
  }
  options_ = from.options_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DeclareCursorStmt)
}

void DeclareCursorStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  portalname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&query_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&options_) -
      reinterpret_cast<char*>(&query_)) + sizeof(options_));
}

DeclareCursorStmt::~DeclareCursorStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeclareCursorStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DeclareCursorStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  portalname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete query_;
}

void DeclareCursorStmt::ArenaDtor(void* object) {
  DeclareCursorStmt* _this = reinterpret_cast< DeclareCursorStmt* >(object);
  (void)_this;
}
void DeclareCursorStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DeclareCursorStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DeclareCursorStmt& DeclareCursorStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DeclareCursorStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DeclareCursorStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  portalname_.ClearToEmpty();
  if (GetArena() == nullptr && query_ != nullptr) {
    delete query_;
  }
  query_ = nullptr;
  options_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DeclareCursorStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string portalname = 1 [json_name = "portalname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_portalname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.DeclareCursorStmt.portalname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node query = 3 [json_name = "query"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DeclareCursorStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeclareCursorStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string portalname = 1 [json_name = "portalname"];
  if (this->portalname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_portalname().data(), static_cast<int>(this->_internal_portalname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DeclareCursorStmt.portalname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_portalname(), target);
  }

  // int32 options = 2 [json_name = "options"];
  if (this->options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_options(), target);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->has_query()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::query(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:pg_query.DeclareCursorStmt)
  return target;
}

size_t DeclareCursorStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DeclareCursorStmt)
  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 portalname = 1 [json_name = "portalname"];
  if (this->portalname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_portalname());
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *query_);
  }

  // int32 options = 2 [json_name = "options"];
  if (this->options() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_options());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DeclareCursorStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DeclareCursorStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DeclareCursorStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DeclareCursorStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DeclareCursorStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DeclareCursorStmt)
    MergeFrom(*source);
  }
}

void DeclareCursorStmt::MergeFrom(const DeclareCursorStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeclareCursorStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.portalname().size() > 0) {
    _internal_set_portalname(from._internal_portalname());
  }
  if (from.has_query()) {
    _internal_mutable_query()->::pg_query::Node::MergeFrom(from._internal_query());
  }
  if (from.options() != 0) {
    _internal_set_options(from._internal_options());
  }
}

void DeclareCursorStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DeclareCursorStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DeclareCursorStmt::CopyFrom(const DeclareCursorStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DeclareCursorStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DeclareCursorStmt::IsInitialized() const {
  return true;
}

void DeclareCursorStmt::InternalSwap(DeclareCursorStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  portalname_.Swap(&other->portalname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, options_)
      + sizeof(DeclareCursorStmt::options_)
      - PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, query_)>(
          reinterpret_cast<char*>(&query_),
          reinterpret_cast<char*>(&other->query_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DeclareCursorStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateTableSpaceStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& owner(const CreateTableSpaceStmt* msg);
};

const ::pg_query::RoleSpec&
CreateTableSpaceStmt::_Internal::owner(const CreateTableSpaceStmt* msg) {
  return *msg->owner_;
}
CreateTableSpaceStmt::CreateTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTableSpaceStmt)
}
CreateTableSpaceStmt::CreateTableSpaceStmt(const CreateTableSpaceStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_tablespacename().empty()) {
    tablespacename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_tablespacename(), 
      GetArena());
  }
  location_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_location().empty()) {
    location_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_location(), 
      GetArena());
  }
  if (from._internal_has_owner()) {
    owner_ = new ::pg_query::RoleSpec(*from.owner_);
  } else {
    owner_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTableSpaceStmt)
}

void CreateTableSpaceStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  location_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  owner_ = nullptr;
}

CreateTableSpaceStmt::~CreateTableSpaceStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTableSpaceStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateTableSpaceStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  tablespacename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  location_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete owner_;
}

void CreateTableSpaceStmt::ArenaDtor(void* object) {
  CreateTableSpaceStmt* _this = reinterpret_cast< CreateTableSpaceStmt* >(object);
  (void)_this;
}
void CreateTableSpaceStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateTableSpaceStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateTableSpaceStmt& CreateTableSpaceStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateTableSpaceStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTableSpaceStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  tablespacename_.ClearToEmpty();
  location_.ClearToEmpty();
  if (GetArena() == nullptr && owner_ != nullptr) {
    delete owner_;
  }
  owner_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTableSpaceStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string tablespacename = 1 [json_name = "tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateTableSpaceStmt.tablespacename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_owner(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_location();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateTableSpaceStmt.location"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 4 [json_name = "options"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateTableSpaceStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTableSpaceStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_tablespacename().data(), static_cast<int>(this->_internal_tablespacename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateTableSpaceStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_tablespacename(), target);
  }

  // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
  if (this->has_owner()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::owner(this), target, stream);
  }

  // string location = 3 [json_name = "location"];
  if (this->location().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_location().data(), static_cast<int>(this->_internal_location().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateTableSpaceStmt.location");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_location(), target);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_options(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:pg_query.CreateTableSpaceStmt)
  return target;
}

size_t CreateTableSpaceStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateTableSpaceStmt)
  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 .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // string location = 3 [json_name = "location"];
  if (this->location().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_location());
  }

  // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
  if (this->has_owner()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *owner_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateTableSpaceStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateTableSpaceStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateTableSpaceStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateTableSpaceStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateTableSpaceStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateTableSpaceStmt)
    MergeFrom(*source);
  }
}

void CreateTableSpaceStmt::MergeFrom(const CreateTableSpaceStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTableSpaceStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.tablespacename().size() > 0) {
    _internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from.location().size() > 0) {
    _internal_set_location(from._internal_location());
  }
  if (from.has_owner()) {
    _internal_mutable_owner()->::pg_query::RoleSpec::MergeFrom(from._internal_owner());
  }
}

void CreateTableSpaceStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateTableSpaceStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateTableSpaceStmt::CopyFrom(const CreateTableSpaceStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateTableSpaceStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateTableSpaceStmt::IsInitialized() const {
  return true;
}

void CreateTableSpaceStmt::InternalSwap(CreateTableSpaceStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  tablespacename_.Swap(&other->tablespacename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  location_.Swap(&other->location_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(owner_, other->owner_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTableSpaceStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DropTableSpaceStmt::_Internal {
 public:
};

DropTableSpaceStmt::DropTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropTableSpaceStmt)
}
DropTableSpaceStmt::DropTableSpaceStmt(const DropTableSpaceStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_tablespacename().empty()) {
    tablespacename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_tablespacename(), 
      GetArena());
  }
  missing_ok_ = from.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropTableSpaceStmt)
}

void DropTableSpaceStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto.base);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  missing_ok_ = false;
}

DropTableSpaceStmt::~DropTableSpaceStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropTableSpaceStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DropTableSpaceStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  tablespacename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void DropTableSpaceStmt::ArenaDtor(void* object) {
  DropTableSpaceStmt* _this = reinterpret_cast< DropTableSpaceStmt* >(object);
  (void)_this;
}
void DropTableSpaceStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DropTableSpaceStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DropTableSpaceStmt& DropTableSpaceStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DropTableSpaceStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DropTableSpaceStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropTableSpaceStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  tablespacename_.ClearToEmpty();
  missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropTableSpaceStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string tablespacename = 1 [json_name = "tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.DropTableSpaceStmt.tablespacename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 2 [json_name = "missing_ok"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DropTableSpaceStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropTableSpaceStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_tablespacename().data(), static_cast<int>(this->_internal_tablespacename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DropTableSpaceStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_tablespacename(), target);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), 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:pg_query.DropTableSpaceStmt)
  return target;
}

size_t DropTableSpaceStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropTableSpaceStmt)
  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 tablespacename = 1 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void DropTableSpaceStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DropTableSpaceStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DropTableSpaceStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DropTableSpaceStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DropTableSpaceStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DropTableSpaceStmt)
    MergeFrom(*source);
  }
}

void DropTableSpaceStmt::MergeFrom(const DropTableSpaceStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropTableSpaceStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.tablespacename().size() > 0) {
    _internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void DropTableSpaceStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DropTableSpaceStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DropTableSpaceStmt::CopyFrom(const DropTableSpaceStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DropTableSpaceStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DropTableSpaceStmt::IsInitialized() const {
  return true;
}

void DropTableSpaceStmt::InternalSwap(DropTableSpaceStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  tablespacename_.Swap(&other->tablespacename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(missing_ok_, other->missing_ok_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropTableSpaceStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterObjectDependsStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const AlterObjectDependsStmt* msg);
  static const ::pg_query::Node& object(const AlterObjectDependsStmt* msg);
  static const ::pg_query::Node& extname(const AlterObjectDependsStmt* msg);
};

const ::pg_query::RangeVar&
AlterObjectDependsStmt::_Internal::relation(const AlterObjectDependsStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
AlterObjectDependsStmt::_Internal::object(const AlterObjectDependsStmt* msg) {
  return *msg->object_;
}
const ::pg_query::Node&
AlterObjectDependsStmt::_Internal::extname(const AlterObjectDependsStmt* msg) {
  return *msg->extname_;
}
AlterObjectDependsStmt::AlterObjectDependsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterObjectDependsStmt)
}
AlterObjectDependsStmt::AlterObjectDependsStmt(const AlterObjectDependsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_object()) {
    object_ = new ::pg_query::Node(*from.object_);
  } else {
    object_ = nullptr;
  }
  if (from._internal_has_extname()) {
    extname_ = new ::pg_query::Node(*from.extname_);
  } else {
    extname_ = nullptr;
  }
  ::memcpy(&object_type_, &from.object_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&remove_) -
    reinterpret_cast<char*>(&object_type_)) + sizeof(remove_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterObjectDependsStmt)
}

void AlterObjectDependsStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&remove_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(remove_));
}

AlterObjectDependsStmt::~AlterObjectDependsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterObjectDependsStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterObjectDependsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete object_;
  if (this != internal_default_instance()) delete extname_;
}

void AlterObjectDependsStmt::ArenaDtor(void* object) {
  AlterObjectDependsStmt* _this = reinterpret_cast< AlterObjectDependsStmt* >(object);
  (void)_this;
}
void AlterObjectDependsStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterObjectDependsStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterObjectDependsStmt& AlterObjectDependsStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterObjectDependsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterObjectDependsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && object_ != nullptr) {
    delete object_;
  }
  object_ = nullptr;
  if (GetArena() == nullptr && extname_ != nullptr) {
    delete extname_;
  }
  extname_ = nullptr;
  ::memset(&object_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&remove_) -
      reinterpret_cast<char*>(&object_type_)) + sizeof(remove_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterObjectDependsStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
      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);
          _internal_set_object_type(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 2 [json_name = "relation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node object = 3 [json_name = "object"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node extname = 4 [json_name = "extname"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_extname(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool remove = 5 [json_name = "remove"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          remove_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterObjectDependsStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterObjectDependsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_object_type(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::relation(this), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->has_object()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::object(this), target, stream);
  }

  // .pg_query.Node extname = 4 [json_name = "extname"];
  if (this->has_extname()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::extname(this), target, stream);
  }

  // bool remove = 5 [json_name = "remove"];
  if (this->remove() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_remove(), 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:pg_query.AlterObjectDependsStmt)
  return target;
}

size_t AlterObjectDependsStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterObjectDependsStmt)
  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;

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *object_);
  }

  // .pg_query.Node extname = 4 [json_name = "extname"];
  if (this->has_extname()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *extname_);
  }

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->object_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  // bool remove = 5 [json_name = "remove"];
  if (this->remove() != 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;
}

void AlterObjectDependsStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterObjectDependsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterObjectDependsStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterObjectDependsStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterObjectDependsStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterObjectDependsStmt)
    MergeFrom(*source);
  }
}

void AlterObjectDependsStmt::MergeFrom(const AlterObjectDependsStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterObjectDependsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_object()) {
    _internal_mutable_object()->::pg_query::Node::MergeFrom(from._internal_object());
  }
  if (from.has_extname()) {
    _internal_mutable_extname()->::pg_query::Node::MergeFrom(from._internal_extname());
  }
  if (from.object_type() != 0) {
    _internal_set_object_type(from._internal_object_type());
  }
  if (from.remove() != 0) {
    _internal_set_remove(from._internal_remove());
  }
}

void AlterObjectDependsStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterObjectDependsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterObjectDependsStmt::CopyFrom(const AlterObjectDependsStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterObjectDependsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterObjectDependsStmt::IsInitialized() const {
  return true;
}

void AlterObjectDependsStmt::InternalSwap(AlterObjectDependsStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, remove_)
      + sizeof(AlterObjectDependsStmt::remove_)
      - PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterObjectDependsStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterObjectSchemaStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const AlterObjectSchemaStmt* msg);
  static const ::pg_query::Node& object(const AlterObjectSchemaStmt* msg);
};

const ::pg_query::RangeVar&
AlterObjectSchemaStmt::_Internal::relation(const AlterObjectSchemaStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
AlterObjectSchemaStmt::_Internal::object(const AlterObjectSchemaStmt* msg) {
  return *msg->object_;
}
AlterObjectSchemaStmt::AlterObjectSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterObjectSchemaStmt)
}
AlterObjectSchemaStmt::AlterObjectSchemaStmt(const AlterObjectSchemaStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  newschema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_newschema().empty()) {
    newschema_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_newschema(), 
      GetArena());
  }
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_object()) {
    object_ = new ::pg_query::Node(*from.object_);
  } else {
    object_ = nullptr;
  }
  ::memcpy(&object_type_, &from.object_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&object_type_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterObjectSchemaStmt)
}

void AlterObjectSchemaStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  newschema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(missing_ok_));
}

AlterObjectSchemaStmt::~AlterObjectSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterObjectSchemaStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterObjectSchemaStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  newschema_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete object_;
}

void AlterObjectSchemaStmt::ArenaDtor(void* object) {
  AlterObjectSchemaStmt* _this = reinterpret_cast< AlterObjectSchemaStmt* >(object);
  (void)_this;
}
void AlterObjectSchemaStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterObjectSchemaStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterObjectSchemaStmt& AlterObjectSchemaStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterObjectSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterObjectSchemaStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  newschema_.ClearToEmpty();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && object_ != nullptr) {
    delete object_;
  }
  object_ = nullptr;
  ::memset(&object_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&object_type_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterObjectSchemaStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
      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);
          _internal_set_object_type(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 2 [json_name = "relation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node object = 3 [json_name = "object"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string newschema = 4 [json_name = "newschema"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_newschema();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterObjectSchemaStmt.newschema"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 5 [json_name = "missing_ok"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterObjectSchemaStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterObjectSchemaStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_object_type(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::relation(this), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->has_object()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::object(this), target, stream);
  }

  // string newschema = 4 [json_name = "newschema"];
  if (this->newschema().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_newschema().data(), static_cast<int>(this->_internal_newschema().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterObjectSchemaStmt.newschema");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_newschema(), target);
  }

  // bool missing_ok = 5 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_missing_ok(), 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:pg_query.AlterObjectSchemaStmt)
  return target;
}

size_t AlterObjectSchemaStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterObjectSchemaStmt)
  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 newschema = 4 [json_name = "newschema"];
  if (this->newschema().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_newschema());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *object_);
  }

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->object_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  // bool missing_ok = 5 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void AlterObjectSchemaStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterObjectSchemaStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterObjectSchemaStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterObjectSchemaStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterObjectSchemaStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterObjectSchemaStmt)
    MergeFrom(*source);
  }
}

void AlterObjectSchemaStmt::MergeFrom(const AlterObjectSchemaStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterObjectSchemaStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.newschema().size() > 0) {
    _internal_set_newschema(from._internal_newschema());
  }
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_object()) {
    _internal_mutable_object()->::pg_query::Node::MergeFrom(from._internal_object());
  }
  if (from.object_type() != 0) {
    _internal_set_object_type(from._internal_object_type());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void AlterObjectSchemaStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterObjectSchemaStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterObjectSchemaStmt::CopyFrom(const AlterObjectSchemaStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterObjectSchemaStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterObjectSchemaStmt::IsInitialized() const {
  return true;
}

void AlterObjectSchemaStmt::InternalSwap(AlterObjectSchemaStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  newschema_.Swap(&other->newschema_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, missing_ok_)
      + sizeof(AlterObjectSchemaStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterObjectSchemaStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterOwnerStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const AlterOwnerStmt* msg);
  static const ::pg_query::Node& object(const AlterOwnerStmt* msg);
  static const ::pg_query::RoleSpec& newowner(const AlterOwnerStmt* msg);
};

const ::pg_query::RangeVar&
AlterOwnerStmt::_Internal::relation(const AlterOwnerStmt* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
AlterOwnerStmt::_Internal::object(const AlterOwnerStmt* msg) {
  return *msg->object_;
}
const ::pg_query::RoleSpec&
AlterOwnerStmt::_Internal::newowner(const AlterOwnerStmt* msg) {
  return *msg->newowner_;
}
AlterOwnerStmt::AlterOwnerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOwnerStmt)
}
AlterOwnerStmt::AlterOwnerStmt(const AlterOwnerStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_object()) {
    object_ = new ::pg_query::Node(*from.object_);
  } else {
    object_ = nullptr;
  }
  if (from._internal_has_newowner()) {
    newowner_ = new ::pg_query::RoleSpec(*from.newowner_);
  } else {
    newowner_ = nullptr;
  }
  object_type_ = from.object_type_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOwnerStmt)
}

void AlterOwnerStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&object_type_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(object_type_));
}

AlterOwnerStmt::~AlterOwnerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOwnerStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterOwnerStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete object_;
  if (this != internal_default_instance()) delete newowner_;
}

void AlterOwnerStmt::ArenaDtor(void* object) {
  AlterOwnerStmt* _this = reinterpret_cast< AlterOwnerStmt* >(object);
  (void)_this;
}
void AlterOwnerStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterOwnerStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterOwnerStmt& AlterOwnerStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterOwnerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOwnerStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && object_ != nullptr) {
    delete object_;
  }
  object_ = nullptr;
  if (GetArena() == nullptr && newowner_ != nullptr) {
    delete newowner_;
  }
  newowner_ = nullptr;
  object_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterOwnerStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
      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);
          _internal_set_object_type(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 2 [json_name = "relation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node object = 3 [json_name = "object"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_newowner(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterOwnerStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOwnerStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_object_type(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::relation(this), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->has_object()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::object(this), target, stream);
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->has_newowner()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::newowner(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:pg_query.AlterOwnerStmt)
  return target;
}

size_t AlterOwnerStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterOwnerStmt)
  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;

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *object_);
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->has_newowner()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *newowner_);
  }

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->object_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterOwnerStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterOwnerStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterOwnerStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterOwnerStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterOwnerStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterOwnerStmt)
    MergeFrom(*source);
  }
}

void AlterOwnerStmt::MergeFrom(const AlterOwnerStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOwnerStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.has_object()) {
    _internal_mutable_object()->::pg_query::Node::MergeFrom(from._internal_object());
  }
  if (from.has_newowner()) {
    _internal_mutable_newowner()->::pg_query::RoleSpec::MergeFrom(from._internal_newowner());
  }
  if (from.object_type() != 0) {
    _internal_set_object_type(from._internal_object_type());
  }
}

void AlterOwnerStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterOwnerStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterOwnerStmt::CopyFrom(const AlterOwnerStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterOwnerStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterOwnerStmt::IsInitialized() const {
  return true;
}

void AlterOwnerStmt::InternalSwap(AlterOwnerStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, object_type_)
      + sizeof(AlterOwnerStmt::object_type_)
      - PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterOwnerStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterOperatorStmt::_Internal {
 public:
  static const ::pg_query::ObjectWithArgs& opername(const AlterOperatorStmt* msg);
};

const ::pg_query::ObjectWithArgs&
AlterOperatorStmt::_Internal::opername(const AlterOperatorStmt* msg) {
  return *msg->opername_;
}
AlterOperatorStmt::AlterOperatorStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOperatorStmt)
}
AlterOperatorStmt::AlterOperatorStmt(const AlterOperatorStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_opername()) {
    opername_ = new ::pg_query::ObjectWithArgs(*from.opername_);
  } else {
    opername_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOperatorStmt)
}

void AlterOperatorStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  opername_ = nullptr;
}

AlterOperatorStmt::~AlterOperatorStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOperatorStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterOperatorStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete opername_;
}

void AlterOperatorStmt::ArenaDtor(void* object) {
  AlterOperatorStmt* _this = reinterpret_cast< AlterOperatorStmt* >(object);
  (void)_this;
}
void AlterOperatorStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterOperatorStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterOperatorStmt& AlterOperatorStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterOperatorStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOperatorStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  if (GetArena() == nullptr && opername_ != nullptr) {
    delete opername_;
  }
  opername_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterOperatorStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_opername(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterOperatorStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOperatorStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
  if (this->has_opername()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::opername(this), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(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:pg_query.AlterOperatorStmt)
  return target;
}

size_t AlterOperatorStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterOperatorStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
  if (this->has_opername()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *opername_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterOperatorStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterOperatorStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterOperatorStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterOperatorStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterOperatorStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterOperatorStmt)
    MergeFrom(*source);
  }
}

void AlterOperatorStmt::MergeFrom(const AlterOperatorStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOperatorStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.has_opername()) {
    _internal_mutable_opername()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_opername());
  }
}

void AlterOperatorStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterOperatorStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterOperatorStmt::CopyFrom(const AlterOperatorStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterOperatorStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterOperatorStmt::IsInitialized() const {
  return true;
}

void AlterOperatorStmt::InternalSwap(AlterOperatorStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  swap(opername_, other->opername_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterOperatorStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterTypeStmt::_Internal {
 public:
};

AlterTypeStmt::AlterTypeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  type_name_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTypeStmt)
}
AlterTypeStmt::AlterTypeStmt(const AlterTypeStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      type_name_(from.type_name_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTypeStmt)
}

void AlterTypeStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

AlterTypeStmt::~AlterTypeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTypeStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterTypeStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void AlterTypeStmt::ArenaDtor(void* object) {
  AlterTypeStmt* _this = reinterpret_cast< AlterTypeStmt* >(object);
  (void)_this;
}
void AlterTypeStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterTypeStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterTypeStmt& AlterTypeStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterTypeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTypeStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  type_name_.Clear();
  options_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTypeStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_type_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterTypeStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTypeStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_type_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_type_name(i), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(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:pg_query.AlterTypeStmt)
  return target;
}

size_t AlterTypeStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterTypeStmt)
  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 .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->type_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterTypeStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterTypeStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterTypeStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterTypeStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterTypeStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterTypeStmt)
    MergeFrom(*source);
  }
}

void AlterTypeStmt::MergeFrom(const AlterTypeStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTypeStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  type_name_.MergeFrom(from.type_name_);
  options_.MergeFrom(from.options_);
}

void AlterTypeStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterTypeStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterTypeStmt::CopyFrom(const AlterTypeStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterTypeStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterTypeStmt::IsInitialized() const {
  return true;
}

void AlterTypeStmt::InternalSwap(AlterTypeStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  type_name_.InternalSwap(&other->type_name_);
  options_.InternalSwap(&other->options_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTypeStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DropOwnedStmt::_Internal {
 public:
};

DropOwnedStmt::DropOwnedStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  roles_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropOwnedStmt)
}
DropOwnedStmt::DropOwnedStmt(const DropOwnedStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      roles_(from.roles_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  behavior_ = from.behavior_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropOwnedStmt)
}

void DropOwnedStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  behavior_ = 0;
}

DropOwnedStmt::~DropOwnedStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropOwnedStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DropOwnedStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void DropOwnedStmt::ArenaDtor(void* object) {
  DropOwnedStmt* _this = reinterpret_cast< DropOwnedStmt* >(object);
  (void)_this;
}
void DropOwnedStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DropOwnedStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DropOwnedStmt& DropOwnedStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DropOwnedStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropOwnedStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  roles_.Clear();
  behavior_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropOwnedStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node roles = 1 [json_name = "roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
      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_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DropOwnedStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropOwnedStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_roles(i), target, stream);
  }

  // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_behavior(), 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:pg_query.DropOwnedStmt)
  return target;
}

size_t DropOwnedStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropOwnedStmt)
  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 .pg_query.Node roles = 1 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DropOwnedStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DropOwnedStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DropOwnedStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DropOwnedStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DropOwnedStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DropOwnedStmt)
    MergeFrom(*source);
  }
}

void DropOwnedStmt::MergeFrom(const DropOwnedStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropOwnedStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  roles_.MergeFrom(from.roles_);
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
}

void DropOwnedStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DropOwnedStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DropOwnedStmt::CopyFrom(const DropOwnedStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DropOwnedStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DropOwnedStmt::IsInitialized() const {
  return true;
}

void DropOwnedStmt::InternalSwap(DropOwnedStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  roles_.InternalSwap(&other->roles_);
  swap(behavior_, other->behavior_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropOwnedStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ReassignOwnedStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& newrole(const ReassignOwnedStmt* msg);
};

const ::pg_query::RoleSpec&
ReassignOwnedStmt::_Internal::newrole(const ReassignOwnedStmt* msg) {
  return *msg->newrole_;
}
ReassignOwnedStmt::ReassignOwnedStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  roles_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReassignOwnedStmt)
}
ReassignOwnedStmt::ReassignOwnedStmt(const ReassignOwnedStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      roles_(from.roles_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_newrole()) {
    newrole_ = new ::pg_query::RoleSpec(*from.newrole_);
  } else {
    newrole_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ReassignOwnedStmt)
}

void ReassignOwnedStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  newrole_ = nullptr;
}

ReassignOwnedStmt::~ReassignOwnedStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReassignOwnedStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ReassignOwnedStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete newrole_;
}

void ReassignOwnedStmt::ArenaDtor(void* object) {
  ReassignOwnedStmt* _this = reinterpret_cast< ReassignOwnedStmt* >(object);
  (void)_this;
}
void ReassignOwnedStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ReassignOwnedStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ReassignOwnedStmt& ReassignOwnedStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ReassignOwnedStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReassignOwnedStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  roles_.Clear();
  if (GetArena() == nullptr && newrole_ != nullptr) {
    delete newrole_;
  }
  newrole_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ReassignOwnedStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node roles = 1 [json_name = "roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_newrole(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ReassignOwnedStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReassignOwnedStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_roles(i), target, stream);
  }

  // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
  if (this->has_newrole()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::newrole(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:pg_query.ReassignOwnedStmt)
  return target;
}

size_t ReassignOwnedStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ReassignOwnedStmt)
  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 .pg_query.Node roles = 1 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
  if (this->has_newrole()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *newrole_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ReassignOwnedStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ReassignOwnedStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ReassignOwnedStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ReassignOwnedStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ReassignOwnedStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ReassignOwnedStmt)
    MergeFrom(*source);
  }
}

void ReassignOwnedStmt::MergeFrom(const ReassignOwnedStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReassignOwnedStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  roles_.MergeFrom(from.roles_);
  if (from.has_newrole()) {
    _internal_mutable_newrole()->::pg_query::RoleSpec::MergeFrom(from._internal_newrole());
  }
}

void ReassignOwnedStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ReassignOwnedStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReassignOwnedStmt::CopyFrom(const ReassignOwnedStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ReassignOwnedStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ReassignOwnedStmt::IsInitialized() const {
  return true;
}

void ReassignOwnedStmt::InternalSwap(ReassignOwnedStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  roles_.InternalSwap(&other->roles_);
  swap(newrole_, other->newrole_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ReassignOwnedStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CompositeTypeStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& typevar(const CompositeTypeStmt* msg);
};

const ::pg_query::RangeVar&
CompositeTypeStmt::_Internal::typevar(const CompositeTypeStmt* msg) {
  return *msg->typevar_;
}
CompositeTypeStmt::CompositeTypeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  coldeflist_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CompositeTypeStmt)
}
CompositeTypeStmt::CompositeTypeStmt(const CompositeTypeStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      coldeflist_(from.coldeflist_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_typevar()) {
    typevar_ = new ::pg_query::RangeVar(*from.typevar_);
  } else {
    typevar_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CompositeTypeStmt)
}

void CompositeTypeStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  typevar_ = nullptr;
}

CompositeTypeStmt::~CompositeTypeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CompositeTypeStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CompositeTypeStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete typevar_;
}

void CompositeTypeStmt::ArenaDtor(void* object) {
  CompositeTypeStmt* _this = reinterpret_cast< CompositeTypeStmt* >(object);
  (void)_this;
}
void CompositeTypeStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CompositeTypeStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CompositeTypeStmt& CompositeTypeStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CompositeTypeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CompositeTypeStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  coldeflist_.Clear();
  if (GetArena() == nullptr && typevar_ != nullptr) {
    delete typevar_;
  }
  typevar_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CompositeTypeStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_typevar(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_coldeflist(), 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 & 7) == 4 || tag == 0) {
          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* CompositeTypeStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CompositeTypeStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
  if (this->has_typevar()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::typevar(this), target, stream);
  }

  // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_coldeflist_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_coldeflist(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:pg_query.CompositeTypeStmt)
  return target;
}

size_t CompositeTypeStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CompositeTypeStmt)
  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 .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
  total_size += 1UL * this->_internal_coldeflist_size();
  for (const auto& msg : this->coldeflist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
  if (this->has_typevar()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *typevar_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CompositeTypeStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CompositeTypeStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CompositeTypeStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CompositeTypeStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CompositeTypeStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CompositeTypeStmt)
    MergeFrom(*source);
  }
}

void CompositeTypeStmt::MergeFrom(const CompositeTypeStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CompositeTypeStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  coldeflist_.MergeFrom(from.coldeflist_);
  if (from.has_typevar()) {
    _internal_mutable_typevar()->::pg_query::RangeVar::MergeFrom(from._internal_typevar());
  }
}

void CompositeTypeStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CompositeTypeStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CompositeTypeStmt::CopyFrom(const CompositeTypeStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CompositeTypeStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CompositeTypeStmt::IsInitialized() const {
  return true;
}

void CompositeTypeStmt::InternalSwap(CompositeTypeStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  coldeflist_.InternalSwap(&other->coldeflist_);
  swap(typevar_, other->typevar_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CompositeTypeStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateEnumStmt::_Internal {
 public:
};

CreateEnumStmt::CreateEnumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  type_name_(arena),
  vals_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateEnumStmt)
}
CreateEnumStmt::CreateEnumStmt(const CreateEnumStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      type_name_(from.type_name_),
      vals_(from.vals_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateEnumStmt)
}

void CreateEnumStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

CreateEnumStmt::~CreateEnumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateEnumStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateEnumStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void CreateEnumStmt::ArenaDtor(void* object) {
  CreateEnumStmt* _this = reinterpret_cast< CreateEnumStmt* >(object);
  (void)_this;
}
void CreateEnumStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateEnumStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateEnumStmt& CreateEnumStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateEnumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateEnumStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  type_name_.Clear();
  vals_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateEnumStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_type_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node vals = 2 [json_name = "vals"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_vals(), 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 & 7) == 4 || tag == 0) {
          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* CreateEnumStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateEnumStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_type_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_type_name(i), target, stream);
  }

  // repeated .pg_query.Node vals = 2 [json_name = "vals"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_vals_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_vals(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:pg_query.CreateEnumStmt)
  return target;
}

size_t CreateEnumStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateEnumStmt)
  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 .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->type_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node vals = 2 [json_name = "vals"];
  total_size += 1UL * this->_internal_vals_size();
  for (const auto& msg : this->vals_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateEnumStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateEnumStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateEnumStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateEnumStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateEnumStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateEnumStmt)
    MergeFrom(*source);
  }
}

void CreateEnumStmt::MergeFrom(const CreateEnumStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateEnumStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  type_name_.MergeFrom(from.type_name_);
  vals_.MergeFrom(from.vals_);
}

void CreateEnumStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateEnumStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateEnumStmt::CopyFrom(const CreateEnumStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateEnumStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateEnumStmt::IsInitialized() const {
  return true;
}

void CreateEnumStmt::InternalSwap(CreateEnumStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  type_name_.InternalSwap(&other->type_name_);
  vals_.InternalSwap(&other->vals_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateEnumStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateRangeStmt::_Internal {
 public:
};

CreateRangeStmt::CreateRangeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  type_name_(arena),
  params_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateRangeStmt)
}
CreateRangeStmt::CreateRangeStmt(const CreateRangeStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      type_name_(from.type_name_),
      params_(from.params_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateRangeStmt)
}

void CreateRangeStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

CreateRangeStmt::~CreateRangeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateRangeStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateRangeStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void CreateRangeStmt::ArenaDtor(void* object) {
  CreateRangeStmt* _this = reinterpret_cast< CreateRangeStmt* >(object);
  (void)_this;
}
void CreateRangeStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateRangeStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateRangeStmt& CreateRangeStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateRangeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateRangeStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  type_name_.Clear();
  params_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateRangeStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_type_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node params = 2 [json_name = "params"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_params(), 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 & 7) == 4 || tag == 0) {
          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* CreateRangeStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateRangeStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_type_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_type_name(i), target, stream);
  }

  // repeated .pg_query.Node params = 2 [json_name = "params"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_params_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_params(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:pg_query.CreateRangeStmt)
  return target;
}

size_t CreateRangeStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateRangeStmt)
  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 .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->type_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node params = 2 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateRangeStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateRangeStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateRangeStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateRangeStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateRangeStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateRangeStmt)
    MergeFrom(*source);
  }
}

void CreateRangeStmt::MergeFrom(const CreateRangeStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateRangeStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  type_name_.MergeFrom(from.type_name_);
  params_.MergeFrom(from.params_);
}

void CreateRangeStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateRangeStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateRangeStmt::CopyFrom(const CreateRangeStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateRangeStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateRangeStmt::IsInitialized() const {
  return true;
}

void CreateRangeStmt::InternalSwap(CreateRangeStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  type_name_.InternalSwap(&other->type_name_);
  params_.InternalSwap(&other->params_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateRangeStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterEnumStmt::_Internal {
 public:
};

AlterEnumStmt::AlterEnumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  type_name_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterEnumStmt)
}
AlterEnumStmt::AlterEnumStmt(const AlterEnumStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      type_name_(from.type_name_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  old_val_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_old_val().empty()) {
    old_val_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_old_val(), 
      GetArena());
  }
  new_val_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_new_val().empty()) {
    new_val_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_new_val(), 
      GetArena());
  }
  new_val_neighbor_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_new_val_neighbor().empty()) {
    new_val_neighbor_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_new_val_neighbor(), 
      GetArena());
  }
  ::memcpy(&new_val_is_after_, &from.new_val_is_after_,
    static_cast<size_t>(reinterpret_cast<char*>(&skip_if_new_val_exists_) -
    reinterpret_cast<char*>(&new_val_is_after_)) + sizeof(skip_if_new_val_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterEnumStmt)
}

void AlterEnumStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  old_val_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  new_val_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  new_val_neighbor_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&new_val_is_after_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&skip_if_new_val_exists_) -
      reinterpret_cast<char*>(&new_val_is_after_)) + sizeof(skip_if_new_val_exists_));
}

AlterEnumStmt::~AlterEnumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterEnumStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterEnumStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  old_val_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  new_val_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  new_val_neighbor_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterEnumStmt::ArenaDtor(void* object) {
  AlterEnumStmt* _this = reinterpret_cast< AlterEnumStmt* >(object);
  (void)_this;
}
void AlterEnumStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterEnumStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterEnumStmt& AlterEnumStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterEnumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterEnumStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  type_name_.Clear();
  old_val_.ClearToEmpty();
  new_val_.ClearToEmpty();
  new_val_neighbor_.ClearToEmpty();
  ::memset(&new_val_is_after_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&skip_if_new_val_exists_) -
      reinterpret_cast<char*>(&new_val_is_after_)) + sizeof(skip_if_new_val_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterEnumStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_type_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // string old_val = 2 [json_name = "oldVal"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_old_val();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterEnumStmt.old_val"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string new_val = 3 [json_name = "newVal"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_new_val();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterEnumStmt.new_val"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_new_val_neighbor();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterEnumStmt.new_val_neighbor"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          new_val_is_after_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          skip_if_new_val_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterEnumStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterEnumStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_type_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_type_name(i), target, stream);
  }

  // string old_val = 2 [json_name = "oldVal"];
  if (this->old_val().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_old_val().data(), static_cast<int>(this->_internal_old_val().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterEnumStmt.old_val");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_old_val(), target);
  }

  // string new_val = 3 [json_name = "newVal"];
  if (this->new_val().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_new_val().data(), static_cast<int>(this->_internal_new_val().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterEnumStmt.new_val");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_new_val(), target);
  }

  // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
  if (this->new_val_neighbor().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_new_val_neighbor().data(), static_cast<int>(this->_internal_new_val_neighbor().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterEnumStmt.new_val_neighbor");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_new_val_neighbor(), target);
  }

  // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
  if (this->new_val_is_after() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_new_val_is_after(), target);
  }

  // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
  if (this->skip_if_new_val_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_skip_if_new_val_exists(), 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:pg_query.AlterEnumStmt)
  return target;
}

size_t AlterEnumStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterEnumStmt)
  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 .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->type_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string old_val = 2 [json_name = "oldVal"];
  if (this->old_val().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_old_val());
  }

  // string new_val = 3 [json_name = "newVal"];
  if (this->new_val().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_new_val());
  }

  // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
  if (this->new_val_neighbor().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_new_val_neighbor());
  }

  // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
  if (this->new_val_is_after() != 0) {
    total_size += 1 + 1;
  }

  // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
  if (this->skip_if_new_val_exists() != 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;
}

void AlterEnumStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterEnumStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterEnumStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterEnumStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterEnumStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterEnumStmt)
    MergeFrom(*source);
  }
}

void AlterEnumStmt::MergeFrom(const AlterEnumStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterEnumStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  type_name_.MergeFrom(from.type_name_);
  if (from.old_val().size() > 0) {
    _internal_set_old_val(from._internal_old_val());
  }
  if (from.new_val().size() > 0) {
    _internal_set_new_val(from._internal_new_val());
  }
  if (from.new_val_neighbor().size() > 0) {
    _internal_set_new_val_neighbor(from._internal_new_val_neighbor());
  }
  if (from.new_val_is_after() != 0) {
    _internal_set_new_val_is_after(from._internal_new_val_is_after());
  }
  if (from.skip_if_new_val_exists() != 0) {
    _internal_set_skip_if_new_val_exists(from._internal_skip_if_new_val_exists());
  }
}

void AlterEnumStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterEnumStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterEnumStmt::CopyFrom(const AlterEnumStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterEnumStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterEnumStmt::IsInitialized() const {
  return true;
}

void AlterEnumStmt::InternalSwap(AlterEnumStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  type_name_.InternalSwap(&other->type_name_);
  old_val_.Swap(&other->old_val_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  new_val_.Swap(&other->new_val_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  new_val_neighbor_.Swap(&other->new_val_neighbor_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterEnumStmt, skip_if_new_val_exists_)
      + sizeof(AlterEnumStmt::skip_if_new_val_exists_)
      - PROTOBUF_FIELD_OFFSET(AlterEnumStmt, new_val_is_after_)>(
          reinterpret_cast<char*>(&new_val_is_after_),
          reinterpret_cast<char*>(&other->new_val_is_after_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterEnumStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterTSDictionaryStmt::_Internal {
 public:
};

AlterTSDictionaryStmt::AlterTSDictionaryStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  dictname_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTSDictionaryStmt)
}
AlterTSDictionaryStmt::AlterTSDictionaryStmt(const AlterTSDictionaryStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      dictname_(from.dictname_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTSDictionaryStmt)
}

void AlterTSDictionaryStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

AlterTSDictionaryStmt::~AlterTSDictionaryStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTSDictionaryStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterTSDictionaryStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void AlterTSDictionaryStmt::ArenaDtor(void* object) {
  AlterTSDictionaryStmt* _this = reinterpret_cast< AlterTSDictionaryStmt* >(object);
  (void)_this;
}
void AlterTSDictionaryStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterTSDictionaryStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterTSDictionaryStmt& AlterTSDictionaryStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterTSDictionaryStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTSDictionaryStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  dictname_.Clear();
  options_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTSDictionaryStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_dictname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterTSDictionaryStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTSDictionaryStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_dictname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_dictname(i), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(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:pg_query.AlterTSDictionaryStmt)
  return target;
}

size_t AlterTSDictionaryStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterTSDictionaryStmt)
  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 .pg_query.Node dictname = 1 [json_name = "dictname"];
  total_size += 1UL * this->_internal_dictname_size();
  for (const auto& msg : this->dictname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterTSDictionaryStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterTSDictionaryStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterTSDictionaryStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterTSDictionaryStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterTSDictionaryStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterTSDictionaryStmt)
    MergeFrom(*source);
  }
}

void AlterTSDictionaryStmt::MergeFrom(const AlterTSDictionaryStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTSDictionaryStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  dictname_.MergeFrom(from.dictname_);
  options_.MergeFrom(from.options_);
}

void AlterTSDictionaryStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterTSDictionaryStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterTSDictionaryStmt::CopyFrom(const AlterTSDictionaryStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterTSDictionaryStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterTSDictionaryStmt::IsInitialized() const {
  return true;
}

void AlterTSDictionaryStmt::InternalSwap(AlterTSDictionaryStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  dictname_.InternalSwap(&other->dictname_);
  options_.InternalSwap(&other->options_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTSDictionaryStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterTSConfigurationStmt::_Internal {
 public:
};

AlterTSConfigurationStmt::AlterTSConfigurationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  cfgname_(arena),
  tokentype_(arena),
  dicts_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTSConfigurationStmt)
}
AlterTSConfigurationStmt::AlterTSConfigurationStmt(const AlterTSConfigurationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      cfgname_(from.cfgname_),
      tokentype_(from.tokentype_),
      dicts_(from.dicts_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTSConfigurationStmt)
}

void AlterTSConfigurationStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&kind_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(missing_ok_));
}

AlterTSConfigurationStmt::~AlterTSConfigurationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTSConfigurationStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterTSConfigurationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void AlterTSConfigurationStmt::ArenaDtor(void* object) {
  AlterTSConfigurationStmt* _this = reinterpret_cast< AlterTSConfigurationStmt* >(object);
  (void)_this;
}
void AlterTSConfigurationStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterTSConfigurationStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterTSConfigurationStmt& AlterTSConfigurationStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterTSConfigurationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTSConfigurationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cfgname_.Clear();
  tokentype_.Clear();
  dicts_.Clear();
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTSConfigurationStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::AlterTSConfigType>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_cfgname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_tokentype(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_dicts(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // bool override = 5 [json_name = "override"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          override_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool replace = 6 [json_name = "replace"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 7 [json_name = "missing_ok"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterTSConfigurationStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTSConfigurationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_cfgname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_cfgname(i), target, stream);
  }

  // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_tokentype_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_tokentype(i), target, stream);
  }

  // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_dicts_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_dicts(i), target, stream);
  }

  // bool override = 5 [json_name = "override"];
  if (this->override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_override(), target);
  }

  // bool replace = 6 [json_name = "replace"];
  if (this->replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_replace(), target);
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_missing_ok(), 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:pg_query.AlterTSConfigurationStmt)
  return target;
}

size_t AlterTSConfigurationStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterTSConfigurationStmt)
  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 .pg_query.Node cfgname = 2 [json_name = "cfgname"];
  total_size += 1UL * this->_internal_cfgname_size();
  for (const auto& msg : this->cfgname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
  total_size += 1UL * this->_internal_tokentype_size();
  for (const auto& msg : this->tokentype_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
  total_size += 1UL * this->_internal_dicts_size();
  for (const auto& msg : this->dicts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool override = 5 [json_name = "override"];
  if (this->override() != 0) {
    total_size += 1 + 1;
  }

  // bool replace = 6 [json_name = "replace"];
  if (this->replace() != 0) {
    total_size += 1 + 1;
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void AlterTSConfigurationStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterTSConfigurationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterTSConfigurationStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterTSConfigurationStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterTSConfigurationStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterTSConfigurationStmt)
    MergeFrom(*source);
  }
}

void AlterTSConfigurationStmt::MergeFrom(const AlterTSConfigurationStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTSConfigurationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cfgname_.MergeFrom(from.cfgname_);
  tokentype_.MergeFrom(from.tokentype_);
  dicts_.MergeFrom(from.dicts_);
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.override() != 0) {
    _internal_set_override(from._internal_override());
  }
  if (from.replace() != 0) {
    _internal_set_replace(from._internal_replace());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void AlterTSConfigurationStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterTSConfigurationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterTSConfigurationStmt::CopyFrom(const AlterTSConfigurationStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterTSConfigurationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterTSConfigurationStmt::IsInitialized() const {
  return true;
}

void AlterTSConfigurationStmt::InternalSwap(AlterTSConfigurationStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  cfgname_.InternalSwap(&other->cfgname_);
  tokentype_.InternalSwap(&other->tokentype_);
  dicts_.InternalSwap(&other->dicts_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, missing_ok_)
      + sizeof(AlterTSConfigurationStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, kind_)>(
          reinterpret_cast<char*>(&kind_),
          reinterpret_cast<char*>(&other->kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTSConfigurationStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateFdwStmt::_Internal {
 public:
};

CreateFdwStmt::CreateFdwStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  func_options_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateFdwStmt)
}
CreateFdwStmt::CreateFdwStmt(const CreateFdwStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      func_options_(from.func_options_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  fdwname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_fdwname().empty()) {
    fdwname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fdwname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateFdwStmt)
}

void CreateFdwStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  fdwname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CreateFdwStmt::~CreateFdwStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateFdwStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateFdwStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  fdwname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateFdwStmt::ArenaDtor(void* object) {
  CreateFdwStmt* _this = reinterpret_cast< CreateFdwStmt* >(object);
  (void)_this;
}
void CreateFdwStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateFdwStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateFdwStmt& CreateFdwStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateFdwStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateFdwStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  func_options_.Clear();
  options_.Clear();
  fdwname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateFdwStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string fdwname = 1 [json_name = "fdwname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_fdwname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateFdwStmt.fdwname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_func_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateFdwStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateFdwStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string fdwname = 1 [json_name = "fdwname"];
  if (this->fdwname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fdwname().data(), static_cast<int>(this->_internal_fdwname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateFdwStmt.fdwname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_fdwname(), target);
  }

  // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_func_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_func_options(i), target, stream);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(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:pg_query.CreateFdwStmt)
  return target;
}

size_t CreateFdwStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateFdwStmt)
  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 .pg_query.Node func_options = 2 [json_name = "func_options"];
  total_size += 1UL * this->_internal_func_options_size();
  for (const auto& msg : this->func_options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string fdwname = 1 [json_name = "fdwname"];
  if (this->fdwname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fdwname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateFdwStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateFdwStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateFdwStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateFdwStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateFdwStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateFdwStmt)
    MergeFrom(*source);
  }
}

void CreateFdwStmt::MergeFrom(const CreateFdwStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateFdwStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  func_options_.MergeFrom(from.func_options_);
  options_.MergeFrom(from.options_);
  if (from.fdwname().size() > 0) {
    _internal_set_fdwname(from._internal_fdwname());
  }
}

void CreateFdwStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateFdwStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateFdwStmt::CopyFrom(const CreateFdwStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateFdwStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateFdwStmt::IsInitialized() const {
  return true;
}

void CreateFdwStmt::InternalSwap(CreateFdwStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  func_options_.InternalSwap(&other->func_options_);
  options_.InternalSwap(&other->options_);
  fdwname_.Swap(&other->fdwname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateFdwStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterFdwStmt::_Internal {
 public:
};

AlterFdwStmt::AlterFdwStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  func_options_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterFdwStmt)
}
AlterFdwStmt::AlterFdwStmt(const AlterFdwStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      func_options_(from.func_options_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  fdwname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_fdwname().empty()) {
    fdwname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fdwname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterFdwStmt)
}

void AlterFdwStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  fdwname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

AlterFdwStmt::~AlterFdwStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterFdwStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterFdwStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  fdwname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterFdwStmt::ArenaDtor(void* object) {
  AlterFdwStmt* _this = reinterpret_cast< AlterFdwStmt* >(object);
  (void)_this;
}
void AlterFdwStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterFdwStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterFdwStmt& AlterFdwStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterFdwStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterFdwStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  func_options_.Clear();
  options_.Clear();
  fdwname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterFdwStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string fdwname = 1 [json_name = "fdwname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_fdwname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterFdwStmt.fdwname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_func_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterFdwStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterFdwStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string fdwname = 1 [json_name = "fdwname"];
  if (this->fdwname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fdwname().data(), static_cast<int>(this->_internal_fdwname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterFdwStmt.fdwname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_fdwname(), target);
  }

  // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_func_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_func_options(i), target, stream);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(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:pg_query.AlterFdwStmt)
  return target;
}

size_t AlterFdwStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterFdwStmt)
  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 .pg_query.Node func_options = 2 [json_name = "func_options"];
  total_size += 1UL * this->_internal_func_options_size();
  for (const auto& msg : this->func_options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string fdwname = 1 [json_name = "fdwname"];
  if (this->fdwname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fdwname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterFdwStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterFdwStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterFdwStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterFdwStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterFdwStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterFdwStmt)
    MergeFrom(*source);
  }
}

void AlterFdwStmt::MergeFrom(const AlterFdwStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterFdwStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  func_options_.MergeFrom(from.func_options_);
  options_.MergeFrom(from.options_);
  if (from.fdwname().size() > 0) {
    _internal_set_fdwname(from._internal_fdwname());
  }
}

void AlterFdwStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterFdwStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterFdwStmt::CopyFrom(const AlterFdwStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterFdwStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterFdwStmt::IsInitialized() const {
  return true;
}

void AlterFdwStmt::InternalSwap(AlterFdwStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  func_options_.InternalSwap(&other->func_options_);
  options_.InternalSwap(&other->options_);
  fdwname_.Swap(&other->fdwname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterFdwStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateForeignServerStmt::_Internal {
 public:
};

CreateForeignServerStmt::CreateForeignServerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateForeignServerStmt)
}
CreateForeignServerStmt::CreateForeignServerStmt(const CreateForeignServerStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_servername().empty()) {
    servername_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_servername(), 
      GetArena());
  }
  servertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_servertype().empty()) {
    servertype_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_servertype(), 
      GetArena());
  }
  version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_version().empty()) {
    version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_version(), 
      GetArena());
  }
  fdwname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_fdwname().empty()) {
    fdwname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fdwname(), 
      GetArena());
  }
  if_not_exists_ = from.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateForeignServerStmt)
}

void CreateForeignServerStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  servertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fdwname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if_not_exists_ = false;
}

CreateForeignServerStmt::~CreateForeignServerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateForeignServerStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateForeignServerStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  servername_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  servertype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  version_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fdwname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateForeignServerStmt::ArenaDtor(void* object) {
  CreateForeignServerStmt* _this = reinterpret_cast< CreateForeignServerStmt* >(object);
  (void)_this;
}
void CreateForeignServerStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateForeignServerStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateForeignServerStmt& CreateForeignServerStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateForeignServerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateForeignServerStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  servername_.ClearToEmpty();
  servertype_.ClearToEmpty();
  version_.ClearToEmpty();
  fdwname_.ClearToEmpty();
  if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateForeignServerStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string servername = 1 [json_name = "servername"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_servername();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.servername"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string servertype = 2 [json_name = "servertype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_servertype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.servertype"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string version = 3 [json_name = "version"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_version();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.version"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string fdwname = 4 [json_name = "fdwname"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_fdwname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.fdwname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 5 [json_name = "if_not_exists"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 6 [json_name = "options"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateForeignServerStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateForeignServerStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string servername = 1 [json_name = "servername"];
  if (this->servername().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_servername().data(), static_cast<int>(this->_internal_servername().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateForeignServerStmt.servername");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_servername(), target);
  }

  // string servertype = 2 [json_name = "servertype"];
  if (this->servertype().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_servertype().data(), static_cast<int>(this->_internal_servertype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateForeignServerStmt.servertype");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_servertype(), target);
  }

  // string version = 3 [json_name = "version"];
  if (this->version().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_version().data(), static_cast<int>(this->_internal_version().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateForeignServerStmt.version");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_version(), target);
  }

  // string fdwname = 4 [json_name = "fdwname"];
  if (this->fdwname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fdwname().data(), static_cast<int>(this->_internal_fdwname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateForeignServerStmt.fdwname");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_fdwname(), target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_options(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:pg_query.CreateForeignServerStmt)
  return target;
}

size_t CreateForeignServerStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateForeignServerStmt)
  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 .pg_query.Node options = 6 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 1 [json_name = "servername"];
  if (this->servername().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // string servertype = 2 [json_name = "servertype"];
  if (this->servertype().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servertype());
  }

  // string version = 3 [json_name = "version"];
  if (this->version().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_version());
  }

  // string fdwname = 4 [json_name = "fdwname"];
  if (this->fdwname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fdwname());
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

void CreateForeignServerStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateForeignServerStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateForeignServerStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateForeignServerStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateForeignServerStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateForeignServerStmt)
    MergeFrom(*source);
  }
}

void CreateForeignServerStmt::MergeFrom(const CreateForeignServerStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateForeignServerStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.servername().size() > 0) {
    _internal_set_servername(from._internal_servername());
  }
  if (from.servertype().size() > 0) {
    _internal_set_servertype(from._internal_servertype());
  }
  if (from.version().size() > 0) {
    _internal_set_version(from._internal_version());
  }
  if (from.fdwname().size() > 0) {
    _internal_set_fdwname(from._internal_fdwname());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

void CreateForeignServerStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateForeignServerStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateForeignServerStmt::CopyFrom(const CreateForeignServerStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateForeignServerStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateForeignServerStmt::IsInitialized() const {
  return true;
}

void CreateForeignServerStmt::InternalSwap(CreateForeignServerStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  servername_.Swap(&other->servername_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  servertype_.Swap(&other->servertype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  version_.Swap(&other->version_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  fdwname_.Swap(&other->fdwname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(if_not_exists_, other->if_not_exists_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateForeignServerStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterForeignServerStmt::_Internal {
 public:
};

AlterForeignServerStmt::AlterForeignServerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterForeignServerStmt)
}
AlterForeignServerStmt::AlterForeignServerStmt(const AlterForeignServerStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_servername().empty()) {
    servername_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_servername(), 
      GetArena());
  }
  version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_version().empty()) {
    version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_version(), 
      GetArena());
  }
  has_version_ = from.has_version_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterForeignServerStmt)
}

void AlterForeignServerStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  has_version_ = false;
}

AlterForeignServerStmt::~AlterForeignServerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterForeignServerStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterForeignServerStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  servername_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  version_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterForeignServerStmt::ArenaDtor(void* object) {
  AlterForeignServerStmt* _this = reinterpret_cast< AlterForeignServerStmt* >(object);
  (void)_this;
}
void AlterForeignServerStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterForeignServerStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterForeignServerStmt& AlterForeignServerStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterForeignServerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterForeignServerStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  servername_.ClearToEmpty();
  version_.ClearToEmpty();
  has_version_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterForeignServerStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string servername = 1 [json_name = "servername"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_servername();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterForeignServerStmt.servername"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string version = 2 [json_name = "version"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_version();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterForeignServerStmt.version"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // bool has_version = 4 [json_name = "has_version"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          has_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterForeignServerStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterForeignServerStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string servername = 1 [json_name = "servername"];
  if (this->servername().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_servername().data(), static_cast<int>(this->_internal_servername().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterForeignServerStmt.servername");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_servername(), target);
  }

  // string version = 2 [json_name = "version"];
  if (this->version().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_version().data(), static_cast<int>(this->_internal_version().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterForeignServerStmt.version");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_version(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(i), target, stream);
  }

  // bool has_version = 4 [json_name = "has_version"];
  if (this->has_version() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_has_version(), 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:pg_query.AlterForeignServerStmt)
  return target;
}

size_t AlterForeignServerStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterForeignServerStmt)
  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 .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 1 [json_name = "servername"];
  if (this->servername().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // string version = 2 [json_name = "version"];
  if (this->version().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_version());
  }

  // bool has_version = 4 [json_name = "has_version"];
  if (this->has_version() != 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;
}

void AlterForeignServerStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterForeignServerStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterForeignServerStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterForeignServerStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterForeignServerStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterForeignServerStmt)
    MergeFrom(*source);
  }
}

void AlterForeignServerStmt::MergeFrom(const AlterForeignServerStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterForeignServerStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.servername().size() > 0) {
    _internal_set_servername(from._internal_servername());
  }
  if (from.version().size() > 0) {
    _internal_set_version(from._internal_version());
  }
  if (from.has_version() != 0) {
    _internal_set_has_version(from._internal_has_version());
  }
}

void AlterForeignServerStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterForeignServerStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterForeignServerStmt::CopyFrom(const AlterForeignServerStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterForeignServerStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterForeignServerStmt::IsInitialized() const {
  return true;
}

void AlterForeignServerStmt::InternalSwap(AlterForeignServerStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  servername_.Swap(&other->servername_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  version_.Swap(&other->version_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(has_version_, other->has_version_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterForeignServerStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateUserMappingStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& user(const CreateUserMappingStmt* msg);
};

const ::pg_query::RoleSpec&
CreateUserMappingStmt::_Internal::user(const CreateUserMappingStmt* msg) {
  return *msg->user_;
}
CreateUserMappingStmt::CreateUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateUserMappingStmt)
}
CreateUserMappingStmt::CreateUserMappingStmt(const CreateUserMappingStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_servername().empty()) {
    servername_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_servername(), 
      GetArena());
  }
  if (from._internal_has_user()) {
    user_ = new ::pg_query::RoleSpec(*from.user_);
  } else {
    user_ = nullptr;
  }
  if_not_exists_ = from.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateUserMappingStmt)
}

void CreateUserMappingStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&user_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&if_not_exists_) -
      reinterpret_cast<char*>(&user_)) + sizeof(if_not_exists_));
}

CreateUserMappingStmt::~CreateUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateUserMappingStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateUserMappingStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  servername_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete user_;
}

void CreateUserMappingStmt::ArenaDtor(void* object) {
  CreateUserMappingStmt* _this = reinterpret_cast< CreateUserMappingStmt* >(object);
  (void)_this;
}
void CreateUserMappingStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateUserMappingStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateUserMappingStmt& CreateUserMappingStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateUserMappingStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  servername_.ClearToEmpty();
  if (GetArena() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateUserMappingStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RoleSpec user = 1 [json_name = "user"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string servername = 2 [json_name = "servername"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateUserMappingStmt.servername"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 3 [json_name = "if_not_exists"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 4 [json_name = "options"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateUserMappingStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateUserMappingStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->has_user()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_servername().data(), static_cast<int>(this->_internal_servername().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateUserMappingStmt.servername");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_servername(), target);
  }

  // bool if_not_exists = 3 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_options(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:pg_query.CreateUserMappingStmt)
  return target;
}

size_t CreateUserMappingStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateUserMappingStmt)
  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 .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->has_user()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *user_);
  }

  // bool if_not_exists = 3 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

void CreateUserMappingStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateUserMappingStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateUserMappingStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateUserMappingStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateUserMappingStmt)
    MergeFrom(*source);
  }
}

void CreateUserMappingStmt::MergeFrom(const CreateUserMappingStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.servername().size() > 0) {
    _internal_set_servername(from._internal_servername());
  }
  if (from.has_user()) {
    _internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(from._internal_user());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

void CreateUserMappingStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateUserMappingStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateUserMappingStmt::CopyFrom(const CreateUserMappingStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateUserMappingStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateUserMappingStmt::IsInitialized() const {
  return true;
}

void CreateUserMappingStmt::InternalSwap(CreateUserMappingStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  servername_.Swap(&other->servername_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, if_not_exists_)
      + sizeof(CreateUserMappingStmt::if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, user_)>(
          reinterpret_cast<char*>(&user_),
          reinterpret_cast<char*>(&other->user_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateUserMappingStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterUserMappingStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& user(const AlterUserMappingStmt* msg);
};

const ::pg_query::RoleSpec&
AlterUserMappingStmt::_Internal::user(const AlterUserMappingStmt* msg) {
  return *msg->user_;
}
AlterUserMappingStmt::AlterUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterUserMappingStmt)
}
AlterUserMappingStmt::AlterUserMappingStmt(const AlterUserMappingStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_servername().empty()) {
    servername_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_servername(), 
      GetArena());
  }
  if (from._internal_has_user()) {
    user_ = new ::pg_query::RoleSpec(*from.user_);
  } else {
    user_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterUserMappingStmt)
}

void AlterUserMappingStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  user_ = nullptr;
}

AlterUserMappingStmt::~AlterUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterUserMappingStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterUserMappingStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  servername_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete user_;
}

void AlterUserMappingStmt::ArenaDtor(void* object) {
  AlterUserMappingStmt* _this = reinterpret_cast< AlterUserMappingStmt* >(object);
  (void)_this;
}
void AlterUserMappingStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterUserMappingStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterUserMappingStmt& AlterUserMappingStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterUserMappingStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  servername_.ClearToEmpty();
  if (GetArena() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterUserMappingStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RoleSpec user = 1 [json_name = "user"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string servername = 2 [json_name = "servername"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterUserMappingStmt.servername"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterUserMappingStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterUserMappingStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->has_user()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_servername().data(), static_cast<int>(this->_internal_servername().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterUserMappingStmt.servername");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_servername(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(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:pg_query.AlterUserMappingStmt)
  return target;
}

size_t AlterUserMappingStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterUserMappingStmt)
  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 .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->has_user()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *user_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterUserMappingStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterUserMappingStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterUserMappingStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterUserMappingStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterUserMappingStmt)
    MergeFrom(*source);
  }
}

void AlterUserMappingStmt::MergeFrom(const AlterUserMappingStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.servername().size() > 0) {
    _internal_set_servername(from._internal_servername());
  }
  if (from.has_user()) {
    _internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(from._internal_user());
  }
}

void AlterUserMappingStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterUserMappingStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterUserMappingStmt::CopyFrom(const AlterUserMappingStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterUserMappingStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterUserMappingStmt::IsInitialized() const {
  return true;
}

void AlterUserMappingStmt::InternalSwap(AlterUserMappingStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  servername_.Swap(&other->servername_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(user_, other->user_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterUserMappingStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DropUserMappingStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& user(const DropUserMappingStmt* msg);
};

const ::pg_query::RoleSpec&
DropUserMappingStmt::_Internal::user(const DropUserMappingStmt* msg) {
  return *msg->user_;
}
DropUserMappingStmt::DropUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropUserMappingStmt)
}
DropUserMappingStmt::DropUserMappingStmt(const DropUserMappingStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_servername().empty()) {
    servername_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_servername(), 
      GetArena());
  }
  if (from._internal_has_user()) {
    user_ = new ::pg_query::RoleSpec(*from.user_);
  } else {
    user_ = nullptr;
  }
  missing_ok_ = from.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropUserMappingStmt)
}

void DropUserMappingStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto.base);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&user_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&user_)) + sizeof(missing_ok_));
}

DropUserMappingStmt::~DropUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropUserMappingStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DropUserMappingStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  servername_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete user_;
}

void DropUserMappingStmt::ArenaDtor(void* object) {
  DropUserMappingStmt* _this = reinterpret_cast< DropUserMappingStmt* >(object);
  (void)_this;
}
void DropUserMappingStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DropUserMappingStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DropUserMappingStmt& DropUserMappingStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DropUserMappingStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DropUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropUserMappingStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  servername_.ClearToEmpty();
  if (GetArena() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropUserMappingStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RoleSpec user = 1 [json_name = "user"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string servername = 2 [json_name = "servername"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.DropUserMappingStmt.servername"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 3 [json_name = "missing_ok"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DropUserMappingStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropUserMappingStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->has_user()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_servername().data(), static_cast<int>(this->_internal_servername().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DropUserMappingStmt.servername");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_servername(), target);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_missing_ok(), 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:pg_query.DropUserMappingStmt)
  return target;
}

size_t DropUserMappingStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropUserMappingStmt)
  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 servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->has_user()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *user_);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void DropUserMappingStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DropUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DropUserMappingStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DropUserMappingStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DropUserMappingStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DropUserMappingStmt)
    MergeFrom(*source);
  }
}

void DropUserMappingStmt::MergeFrom(const DropUserMappingStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.servername().size() > 0) {
    _internal_set_servername(from._internal_servername());
  }
  if (from.has_user()) {
    _internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(from._internal_user());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void DropUserMappingStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DropUserMappingStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DropUserMappingStmt::CopyFrom(const DropUserMappingStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DropUserMappingStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DropUserMappingStmt::IsInitialized() const {
  return true;
}

void DropUserMappingStmt::InternalSwap(DropUserMappingStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  servername_.Swap(&other->servername_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, missing_ok_)
      + sizeof(DropUserMappingStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, user_)>(
          reinterpret_cast<char*>(&user_),
          reinterpret_cast<char*>(&other->user_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DropUserMappingStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterTableSpaceOptionsStmt::_Internal {
 public:
};

AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableSpaceOptionsStmt)
}
AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_tablespacename().empty()) {
    tablespacename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_tablespacename(), 
      GetArena());
  }
  is_reset_ = from.is_reset_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableSpaceOptionsStmt)
}

void AlterTableSpaceOptionsStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  is_reset_ = false;
}

AlterTableSpaceOptionsStmt::~AlterTableSpaceOptionsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableSpaceOptionsStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterTableSpaceOptionsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  tablespacename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterTableSpaceOptionsStmt::ArenaDtor(void* object) {
  AlterTableSpaceOptionsStmt* _this = reinterpret_cast< AlterTableSpaceOptionsStmt* >(object);
  (void)_this;
}
void AlterTableSpaceOptionsStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterTableSpaceOptionsStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterTableSpaceOptionsStmt& AlterTableSpaceOptionsStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterTableSpaceOptionsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableSpaceOptionsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  tablespacename_.ClearToEmpty();
  is_reset_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableSpaceOptionsStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string tablespacename = 1 [json_name = "tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterTableSpaceOptionsStmt.tablespacename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // bool is_reset = 3 [json_name = "isReset"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          is_reset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterTableSpaceOptionsStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableSpaceOptionsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_tablespacename().data(), static_cast<int>(this->_internal_tablespacename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterTableSpaceOptionsStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_tablespacename(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(i), target, stream);
  }

  // bool is_reset = 3 [json_name = "isReset"];
  if (this->is_reset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_is_reset(), 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:pg_query.AlterTableSpaceOptionsStmt)
  return target;
}

size_t AlterTableSpaceOptionsStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterTableSpaceOptionsStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (this->tablespacename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // bool is_reset = 3 [json_name = "isReset"];
  if (this->is_reset() != 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;
}

void AlterTableSpaceOptionsStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterTableSpaceOptionsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterTableSpaceOptionsStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterTableSpaceOptionsStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterTableSpaceOptionsStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterTableSpaceOptionsStmt)
    MergeFrom(*source);
  }
}

void AlterTableSpaceOptionsStmt::MergeFrom(const AlterTableSpaceOptionsStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableSpaceOptionsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.tablespacename().size() > 0) {
    _internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from.is_reset() != 0) {
    _internal_set_is_reset(from._internal_is_reset());
  }
}

void AlterTableSpaceOptionsStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterTableSpaceOptionsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterTableSpaceOptionsStmt::CopyFrom(const AlterTableSpaceOptionsStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterTableSpaceOptionsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterTableSpaceOptionsStmt::IsInitialized() const {
  return true;
}

void AlterTableSpaceOptionsStmt::InternalSwap(AlterTableSpaceOptionsStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  tablespacename_.Swap(&other->tablespacename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(is_reset_, other->is_reset_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableSpaceOptionsStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterTableMoveAllStmt::_Internal {
 public:
};

AlterTableMoveAllStmt::AlterTableMoveAllStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  roles_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableMoveAllStmt)
}
AlterTableMoveAllStmt::AlterTableMoveAllStmt(const AlterTableMoveAllStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      roles_(from.roles_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  orig_tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_orig_tablespacename().empty()) {
    orig_tablespacename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_orig_tablespacename(), 
      GetArena());
  }
  new_tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_new_tablespacename().empty()) {
    new_tablespacename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_new_tablespacename(), 
      GetArena());
  }
  ::memcpy(&objtype_, &from.objtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&nowait_) -
    reinterpret_cast<char*>(&objtype_)) + sizeof(nowait_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableMoveAllStmt)
}

void AlterTableMoveAllStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  orig_tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  new_tablespacename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&objtype_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&nowait_) -
      reinterpret_cast<char*>(&objtype_)) + sizeof(nowait_));
}

AlterTableMoveAllStmt::~AlterTableMoveAllStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableMoveAllStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterTableMoveAllStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  orig_tablespacename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  new_tablespacename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterTableMoveAllStmt::ArenaDtor(void* object) {
  AlterTableMoveAllStmt* _this = reinterpret_cast< AlterTableMoveAllStmt* >(object);
  (void)_this;
}
void AlterTableMoveAllStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterTableMoveAllStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterTableMoveAllStmt& AlterTableMoveAllStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterTableMoveAllStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableMoveAllStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  roles_.Clear();
  orig_tablespacename_.ClearToEmpty();
  new_tablespacename_.ClearToEmpty();
  ::memset(&objtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&nowait_) -
      reinterpret_cast<char*>(&objtype_)) + sizeof(nowait_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableMoveAllStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_orig_tablespacename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterTableMoveAllStmt.orig_tablespacename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
      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_objtype(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node roles = 3 [json_name = "roles"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // string new_tablespacename = 4 [json_name = "new_tablespacename"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_new_tablespacename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterTableMoveAllStmt.new_tablespacename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool nowait = 5 [json_name = "nowait"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          nowait_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterTableMoveAllStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableMoveAllStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
  if (this->orig_tablespacename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_orig_tablespacename().data(), static_cast<int>(this->_internal_orig_tablespacename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterTableMoveAllStmt.orig_tablespacename");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_orig_tablespacename(), target);
  }

  // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
  if (this->objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_objtype(), target);
  }

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_roles(i), target, stream);
  }

  // string new_tablespacename = 4 [json_name = "new_tablespacename"];
  if (this->new_tablespacename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_new_tablespacename().data(), static_cast<int>(this->_internal_new_tablespacename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterTableMoveAllStmt.new_tablespacename");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_new_tablespacename(), target);
  }

  // bool nowait = 5 [json_name = "nowait"];
  if (this->nowait() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_nowait(), 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:pg_query.AlterTableMoveAllStmt)
  return target;
}

size_t AlterTableMoveAllStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterTableMoveAllStmt)
  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 .pg_query.Node roles = 3 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
  if (this->orig_tablespacename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_orig_tablespacename());
  }

  // string new_tablespacename = 4 [json_name = "new_tablespacename"];
  if (this->new_tablespacename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_new_tablespacename());
  }

  // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
  if (this->objtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool nowait = 5 [json_name = "nowait"];
  if (this->nowait() != 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;
}

void AlterTableMoveAllStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterTableMoveAllStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterTableMoveAllStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterTableMoveAllStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterTableMoveAllStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterTableMoveAllStmt)
    MergeFrom(*source);
  }
}

void AlterTableMoveAllStmt::MergeFrom(const AlterTableMoveAllStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableMoveAllStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  roles_.MergeFrom(from.roles_);
  if (from.orig_tablespacename().size() > 0) {
    _internal_set_orig_tablespacename(from._internal_orig_tablespacename());
  }
  if (from.new_tablespacename().size() > 0) {
    _internal_set_new_tablespacename(from._internal_new_tablespacename());
  }
  if (from.objtype() != 0) {
    _internal_set_objtype(from._internal_objtype());
  }
  if (from.nowait() != 0) {
    _internal_set_nowait(from._internal_nowait());
  }
}

void AlterTableMoveAllStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterTableMoveAllStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterTableMoveAllStmt::CopyFrom(const AlterTableMoveAllStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterTableMoveAllStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterTableMoveAllStmt::IsInitialized() const {
  return true;
}

void AlterTableMoveAllStmt::InternalSwap(AlterTableMoveAllStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  roles_.InternalSwap(&other->roles_);
  orig_tablespacename_.Swap(&other->orig_tablespacename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  new_tablespacename_.Swap(&other->new_tablespacename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, nowait_)
      + sizeof(AlterTableMoveAllStmt::nowait_)
      - PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, objtype_)>(
          reinterpret_cast<char*>(&objtype_),
          reinterpret_cast<char*>(&other->objtype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableMoveAllStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class SecLabelStmt::_Internal {
 public:
  static const ::pg_query::Node& object(const SecLabelStmt* msg);
};

const ::pg_query::Node&
SecLabelStmt::_Internal::object(const SecLabelStmt* msg) {
  return *msg->object_;
}
SecLabelStmt::SecLabelStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SecLabelStmt)
}
SecLabelStmt::SecLabelStmt(const SecLabelStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  provider_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_provider().empty()) {
    provider_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_provider(), 
      GetArena());
  }
  label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_label().empty()) {
    label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_label(), 
      GetArena());
  }
  if (from._internal_has_object()) {
    object_ = new ::pg_query::Node(*from.object_);
  } else {
    object_ = nullptr;
  }
  objtype_ = from.objtype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.SecLabelStmt)
}

void SecLabelStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  provider_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&object_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&objtype_) -
      reinterpret_cast<char*>(&object_)) + sizeof(objtype_));
}

SecLabelStmt::~SecLabelStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SecLabelStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SecLabelStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  provider_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  label_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete object_;
}

void SecLabelStmt::ArenaDtor(void* object) {
  SecLabelStmt* _this = reinterpret_cast< SecLabelStmt* >(object);
  (void)_this;
}
void SecLabelStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SecLabelStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SecLabelStmt& SecLabelStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void SecLabelStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SecLabelStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  provider_.ClearToEmpty();
  label_.ClearToEmpty();
  if (GetArena() == nullptr && object_ != nullptr) {
    delete object_;
  }
  object_ = nullptr;
  objtype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SecLabelStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
      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);
          _internal_set_objtype(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node object = 2 [json_name = "object"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string provider = 3 [json_name = "provider"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_provider();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.SecLabelStmt.provider"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string label = 4 [json_name = "label"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_label();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.SecLabelStmt.label"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SecLabelStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SecLabelStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_objtype(), target);
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->has_object()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::object(this), target, stream);
  }

  // string provider = 3 [json_name = "provider"];
  if (this->provider().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_provider().data(), static_cast<int>(this->_internal_provider().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.SecLabelStmt.provider");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_provider(), target);
  }

  // string label = 4 [json_name = "label"];
  if (this->label().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_label().data(), static_cast<int>(this->_internal_label().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.SecLabelStmt.label");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_label(), 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:pg_query.SecLabelStmt)
  return target;
}

size_t SecLabelStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SecLabelStmt)
  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 provider = 3 [json_name = "provider"];
  if (this->provider().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_provider());
  }

  // string label = 4 [json_name = "label"];
  if (this->label().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_label());
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *object_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->objtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SecLabelStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.SecLabelStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const SecLabelStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SecLabelStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.SecLabelStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.SecLabelStmt)
    MergeFrom(*source);
  }
}

void SecLabelStmt::MergeFrom(const SecLabelStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SecLabelStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.provider().size() > 0) {
    _internal_set_provider(from._internal_provider());
  }
  if (from.label().size() > 0) {
    _internal_set_label(from._internal_label());
  }
  if (from.has_object()) {
    _internal_mutable_object()->::pg_query::Node::MergeFrom(from._internal_object());
  }
  if (from.objtype() != 0) {
    _internal_set_objtype(from._internal_objtype());
  }
}

void SecLabelStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.SecLabelStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SecLabelStmt::CopyFrom(const SecLabelStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.SecLabelStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SecLabelStmt::IsInitialized() const {
  return true;
}

void SecLabelStmt::InternalSwap(SecLabelStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  provider_.Swap(&other->provider_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  label_.Swap(&other->label_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SecLabelStmt, objtype_)
      + sizeof(SecLabelStmt::objtype_)
      - PROTOBUF_FIELD_OFFSET(SecLabelStmt, object_)>(
          reinterpret_cast<char*>(&object_),
          reinterpret_cast<char*>(&other->object_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SecLabelStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateForeignTableStmt::_Internal {
 public:
  static const ::pg_query::CreateStmt& base_stmt(const CreateForeignTableStmt* msg);
};

const ::pg_query::CreateStmt&
CreateForeignTableStmt::_Internal::base_stmt(const CreateForeignTableStmt* msg) {
  return *msg->base_stmt_;
}
CreateForeignTableStmt::CreateForeignTableStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateForeignTableStmt)
}
CreateForeignTableStmt::CreateForeignTableStmt(const CreateForeignTableStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_servername().empty()) {
    servername_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_servername(), 
      GetArena());
  }
  if (from._internal_has_base_stmt()) {
    base_stmt_ = new ::pg_query::CreateStmt(*from.base_stmt_);
  } else {
    base_stmt_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateForeignTableStmt)
}

void CreateForeignTableStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  servername_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  base_stmt_ = nullptr;
}

CreateForeignTableStmt::~CreateForeignTableStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateForeignTableStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateForeignTableStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  servername_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_stmt_;
}

void CreateForeignTableStmt::ArenaDtor(void* object) {
  CreateForeignTableStmt* _this = reinterpret_cast< CreateForeignTableStmt* >(object);
  (void)_this;
}
void CreateForeignTableStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateForeignTableStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateForeignTableStmt& CreateForeignTableStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateForeignTableStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateForeignTableStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  servername_.ClearToEmpty();
  if (GetArena() == nullptr && base_stmt_ != nullptr) {
    delete base_stmt_;
  }
  base_stmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateForeignTableStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base_stmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string servername = 2 [json_name = "servername"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateForeignTableStmt.servername"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateForeignTableStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateForeignTableStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
  if (this->has_base_stmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base_stmt(this), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_servername().data(), static_cast<int>(this->_internal_servername().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateForeignTableStmt.servername");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_servername(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(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:pg_query.CreateForeignTableStmt)
  return target;
}

size_t CreateForeignTableStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateForeignTableStmt)
  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 .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 2 [json_name = "servername"];
  if (this->servername().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
  if (this->has_base_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *base_stmt_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateForeignTableStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateForeignTableStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateForeignTableStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateForeignTableStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateForeignTableStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateForeignTableStmt)
    MergeFrom(*source);
  }
}

void CreateForeignTableStmt::MergeFrom(const CreateForeignTableStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateForeignTableStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.servername().size() > 0) {
    _internal_set_servername(from._internal_servername());
  }
  if (from.has_base_stmt()) {
    _internal_mutable_base_stmt()->::pg_query::CreateStmt::MergeFrom(from._internal_base_stmt());
  }
}

void CreateForeignTableStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateForeignTableStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateForeignTableStmt::CopyFrom(const CreateForeignTableStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateForeignTableStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateForeignTableStmt::IsInitialized() const {
  return true;
}

void CreateForeignTableStmt::InternalSwap(CreateForeignTableStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  servername_.Swap(&other->servername_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(base_stmt_, other->base_stmt_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateForeignTableStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ImportForeignSchemaStmt::_Internal {
 public:
};

ImportForeignSchemaStmt::ImportForeignSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  table_list_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ImportForeignSchemaStmt)
}
ImportForeignSchemaStmt::ImportForeignSchemaStmt(const ImportForeignSchemaStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      table_list_(from.table_list_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  server_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_server_name().empty()) {
    server_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_server_name(), 
      GetArena());
  }
  remote_schema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_remote_schema().empty()) {
    remote_schema_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_remote_schema(), 
      GetArena());
  }
  local_schema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_local_schema().empty()) {
    local_schema_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_local_schema(), 
      GetArena());
  }
  list_type_ = from.list_type_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ImportForeignSchemaStmt)
}

void ImportForeignSchemaStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  server_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  remote_schema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  local_schema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  list_type_ = 0;
}

ImportForeignSchemaStmt::~ImportForeignSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ImportForeignSchemaStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ImportForeignSchemaStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  server_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  remote_schema_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  local_schema_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void ImportForeignSchemaStmt::ArenaDtor(void* object) {
  ImportForeignSchemaStmt* _this = reinterpret_cast< ImportForeignSchemaStmt* >(object);
  (void)_this;
}
void ImportForeignSchemaStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ImportForeignSchemaStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ImportForeignSchemaStmt& ImportForeignSchemaStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ImportForeignSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ImportForeignSchemaStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  table_list_.Clear();
  options_.Clear();
  server_name_.ClearToEmpty();
  remote_schema_.ClearToEmpty();
  local_schema_.ClearToEmpty();
  list_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ImportForeignSchemaStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string server_name = 1 [json_name = "server_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_server_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ImportForeignSchemaStmt.server_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string remote_schema = 2 [json_name = "remote_schema"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_remote_schema();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ImportForeignSchemaStmt.remote_schema"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string local_schema = 3 [json_name = "local_schema"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_local_schema();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ImportForeignSchemaStmt.local_schema"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_list_type(static_cast<::pg_query::ImportForeignSchemaType>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node table_list = 5 [json_name = "table_list"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_table_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 6 [json_name = "options"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* ImportForeignSchemaStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ImportForeignSchemaStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string server_name = 1 [json_name = "server_name"];
  if (this->server_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_server_name().data(), static_cast<int>(this->_internal_server_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ImportForeignSchemaStmt.server_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_server_name(), target);
  }

  // string remote_schema = 2 [json_name = "remote_schema"];
  if (this->remote_schema().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_remote_schema().data(), static_cast<int>(this->_internal_remote_schema().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ImportForeignSchemaStmt.remote_schema");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_remote_schema(), target);
  }

  // string local_schema = 3 [json_name = "local_schema"];
  if (this->local_schema().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_local_schema().data(), static_cast<int>(this->_internal_local_schema().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ImportForeignSchemaStmt.local_schema");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_local_schema(), target);
  }

  // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
  if (this->list_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_list_type(), target);
  }

  // repeated .pg_query.Node table_list = 5 [json_name = "table_list"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_table_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_table_list(i), target, stream);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_options(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:pg_query.ImportForeignSchemaStmt)
  return target;
}

size_t ImportForeignSchemaStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ImportForeignSchemaStmt)
  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 .pg_query.Node table_list = 5 [json_name = "table_list"];
  total_size += 1UL * this->_internal_table_list_size();
  for (const auto& msg : this->table_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string server_name = 1 [json_name = "server_name"];
  if (this->server_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_server_name());
  }

  // string remote_schema = 2 [json_name = "remote_schema"];
  if (this->remote_schema().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_remote_schema());
  }

  // string local_schema = 3 [json_name = "local_schema"];
  if (this->local_schema().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_local_schema());
  }

  // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
  if (this->list_type() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_list_type());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ImportForeignSchemaStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ImportForeignSchemaStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ImportForeignSchemaStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ImportForeignSchemaStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ImportForeignSchemaStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ImportForeignSchemaStmt)
    MergeFrom(*source);
  }
}

void ImportForeignSchemaStmt::MergeFrom(const ImportForeignSchemaStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ImportForeignSchemaStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  table_list_.MergeFrom(from.table_list_);
  options_.MergeFrom(from.options_);
  if (from.server_name().size() > 0) {
    _internal_set_server_name(from._internal_server_name());
  }
  if (from.remote_schema().size() > 0) {
    _internal_set_remote_schema(from._internal_remote_schema());
  }
  if (from.local_schema().size() > 0) {
    _internal_set_local_schema(from._internal_local_schema());
  }
  if (from.list_type() != 0) {
    _internal_set_list_type(from._internal_list_type());
  }
}

void ImportForeignSchemaStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ImportForeignSchemaStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ImportForeignSchemaStmt::CopyFrom(const ImportForeignSchemaStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ImportForeignSchemaStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ImportForeignSchemaStmt::IsInitialized() const {
  return true;
}

void ImportForeignSchemaStmt::InternalSwap(ImportForeignSchemaStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  table_list_.InternalSwap(&other->table_list_);
  options_.InternalSwap(&other->options_);
  server_name_.Swap(&other->server_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  remote_schema_.Swap(&other->remote_schema_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  local_schema_.Swap(&other->local_schema_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(list_type_, other->list_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ImportForeignSchemaStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateExtensionStmt::_Internal {
 public:
};

CreateExtensionStmt::CreateExtensionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateExtensionStmt)
}
CreateExtensionStmt::CreateExtensionStmt(const CreateExtensionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  extname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_extname().empty()) {
    extname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_extname(), 
      GetArena());
  }
  if_not_exists_ = from.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateExtensionStmt)
}

void CreateExtensionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  extname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if_not_exists_ = false;
}

CreateExtensionStmt::~CreateExtensionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateExtensionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateExtensionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  extname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateExtensionStmt::ArenaDtor(void* object) {
  CreateExtensionStmt* _this = reinterpret_cast< CreateExtensionStmt* >(object);
  (void)_this;
}
void CreateExtensionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateExtensionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateExtensionStmt& CreateExtensionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateExtensionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateExtensionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  extname_.ClearToEmpty();
  if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateExtensionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string extname = 1 [json_name = "extname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_extname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateExtensionStmt.extname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 2 [json_name = "if_not_exists"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateExtensionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateExtensionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (this->extname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_extname().data(), static_cast<int>(this->_internal_extname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateExtensionStmt.extname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_extname(), target);
  }

  // bool if_not_exists = 2 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_options(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:pg_query.CreateExtensionStmt)
  return target;
}

size_t CreateExtensionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateExtensionStmt)
  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 .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string extname = 1 [json_name = "extname"];
  if (this->extname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_extname());
  }

  // bool if_not_exists = 2 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

void CreateExtensionStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateExtensionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateExtensionStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateExtensionStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateExtensionStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateExtensionStmt)
    MergeFrom(*source);
  }
}

void CreateExtensionStmt::MergeFrom(const CreateExtensionStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateExtensionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.extname().size() > 0) {
    _internal_set_extname(from._internal_extname());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

void CreateExtensionStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateExtensionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateExtensionStmt::CopyFrom(const CreateExtensionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateExtensionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateExtensionStmt::IsInitialized() const {
  return true;
}

void CreateExtensionStmt::InternalSwap(CreateExtensionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  extname_.Swap(&other->extname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(if_not_exists_, other->if_not_exists_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateExtensionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterExtensionStmt::_Internal {
 public:
};

AlterExtensionStmt::AlterExtensionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterExtensionStmt)
}
AlterExtensionStmt::AlterExtensionStmt(const AlterExtensionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  extname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_extname().empty()) {
    extname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_extname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterExtensionStmt)
}

void AlterExtensionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  extname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

AlterExtensionStmt::~AlterExtensionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterExtensionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterExtensionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  extname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterExtensionStmt::ArenaDtor(void* object) {
  AlterExtensionStmt* _this = reinterpret_cast< AlterExtensionStmt* >(object);
  (void)_this;
}
void AlterExtensionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterExtensionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterExtensionStmt& AlterExtensionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterExtensionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterExtensionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  extname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterExtensionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string extname = 1 [json_name = "extname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_extname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterExtensionStmt.extname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterExtensionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterExtensionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (this->extname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_extname().data(), static_cast<int>(this->_internal_extname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterExtensionStmt.extname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_extname(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(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:pg_query.AlterExtensionStmt)
  return target;
}

size_t AlterExtensionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterExtensionStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string extname = 1 [json_name = "extname"];
  if (this->extname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_extname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterExtensionStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterExtensionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterExtensionStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterExtensionStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterExtensionStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterExtensionStmt)
    MergeFrom(*source);
  }
}

void AlterExtensionStmt::MergeFrom(const AlterExtensionStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterExtensionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  if (from.extname().size() > 0) {
    _internal_set_extname(from._internal_extname());
  }
}

void AlterExtensionStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterExtensionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterExtensionStmt::CopyFrom(const AlterExtensionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterExtensionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterExtensionStmt::IsInitialized() const {
  return true;
}

void AlterExtensionStmt::InternalSwap(AlterExtensionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  extname_.Swap(&other->extname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterExtensionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterExtensionContentsStmt::_Internal {
 public:
  static const ::pg_query::Node& object(const AlterExtensionContentsStmt* msg);
};

const ::pg_query::Node&
AlterExtensionContentsStmt::_Internal::object(const AlterExtensionContentsStmt* msg) {
  return *msg->object_;
}
AlterExtensionContentsStmt::AlterExtensionContentsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterExtensionContentsStmt)
}
AlterExtensionContentsStmt::AlterExtensionContentsStmt(const AlterExtensionContentsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  extname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_extname().empty()) {
    extname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_extname(), 
      GetArena());
  }
  if (from._internal_has_object()) {
    object_ = new ::pg_query::Node(*from.object_);
  } else {
    object_ = nullptr;
  }
  ::memcpy(&action_, &from.action_,
    static_cast<size_t>(reinterpret_cast<char*>(&objtype_) -
    reinterpret_cast<char*>(&action_)) + sizeof(objtype_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterExtensionContentsStmt)
}

void AlterExtensionContentsStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  extname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&object_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&objtype_) -
      reinterpret_cast<char*>(&object_)) + sizeof(objtype_));
}

AlterExtensionContentsStmt::~AlterExtensionContentsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterExtensionContentsStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterExtensionContentsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  extname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete object_;
}

void AlterExtensionContentsStmt::ArenaDtor(void* object) {
  AlterExtensionContentsStmt* _this = reinterpret_cast< AlterExtensionContentsStmt* >(object);
  (void)_this;
}
void AlterExtensionContentsStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterExtensionContentsStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterExtensionContentsStmt& AlterExtensionContentsStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterExtensionContentsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterExtensionContentsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  extname_.ClearToEmpty();
  if (GetArena() == nullptr && object_ != nullptr) {
    delete object_;
  }
  object_ = nullptr;
  ::memset(&action_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&objtype_) -
      reinterpret_cast<char*>(&action_)) + sizeof(objtype_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterExtensionContentsStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string extname = 1 [json_name = "extname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_extname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterExtensionContentsStmt.extname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 action = 2 [json_name = "action"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          action_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
      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_objtype(static_cast<::pg_query::ObjectType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node object = 4 [json_name = "object"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterExtensionContentsStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterExtensionContentsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (this->extname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_extname().data(), static_cast<int>(this->_internal_extname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterExtensionContentsStmt.extname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_extname(), target);
  }

  // int32 action = 2 [json_name = "action"];
  if (this->action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_action(), target);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_objtype(), target);
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  if (this->has_object()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::object(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:pg_query.AlterExtensionContentsStmt)
  return target;
}

size_t AlterExtensionContentsStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterExtensionContentsStmt)
  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 extname = 1 [json_name = "extname"];
  if (this->extname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_extname());
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  if (this->has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *object_);
  }

  // int32 action = 2 [json_name = "action"];
  if (this->action() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_action());
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->objtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterExtensionContentsStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterExtensionContentsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterExtensionContentsStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterExtensionContentsStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterExtensionContentsStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterExtensionContentsStmt)
    MergeFrom(*source);
  }
}

void AlterExtensionContentsStmt::MergeFrom(const AlterExtensionContentsStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterExtensionContentsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.extname().size() > 0) {
    _internal_set_extname(from._internal_extname());
  }
  if (from.has_object()) {
    _internal_mutable_object()->::pg_query::Node::MergeFrom(from._internal_object());
  }
  if (from.action() != 0) {
    _internal_set_action(from._internal_action());
  }
  if (from.objtype() != 0) {
    _internal_set_objtype(from._internal_objtype());
  }
}

void AlterExtensionContentsStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterExtensionContentsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterExtensionContentsStmt::CopyFrom(const AlterExtensionContentsStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterExtensionContentsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterExtensionContentsStmt::IsInitialized() const {
  return true;
}

void AlterExtensionContentsStmt::InternalSwap(AlterExtensionContentsStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  extname_.Swap(&other->extname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, objtype_)
      + sizeof(AlterExtensionContentsStmt::objtype_)
      - PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, object_)>(
          reinterpret_cast<char*>(&object_),
          reinterpret_cast<char*>(&other->object_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterExtensionContentsStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateEventTrigStmt::_Internal {
 public:
};

CreateEventTrigStmt::CreateEventTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  whenclause_(arena),
  funcname_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateEventTrigStmt)
}
CreateEventTrigStmt::CreateEventTrigStmt(const CreateEventTrigStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      whenclause_(from.whenclause_),
      funcname_(from.funcname_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  trigname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_trigname().empty()) {
    trigname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_trigname(), 
      GetArena());
  }
  eventname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_eventname().empty()) {
    eventname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_eventname(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateEventTrigStmt)
}

void CreateEventTrigStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  trigname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  eventname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CreateEventTrigStmt::~CreateEventTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateEventTrigStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateEventTrigStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  trigname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  eventname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateEventTrigStmt::ArenaDtor(void* object) {
  CreateEventTrigStmt* _this = reinterpret_cast< CreateEventTrigStmt* >(object);
  (void)_this;
}
void CreateEventTrigStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateEventTrigStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateEventTrigStmt& CreateEventTrigStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateEventTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateEventTrigStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  whenclause_.Clear();
  funcname_.Clear();
  trigname_.ClearToEmpty();
  eventname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateEventTrigStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string trigname = 1 [json_name = "trigname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_trigname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateEventTrigStmt.trigname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string eventname = 2 [json_name = "eventname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_eventname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateEventTrigStmt.eventname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_whenclause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funcname(), 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 & 7) == 4 || tag == 0) {
          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* CreateEventTrigStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateEventTrigStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string trigname = 1 [json_name = "trigname"];
  if (this->trigname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_trigname().data(), static_cast<int>(this->_internal_trigname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateEventTrigStmt.trigname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_trigname(), target);
  }

  // string eventname = 2 [json_name = "eventname"];
  if (this->eventname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_eventname().data(), static_cast<int>(this->_internal_eventname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateEventTrigStmt.eventname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_eventname(), target);
  }

  // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_whenclause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_whenclause(i), target, stream);
  }

  // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funcname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_funcname(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:pg_query.CreateEventTrigStmt)
  return target;
}

size_t CreateEventTrigStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateEventTrigStmt)
  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 .pg_query.Node whenclause = 3 [json_name = "whenclause"];
  total_size += 1UL * this->_internal_whenclause_size();
  for (const auto& msg : this->whenclause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->funcname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string trigname = 1 [json_name = "trigname"];
  if (this->trigname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_trigname());
  }

  // string eventname = 2 [json_name = "eventname"];
  if (this->eventname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_eventname());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateEventTrigStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateEventTrigStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateEventTrigStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateEventTrigStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateEventTrigStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateEventTrigStmt)
    MergeFrom(*source);
  }
}

void CreateEventTrigStmt::MergeFrom(const CreateEventTrigStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateEventTrigStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  whenclause_.MergeFrom(from.whenclause_);
  funcname_.MergeFrom(from.funcname_);
  if (from.trigname().size() > 0) {
    _internal_set_trigname(from._internal_trigname());
  }
  if (from.eventname().size() > 0) {
    _internal_set_eventname(from._internal_eventname());
  }
}

void CreateEventTrigStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateEventTrigStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateEventTrigStmt::CopyFrom(const CreateEventTrigStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateEventTrigStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateEventTrigStmt::IsInitialized() const {
  return true;
}

void CreateEventTrigStmt::InternalSwap(CreateEventTrigStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  whenclause_.InternalSwap(&other->whenclause_);
  funcname_.InternalSwap(&other->funcname_);
  trigname_.Swap(&other->trigname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  eventname_.Swap(&other->eventname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateEventTrigStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterEventTrigStmt::_Internal {
 public:
};

AlterEventTrigStmt::AlterEventTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterEventTrigStmt)
}
AlterEventTrigStmt::AlterEventTrigStmt(const AlterEventTrigStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  trigname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_trigname().empty()) {
    trigname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_trigname(), 
      GetArena());
  }
  tgenabled_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_tgenabled().empty()) {
    tgenabled_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_tgenabled(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterEventTrigStmt)
}

void AlterEventTrigStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto.base);
  trigname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  tgenabled_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

AlterEventTrigStmt::~AlterEventTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterEventTrigStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterEventTrigStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  trigname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  tgenabled_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterEventTrigStmt::ArenaDtor(void* object) {
  AlterEventTrigStmt* _this = reinterpret_cast< AlterEventTrigStmt* >(object);
  (void)_this;
}
void AlterEventTrigStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterEventTrigStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterEventTrigStmt& AlterEventTrigStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_AlterEventTrigStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterEventTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterEventTrigStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  trigname_.ClearToEmpty();
  tgenabled_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterEventTrigStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string trigname = 1 [json_name = "trigname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_trigname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterEventTrigStmt.trigname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string tgenabled = 2 [json_name = "tgenabled"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_tgenabled();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterEventTrigStmt.tgenabled"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterEventTrigStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterEventTrigStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string trigname = 1 [json_name = "trigname"];
  if (this->trigname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_trigname().data(), static_cast<int>(this->_internal_trigname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterEventTrigStmt.trigname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_trigname(), target);
  }

  // string tgenabled = 2 [json_name = "tgenabled"];
  if (this->tgenabled().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_tgenabled().data(), static_cast<int>(this->_internal_tgenabled().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterEventTrigStmt.tgenabled");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_tgenabled(), 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:pg_query.AlterEventTrigStmt)
  return target;
}

size_t AlterEventTrigStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterEventTrigStmt)
  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 trigname = 1 [json_name = "trigname"];
  if (this->trigname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_trigname());
  }

  // string tgenabled = 2 [json_name = "tgenabled"];
  if (this->tgenabled().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tgenabled());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterEventTrigStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterEventTrigStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterEventTrigStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterEventTrigStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterEventTrigStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterEventTrigStmt)
    MergeFrom(*source);
  }
}

void AlterEventTrigStmt::MergeFrom(const AlterEventTrigStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterEventTrigStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.trigname().size() > 0) {
    _internal_set_trigname(from._internal_trigname());
  }
  if (from.tgenabled().size() > 0) {
    _internal_set_tgenabled(from._internal_tgenabled());
  }
}

void AlterEventTrigStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterEventTrigStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterEventTrigStmt::CopyFrom(const AlterEventTrigStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterEventTrigStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterEventTrigStmt::IsInitialized() const {
  return true;
}

void AlterEventTrigStmt::InternalSwap(AlterEventTrigStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  trigname_.Swap(&other->trigname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  tgenabled_.Swap(&other->tgenabled_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterEventTrigStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RefreshMatViewStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const RefreshMatViewStmt* msg);
};

const ::pg_query::RangeVar&
RefreshMatViewStmt::_Internal::relation(const RefreshMatViewStmt* msg) {
  return *msg->relation_;
}
RefreshMatViewStmt::RefreshMatViewStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RefreshMatViewStmt)
}
RefreshMatViewStmt::RefreshMatViewStmt(const RefreshMatViewStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  ::memcpy(&concurrent_, &from.concurrent_,
    static_cast<size_t>(reinterpret_cast<char*>(&skip_data_) -
    reinterpret_cast<char*>(&concurrent_)) + sizeof(skip_data_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RefreshMatViewStmt)
}

void RefreshMatViewStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&skip_data_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(skip_data_));
}

RefreshMatViewStmt::~RefreshMatViewStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RefreshMatViewStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RefreshMatViewStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
}

void RefreshMatViewStmt::ArenaDtor(void* object) {
  RefreshMatViewStmt* _this = reinterpret_cast< RefreshMatViewStmt* >(object);
  (void)_this;
}
void RefreshMatViewStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RefreshMatViewStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RefreshMatViewStmt& RefreshMatViewStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RefreshMatViewStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RefreshMatViewStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  ::memset(&concurrent_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&skip_data_) -
      reinterpret_cast<char*>(&concurrent_)) + sizeof(skip_data_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RefreshMatViewStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool concurrent = 1 [json_name = "concurrent"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          concurrent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool skip_data = 2 [json_name = "skipData"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          skip_data_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 3 [json_name = "relation"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RefreshMatViewStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RefreshMatViewStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool concurrent = 1 [json_name = "concurrent"];
  if (this->concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_concurrent(), target);
  }

  // bool skip_data = 2 [json_name = "skipData"];
  if (this->skip_data() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_skip_data(), target);
  }

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::relation(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:pg_query.RefreshMatViewStmt)
  return target;
}

size_t RefreshMatViewStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RefreshMatViewStmt)
  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;

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // bool concurrent = 1 [json_name = "concurrent"];
  if (this->concurrent() != 0) {
    total_size += 1 + 1;
  }

  // bool skip_data = 2 [json_name = "skipData"];
  if (this->skip_data() != 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;
}

void RefreshMatViewStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RefreshMatViewStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const RefreshMatViewStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RefreshMatViewStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RefreshMatViewStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RefreshMatViewStmt)
    MergeFrom(*source);
  }
}

void RefreshMatViewStmt::MergeFrom(const RefreshMatViewStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RefreshMatViewStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.concurrent() != 0) {
    _internal_set_concurrent(from._internal_concurrent());
  }
  if (from.skip_data() != 0) {
    _internal_set_skip_data(from._internal_skip_data());
  }
}

void RefreshMatViewStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RefreshMatViewStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RefreshMatViewStmt::CopyFrom(const RefreshMatViewStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RefreshMatViewStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RefreshMatViewStmt::IsInitialized() const {
  return true;
}

void RefreshMatViewStmt::InternalSwap(RefreshMatViewStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, skip_data_)
      + sizeof(RefreshMatViewStmt::skip_data_)
      - PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RefreshMatViewStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ReplicaIdentityStmt::_Internal {
 public:
};

ReplicaIdentityStmt::ReplicaIdentityStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReplicaIdentityStmt)
}
ReplicaIdentityStmt::ReplicaIdentityStmt(const ReplicaIdentityStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  identity_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_identity_type().empty()) {
    identity_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_identity_type(), 
      GetArena());
  }
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_name().empty()) {
    name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ReplicaIdentityStmt)
}

void ReplicaIdentityStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto.base);
  identity_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

ReplicaIdentityStmt::~ReplicaIdentityStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReplicaIdentityStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ReplicaIdentityStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  identity_type_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void ReplicaIdentityStmt::ArenaDtor(void* object) {
  ReplicaIdentityStmt* _this = reinterpret_cast< ReplicaIdentityStmt* >(object);
  (void)_this;
}
void ReplicaIdentityStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ReplicaIdentityStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ReplicaIdentityStmt& ReplicaIdentityStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ReplicaIdentityStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ReplicaIdentityStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReplicaIdentityStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  identity_type_.ClearToEmpty();
  name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ReplicaIdentityStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string identity_type = 1 [json_name = "identity_type"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_identity_type();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ReplicaIdentityStmt.identity_type"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ReplicaIdentityStmt.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ReplicaIdentityStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReplicaIdentityStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string identity_type = 1 [json_name = "identity_type"];
  if (this->identity_type().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_identity_type().data(), static_cast<int>(this->_internal_identity_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ReplicaIdentityStmt.identity_type");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_identity_type(), target);
  }

  // string name = 2 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ReplicaIdentityStmt.name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_name(), 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:pg_query.ReplicaIdentityStmt)
  return target;
}

size_t ReplicaIdentityStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ReplicaIdentityStmt)
  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 identity_type = 1 [json_name = "identity_type"];
  if (this->identity_type().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_identity_type());
  }

  // string name = 2 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_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;
}

void ReplicaIdentityStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ReplicaIdentityStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const ReplicaIdentityStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ReplicaIdentityStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ReplicaIdentityStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ReplicaIdentityStmt)
    MergeFrom(*source);
  }
}

void ReplicaIdentityStmt::MergeFrom(const ReplicaIdentityStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReplicaIdentityStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.identity_type().size() > 0) {
    _internal_set_identity_type(from._internal_identity_type());
  }
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
}

void ReplicaIdentityStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ReplicaIdentityStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReplicaIdentityStmt::CopyFrom(const ReplicaIdentityStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ReplicaIdentityStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ReplicaIdentityStmt::IsInitialized() const {
  return true;
}

void ReplicaIdentityStmt::InternalSwap(ReplicaIdentityStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  identity_type_.Swap(&other->identity_type_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata ReplicaIdentityStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterSystemStmt::_Internal {
 public:
  static const ::pg_query::VariableSetStmt& setstmt(const AlterSystemStmt* msg);
};

const ::pg_query::VariableSetStmt&
AlterSystemStmt::_Internal::setstmt(const AlterSystemStmt* msg) {
  return *msg->setstmt_;
}
AlterSystemStmt::AlterSystemStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSystemStmt)
}
AlterSystemStmt::AlterSystemStmt(const AlterSystemStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_setstmt()) {
    setstmt_ = new ::pg_query::VariableSetStmt(*from.setstmt_);
  } else {
    setstmt_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSystemStmt)
}

void AlterSystemStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  setstmt_ = nullptr;
}

AlterSystemStmt::~AlterSystemStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSystemStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterSystemStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete setstmt_;
}

void AlterSystemStmt::ArenaDtor(void* object) {
  AlterSystemStmt* _this = reinterpret_cast< AlterSystemStmt* >(object);
  (void)_this;
}
void AlterSystemStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterSystemStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterSystemStmt& AlterSystemStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterSystemStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSystemStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && setstmt_ != nullptr) {
    delete setstmt_;
  }
  setstmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterSystemStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_setstmt(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterSystemStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSystemStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
  if (this->has_setstmt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::setstmt(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:pg_query.AlterSystemStmt)
  return target;
}

size_t AlterSystemStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterSystemStmt)
  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;

  // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
  if (this->has_setstmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *setstmt_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterSystemStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterSystemStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterSystemStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterSystemStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterSystemStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterSystemStmt)
    MergeFrom(*source);
  }
}

void AlterSystemStmt::MergeFrom(const AlterSystemStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSystemStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_setstmt()) {
    _internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(from._internal_setstmt());
  }
}

void AlterSystemStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterSystemStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterSystemStmt::CopyFrom(const AlterSystemStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterSystemStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterSystemStmt::IsInitialized() const {
  return true;
}

void AlterSystemStmt::InternalSwap(AlterSystemStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(setstmt_, other->setstmt_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterSystemStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreatePolicyStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& table(const CreatePolicyStmt* msg);
  static const ::pg_query::Node& qual(const CreatePolicyStmt* msg);
  static const ::pg_query::Node& with_check(const CreatePolicyStmt* msg);
};

const ::pg_query::RangeVar&
CreatePolicyStmt::_Internal::table(const CreatePolicyStmt* msg) {
  return *msg->table_;
}
const ::pg_query::Node&
CreatePolicyStmt::_Internal::qual(const CreatePolicyStmt* msg) {
  return *msg->qual_;
}
const ::pg_query::Node&
CreatePolicyStmt::_Internal::with_check(const CreatePolicyStmt* msg) {
  return *msg->with_check_;
}
CreatePolicyStmt::CreatePolicyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  roles_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePolicyStmt)
}
CreatePolicyStmt::CreatePolicyStmt(const CreatePolicyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      roles_(from.roles_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  policy_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_policy_name().empty()) {
    policy_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_policy_name(), 
      GetArena());
  }
  cmd_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_cmd_name().empty()) {
    cmd_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_cmd_name(), 
      GetArena());
  }
  if (from._internal_has_table()) {
    table_ = new ::pg_query::RangeVar(*from.table_);
  } else {
    table_ = nullptr;
  }
  if (from._internal_has_qual()) {
    qual_ = new ::pg_query::Node(*from.qual_);
  } else {
    qual_ = nullptr;
  }
  if (from._internal_has_with_check()) {
    with_check_ = new ::pg_query::Node(*from.with_check_);
  } else {
    with_check_ = nullptr;
  }
  permissive_ = from.permissive_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePolicyStmt)
}

void CreatePolicyStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  policy_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  cmd_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&table_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&permissive_) -
      reinterpret_cast<char*>(&table_)) + sizeof(permissive_));
}

CreatePolicyStmt::~CreatePolicyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePolicyStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreatePolicyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  policy_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  cmd_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete table_;
  if (this != internal_default_instance()) delete qual_;
  if (this != internal_default_instance()) delete with_check_;
}

void CreatePolicyStmt::ArenaDtor(void* object) {
  CreatePolicyStmt* _this = reinterpret_cast< CreatePolicyStmt* >(object);
  (void)_this;
}
void CreatePolicyStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreatePolicyStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreatePolicyStmt& CreatePolicyStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreatePolicyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePolicyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  roles_.Clear();
  policy_name_.ClearToEmpty();
  cmd_name_.ClearToEmpty();
  if (GetArena() == nullptr && table_ != nullptr) {
    delete table_;
  }
  table_ = nullptr;
  if (GetArena() == nullptr && qual_ != nullptr) {
    delete qual_;
  }
  qual_ = nullptr;
  if (GetArena() == nullptr && with_check_ != nullptr) {
    delete with_check_;
  }
  with_check_ = nullptr;
  permissive_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePolicyStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string policy_name = 1 [json_name = "policy_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_policy_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreatePolicyStmt.policy_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar table = 2 [json_name = "table"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_table(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string cmd_name = 3 [json_name = "cmd_name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_cmd_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreatePolicyStmt.cmd_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool permissive = 4 [json_name = "permissive"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          permissive_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node roles = 5 [json_name = "roles"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node qual = 6 [json_name = "qual"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_qual(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node with_check = 7 [json_name = "with_check"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_check(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreatePolicyStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePolicyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string policy_name = 1 [json_name = "policy_name"];
  if (this->policy_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_policy_name().data(), static_cast<int>(this->_internal_policy_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreatePolicyStmt.policy_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_policy_name(), target);
  }

  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (this->has_table()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::table(this), target, stream);
  }

  // string cmd_name = 3 [json_name = "cmd_name"];
  if (this->cmd_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_cmd_name().data(), static_cast<int>(this->_internal_cmd_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreatePolicyStmt.cmd_name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_cmd_name(), target);
  }

  // bool permissive = 4 [json_name = "permissive"];
  if (this->permissive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_permissive(), target);
  }

  // repeated .pg_query.Node roles = 5 [json_name = "roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_roles(i), target, stream);
  }

  // .pg_query.Node qual = 6 [json_name = "qual"];
  if (this->has_qual()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::qual(this), target, stream);
  }

  // .pg_query.Node with_check = 7 [json_name = "with_check"];
  if (this->has_with_check()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::with_check(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:pg_query.CreatePolicyStmt)
  return target;
}

size_t CreatePolicyStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreatePolicyStmt)
  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 .pg_query.Node roles = 5 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string policy_name = 1 [json_name = "policy_name"];
  if (this->policy_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_policy_name());
  }

  // string cmd_name = 3 [json_name = "cmd_name"];
  if (this->cmd_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cmd_name());
  }

  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (this->has_table()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *table_);
  }

  // .pg_query.Node qual = 6 [json_name = "qual"];
  if (this->has_qual()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *qual_);
  }

  // .pg_query.Node with_check = 7 [json_name = "with_check"];
  if (this->has_with_check()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *with_check_);
  }

  // bool permissive = 4 [json_name = "permissive"];
  if (this->permissive() != 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;
}

void CreatePolicyStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreatePolicyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreatePolicyStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreatePolicyStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreatePolicyStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreatePolicyStmt)
    MergeFrom(*source);
  }
}

void CreatePolicyStmt::MergeFrom(const CreatePolicyStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePolicyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  roles_.MergeFrom(from.roles_);
  if (from.policy_name().size() > 0) {
    _internal_set_policy_name(from._internal_policy_name());
  }
  if (from.cmd_name().size() > 0) {
    _internal_set_cmd_name(from._internal_cmd_name());
  }
  if (from.has_table()) {
    _internal_mutable_table()->::pg_query::RangeVar::MergeFrom(from._internal_table());
  }
  if (from.has_qual()) {
    _internal_mutable_qual()->::pg_query::Node::MergeFrom(from._internal_qual());
  }
  if (from.has_with_check()) {
    _internal_mutable_with_check()->::pg_query::Node::MergeFrom(from._internal_with_check());
  }
  if (from.permissive() != 0) {
    _internal_set_permissive(from._internal_permissive());
  }
}

void CreatePolicyStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreatePolicyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreatePolicyStmt::CopyFrom(const CreatePolicyStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreatePolicyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreatePolicyStmt::IsInitialized() const {
  return true;
}

void CreatePolicyStmt::InternalSwap(CreatePolicyStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  roles_.InternalSwap(&other->roles_);
  policy_name_.Swap(&other->policy_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  cmd_name_.Swap(&other->cmd_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, permissive_)
      + sizeof(CreatePolicyStmt::permissive_)
      - PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, table_)>(
          reinterpret_cast<char*>(&table_),
          reinterpret_cast<char*>(&other->table_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePolicyStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterPolicyStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& table(const AlterPolicyStmt* msg);
  static const ::pg_query::Node& qual(const AlterPolicyStmt* msg);
  static const ::pg_query::Node& with_check(const AlterPolicyStmt* msg);
};

const ::pg_query::RangeVar&
AlterPolicyStmt::_Internal::table(const AlterPolicyStmt* msg) {
  return *msg->table_;
}
const ::pg_query::Node&
AlterPolicyStmt::_Internal::qual(const AlterPolicyStmt* msg) {
  return *msg->qual_;
}
const ::pg_query::Node&
AlterPolicyStmt::_Internal::with_check(const AlterPolicyStmt* msg) {
  return *msg->with_check_;
}
AlterPolicyStmt::AlterPolicyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  roles_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterPolicyStmt)
}
AlterPolicyStmt::AlterPolicyStmt(const AlterPolicyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      roles_(from.roles_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  policy_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_policy_name().empty()) {
    policy_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_policy_name(), 
      GetArena());
  }
  if (from._internal_has_table()) {
    table_ = new ::pg_query::RangeVar(*from.table_);
  } else {
    table_ = nullptr;
  }
  if (from._internal_has_qual()) {
    qual_ = new ::pg_query::Node(*from.qual_);
  } else {
    qual_ = nullptr;
  }
  if (from._internal_has_with_check()) {
    with_check_ = new ::pg_query::Node(*from.with_check_);
  } else {
    with_check_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterPolicyStmt)
}

void AlterPolicyStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  policy_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&table_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&with_check_) -
      reinterpret_cast<char*>(&table_)) + sizeof(with_check_));
}

AlterPolicyStmt::~AlterPolicyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterPolicyStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterPolicyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  policy_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete table_;
  if (this != internal_default_instance()) delete qual_;
  if (this != internal_default_instance()) delete with_check_;
}

void AlterPolicyStmt::ArenaDtor(void* object) {
  AlterPolicyStmt* _this = reinterpret_cast< AlterPolicyStmt* >(object);
  (void)_this;
}
void AlterPolicyStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterPolicyStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterPolicyStmt& AlterPolicyStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterPolicyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterPolicyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  roles_.Clear();
  policy_name_.ClearToEmpty();
  if (GetArena() == nullptr && table_ != nullptr) {
    delete table_;
  }
  table_ = nullptr;
  if (GetArena() == nullptr && qual_ != nullptr) {
    delete qual_;
  }
  qual_ = nullptr;
  if (GetArena() == nullptr && with_check_ != nullptr) {
    delete with_check_;
  }
  with_check_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterPolicyStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string policy_name = 1 [json_name = "policy_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_policy_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterPolicyStmt.policy_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar table = 2 [json_name = "table"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_table(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node roles = 3 [json_name = "roles"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_roles(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node qual = 4 [json_name = "qual"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_qual(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node with_check = 5 [json_name = "with_check"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_check(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterPolicyStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterPolicyStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string policy_name = 1 [json_name = "policy_name"];
  if (this->policy_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_policy_name().data(), static_cast<int>(this->_internal_policy_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterPolicyStmt.policy_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_policy_name(), target);
  }

  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (this->has_table()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::table(this), target, stream);
  }

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_roles_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_roles(i), target, stream);
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (this->has_qual()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::qual(this), target, stream);
  }

  // .pg_query.Node with_check = 5 [json_name = "with_check"];
  if (this->has_with_check()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::with_check(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:pg_query.AlterPolicyStmt)
  return target;
}

size_t AlterPolicyStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterPolicyStmt)
  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 .pg_query.Node roles = 3 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string policy_name = 1 [json_name = "policy_name"];
  if (this->policy_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_policy_name());
  }

  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (this->has_table()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *table_);
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (this->has_qual()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *qual_);
  }

  // .pg_query.Node with_check = 5 [json_name = "with_check"];
  if (this->has_with_check()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *with_check_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterPolicyStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterPolicyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterPolicyStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterPolicyStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterPolicyStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterPolicyStmt)
    MergeFrom(*source);
  }
}

void AlterPolicyStmt::MergeFrom(const AlterPolicyStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterPolicyStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  roles_.MergeFrom(from.roles_);
  if (from.policy_name().size() > 0) {
    _internal_set_policy_name(from._internal_policy_name());
  }
  if (from.has_table()) {
    _internal_mutable_table()->::pg_query::RangeVar::MergeFrom(from._internal_table());
  }
  if (from.has_qual()) {
    _internal_mutable_qual()->::pg_query::Node::MergeFrom(from._internal_qual());
  }
  if (from.has_with_check()) {
    _internal_mutable_with_check()->::pg_query::Node::MergeFrom(from._internal_with_check());
  }
}

void AlterPolicyStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterPolicyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterPolicyStmt::CopyFrom(const AlterPolicyStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterPolicyStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterPolicyStmt::IsInitialized() const {
  return true;
}

void AlterPolicyStmt::InternalSwap(AlterPolicyStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  roles_.InternalSwap(&other->roles_);
  policy_name_.Swap(&other->policy_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, with_check_)
      + sizeof(AlterPolicyStmt::with_check_)
      - PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, table_)>(
          reinterpret_cast<char*>(&table_),
          reinterpret_cast<char*>(&other->table_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterPolicyStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateTransformStmt::_Internal {
 public:
  static const ::pg_query::TypeName& type_name(const CreateTransformStmt* msg);
  static const ::pg_query::ObjectWithArgs& fromsql(const CreateTransformStmt* msg);
  static const ::pg_query::ObjectWithArgs& tosql(const CreateTransformStmt* msg);
};

const ::pg_query::TypeName&
CreateTransformStmt::_Internal::type_name(const CreateTransformStmt* msg) {
  return *msg->type_name_;
}
const ::pg_query::ObjectWithArgs&
CreateTransformStmt::_Internal::fromsql(const CreateTransformStmt* msg) {
  return *msg->fromsql_;
}
const ::pg_query::ObjectWithArgs&
CreateTransformStmt::_Internal::tosql(const CreateTransformStmt* msg) {
  return *msg->tosql_;
}
CreateTransformStmt::CreateTransformStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTransformStmt)
}
CreateTransformStmt::CreateTransformStmt(const CreateTransformStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  lang_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_lang().empty()) {
    lang_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_lang(), 
      GetArena());
  }
  if (from._internal_has_type_name()) {
    type_name_ = new ::pg_query::TypeName(*from.type_name_);
  } else {
    type_name_ = nullptr;
  }
  if (from._internal_has_fromsql()) {
    fromsql_ = new ::pg_query::ObjectWithArgs(*from.fromsql_);
  } else {
    fromsql_ = nullptr;
  }
  if (from._internal_has_tosql()) {
    tosql_ = new ::pg_query::ObjectWithArgs(*from.tosql_);
  } else {
    tosql_ = nullptr;
  }
  replace_ = from.replace_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTransformStmt)
}

void CreateTransformStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  lang_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&type_name_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&replace_) -
      reinterpret_cast<char*>(&type_name_)) + sizeof(replace_));
}

CreateTransformStmt::~CreateTransformStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTransformStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateTransformStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  lang_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete type_name_;
  if (this != internal_default_instance()) delete fromsql_;
  if (this != internal_default_instance()) delete tosql_;
}

void CreateTransformStmt::ArenaDtor(void* object) {
  CreateTransformStmt* _this = reinterpret_cast< CreateTransformStmt* >(object);
  (void)_this;
}
void CreateTransformStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateTransformStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateTransformStmt& CreateTransformStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateTransformStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTransformStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  lang_.ClearToEmpty();
  if (GetArena() == nullptr && type_name_ != nullptr) {
    delete type_name_;
  }
  type_name_ = nullptr;
  if (GetArena() == nullptr && fromsql_ != nullptr) {
    delete fromsql_;
  }
  fromsql_ = nullptr;
  if (GetArena() == nullptr && tosql_ != nullptr) {
    delete tosql_;
  }
  tosql_ = nullptr;
  replace_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTransformStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool replace = 1 [json_name = "replace"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string lang = 3 [json_name = "lang"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_lang();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateTransformStmt.lang"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_fromsql(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_tosql(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateTransformStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTransformStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_replace(), target);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
  if (this->has_type_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::type_name(this), target, stream);
  }

  // string lang = 3 [json_name = "lang"];
  if (this->lang().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_lang().data(), static_cast<int>(this->_internal_lang().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateTransformStmt.lang");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_lang(), target);
  }

  // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
  if (this->has_fromsql()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::fromsql(this), target, stream);
  }

  // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
  if (this->has_tosql()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::tosql(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:pg_query.CreateTransformStmt)
  return target;
}

size_t CreateTransformStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateTransformStmt)
  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 lang = 3 [json_name = "lang"];
  if (this->lang().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_lang());
  }

  // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
  if (this->has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *type_name_);
  }

  // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
  if (this->has_fromsql()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *fromsql_);
  }

  // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
  if (this->has_tosql()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *tosql_);
  }

  // bool replace = 1 [json_name = "replace"];
  if (this->replace() != 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;
}

void CreateTransformStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateTransformStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateTransformStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateTransformStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateTransformStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateTransformStmt)
    MergeFrom(*source);
  }
}

void CreateTransformStmt::MergeFrom(const CreateTransformStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTransformStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.lang().size() > 0) {
    _internal_set_lang(from._internal_lang());
  }
  if (from.has_type_name()) {
    _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
  }
  if (from.has_fromsql()) {
    _internal_mutable_fromsql()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_fromsql());
  }
  if (from.has_tosql()) {
    _internal_mutable_tosql()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_tosql());
  }
  if (from.replace() != 0) {
    _internal_set_replace(from._internal_replace());
  }
}

void CreateTransformStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateTransformStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateTransformStmt::CopyFrom(const CreateTransformStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateTransformStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateTransformStmt::IsInitialized() const {
  return true;
}

void CreateTransformStmt::InternalSwap(CreateTransformStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  lang_.Swap(&other->lang_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTransformStmt, replace_)
      + sizeof(CreateTransformStmt::replace_)
      - PROTOBUF_FIELD_OFFSET(CreateTransformStmt, type_name_)>(
          reinterpret_cast<char*>(&type_name_),
          reinterpret_cast<char*>(&other->type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTransformStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateAmStmt::_Internal {
 public:
};

CreateAmStmt::CreateAmStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  handler_name_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateAmStmt)
}
CreateAmStmt::CreateAmStmt(const CreateAmStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      handler_name_(from.handler_name_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_amname().empty()) {
    amname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_amname(), 
      GetArena());
  }
  amtype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_amtype().empty()) {
    amtype_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_amtype(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateAmStmt)
}

void CreateAmStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  amname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  amtype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CreateAmStmt::~CreateAmStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateAmStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateAmStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  amname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  amtype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateAmStmt::ArenaDtor(void* object) {
  CreateAmStmt* _this = reinterpret_cast< CreateAmStmt* >(object);
  (void)_this;
}
void CreateAmStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateAmStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateAmStmt& CreateAmStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateAmStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateAmStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  handler_name_.Clear();
  amname_.ClearToEmpty();
  amtype_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateAmStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string amname = 1 [json_name = "amname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_amname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateAmStmt.amname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_handler_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // string amtype = 3 [json_name = "amtype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_amtype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateAmStmt.amtype"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateAmStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateAmStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string amname = 1 [json_name = "amname"];
  if (this->amname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_amname().data(), static_cast<int>(this->_internal_amname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateAmStmt.amname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_amname(), target);
  }

  // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_handler_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_handler_name(i), target, stream);
  }

  // string amtype = 3 [json_name = "amtype"];
  if (this->amtype().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_amtype().data(), static_cast<int>(this->_internal_amtype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateAmStmt.amtype");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_amtype(), 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:pg_query.CreateAmStmt)
  return target;
}

size_t CreateAmStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateAmStmt)
  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 .pg_query.Node handler_name = 2 [json_name = "handler_name"];
  total_size += 1UL * this->_internal_handler_name_size();
  for (const auto& msg : this->handler_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 1 [json_name = "amname"];
  if (this->amname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  // string amtype = 3 [json_name = "amtype"];
  if (this->amtype().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amtype());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateAmStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateAmStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateAmStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateAmStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateAmStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateAmStmt)
    MergeFrom(*source);
  }
}

void CreateAmStmt::MergeFrom(const CreateAmStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateAmStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  handler_name_.MergeFrom(from.handler_name_);
  if (from.amname().size() > 0) {
    _internal_set_amname(from._internal_amname());
  }
  if (from.amtype().size() > 0) {
    _internal_set_amtype(from._internal_amtype());
  }
}

void CreateAmStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateAmStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateAmStmt::CopyFrom(const CreateAmStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateAmStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateAmStmt::IsInitialized() const {
  return true;
}

void CreateAmStmt::InternalSwap(CreateAmStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  handler_name_.InternalSwap(&other->handler_name_);
  amname_.Swap(&other->amname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  amtype_.Swap(&other->amtype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateAmStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreatePublicationStmt::_Internal {
 public:
};

CreatePublicationStmt::CreatePublicationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena),
  tables_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePublicationStmt)
}
CreatePublicationStmt::CreatePublicationStmt(const CreatePublicationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_),
      tables_(from.tables_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  pubname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_pubname().empty()) {
    pubname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_pubname(), 
      GetArena());
  }
  for_all_tables_ = from.for_all_tables_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePublicationStmt)
}

void CreatePublicationStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  pubname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  for_all_tables_ = false;
}

CreatePublicationStmt::~CreatePublicationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePublicationStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreatePublicationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  pubname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreatePublicationStmt::ArenaDtor(void* object) {
  CreatePublicationStmt* _this = reinterpret_cast< CreatePublicationStmt* >(object);
  (void)_this;
}
void CreatePublicationStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreatePublicationStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreatePublicationStmt& CreatePublicationStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreatePublicationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePublicationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  tables_.Clear();
  pubname_.ClearToEmpty();
  for_all_tables_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePublicationStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string pubname = 1 [json_name = "pubname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_pubname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreatePublicationStmt.pubname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node tables = 3 [json_name = "tables"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_tables(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // bool for_all_tables = 4 [json_name = "for_all_tables"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          for_all_tables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreatePublicationStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePublicationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string pubname = 1 [json_name = "pubname"];
  if (this->pubname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_pubname().data(), static_cast<int>(this->_internal_pubname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreatePublicationStmt.pubname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_pubname(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(i), target, stream);
  }

  // repeated .pg_query.Node tables = 3 [json_name = "tables"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_tables_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_tables(i), target, stream);
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->for_all_tables() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_for_all_tables(), 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:pg_query.CreatePublicationStmt)
  return target;
}

size_t CreatePublicationStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreatePublicationStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node tables = 3 [json_name = "tables"];
  total_size += 1UL * this->_internal_tables_size();
  for (const auto& msg : this->tables_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string pubname = 1 [json_name = "pubname"];
  if (this->pubname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_pubname());
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->for_all_tables() != 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;
}

void CreatePublicationStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreatePublicationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreatePublicationStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreatePublicationStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreatePublicationStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreatePublicationStmt)
    MergeFrom(*source);
  }
}

void CreatePublicationStmt::MergeFrom(const CreatePublicationStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePublicationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  tables_.MergeFrom(from.tables_);
  if (from.pubname().size() > 0) {
    _internal_set_pubname(from._internal_pubname());
  }
  if (from.for_all_tables() != 0) {
    _internal_set_for_all_tables(from._internal_for_all_tables());
  }
}

void CreatePublicationStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreatePublicationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreatePublicationStmt::CopyFrom(const CreatePublicationStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreatePublicationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreatePublicationStmt::IsInitialized() const {
  return true;
}

void CreatePublicationStmt::InternalSwap(CreatePublicationStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  tables_.InternalSwap(&other->tables_);
  pubname_.Swap(&other->pubname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(for_all_tables_, other->for_all_tables_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePublicationStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterPublicationStmt::_Internal {
 public:
};

AlterPublicationStmt::AlterPublicationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  options_(arena),
  tables_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterPublicationStmt)
}
AlterPublicationStmt::AlterPublicationStmt(const AlterPublicationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      options_(from.options_),
      tables_(from.tables_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  pubname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_pubname().empty()) {
    pubname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_pubname(), 
      GetArena());
  }
  ::memcpy(&for_all_tables_, &from.for_all_tables_,
    static_cast<size_t>(reinterpret_cast<char*>(&table_action_) -
    reinterpret_cast<char*>(&for_all_tables_)) + sizeof(table_action_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterPublicationStmt)
}

void AlterPublicationStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  pubname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&for_all_tables_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&table_action_) -
      reinterpret_cast<char*>(&for_all_tables_)) + sizeof(table_action_));
}

AlterPublicationStmt::~AlterPublicationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterPublicationStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterPublicationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  pubname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterPublicationStmt::ArenaDtor(void* object) {
  AlterPublicationStmt* _this = reinterpret_cast< AlterPublicationStmt* >(object);
  (void)_this;
}
void AlterPublicationStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterPublicationStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterPublicationStmt& AlterPublicationStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterPublicationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterPublicationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  options_.Clear();
  tables_.Clear();
  pubname_.ClearToEmpty();
  ::memset(&for_all_tables_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&table_action_) -
      reinterpret_cast<char*>(&for_all_tables_)) + sizeof(table_action_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterPublicationStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string pubname = 1 [json_name = "pubname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_pubname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterPublicationStmt.pubname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node tables = 3 [json_name = "tables"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_tables(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // bool for_all_tables = 4 [json_name = "for_all_tables"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          for_all_tables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DefElemAction table_action = 5 [json_name = "tableAction"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_table_action(static_cast<::pg_query::DefElemAction>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterPublicationStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterPublicationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string pubname = 1 [json_name = "pubname"];
  if (this->pubname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_pubname().data(), static_cast<int>(this->_internal_pubname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterPublicationStmt.pubname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_pubname(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_options(i), target, stream);
  }

  // repeated .pg_query.Node tables = 3 [json_name = "tables"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_tables_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_tables(i), target, stream);
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->for_all_tables() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_for_all_tables(), target);
  }

  // .pg_query.DefElemAction table_action = 5 [json_name = "tableAction"];
  if (this->table_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      5, this->_internal_table_action(), 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:pg_query.AlterPublicationStmt)
  return target;
}

size_t AlterPublicationStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterPublicationStmt)
  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 .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node tables = 3 [json_name = "tables"];
  total_size += 1UL * this->_internal_tables_size();
  for (const auto& msg : this->tables_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string pubname = 1 [json_name = "pubname"];
  if (this->pubname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_pubname());
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->for_all_tables() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.DefElemAction table_action = 5 [json_name = "tableAction"];
  if (this->table_action() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_table_action());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterPublicationStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterPublicationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterPublicationStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterPublicationStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterPublicationStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterPublicationStmt)
    MergeFrom(*source);
  }
}

void AlterPublicationStmt::MergeFrom(const AlterPublicationStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterPublicationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  options_.MergeFrom(from.options_);
  tables_.MergeFrom(from.tables_);
  if (from.pubname().size() > 0) {
    _internal_set_pubname(from._internal_pubname());
  }
  if (from.for_all_tables() != 0) {
    _internal_set_for_all_tables(from._internal_for_all_tables());
  }
  if (from.table_action() != 0) {
    _internal_set_table_action(from._internal_table_action());
  }
}

void AlterPublicationStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterPublicationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterPublicationStmt::CopyFrom(const AlterPublicationStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterPublicationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterPublicationStmt::IsInitialized() const {
  return true;
}

void AlterPublicationStmt::InternalSwap(AlterPublicationStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  options_.InternalSwap(&other->options_);
  tables_.InternalSwap(&other->tables_);
  pubname_.Swap(&other->pubname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, table_action_)
      + sizeof(AlterPublicationStmt::table_action_)
      - PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, for_all_tables_)>(
          reinterpret_cast<char*>(&for_all_tables_),
          reinterpret_cast<char*>(&other->for_all_tables_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterPublicationStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateSubscriptionStmt::_Internal {
 public:
};

CreateSubscriptionStmt::CreateSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  publication_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSubscriptionStmt)
}
CreateSubscriptionStmt::CreateSubscriptionStmt(const CreateSubscriptionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      publication_(from.publication_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_subname().empty()) {
    subname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_subname(), 
      GetArena());
  }
  conninfo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_conninfo().empty()) {
    conninfo_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_conninfo(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSubscriptionStmt)
}

void CreateSubscriptionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  conninfo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CreateSubscriptionStmt::~CreateSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSubscriptionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateSubscriptionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  subname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  conninfo_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateSubscriptionStmt::ArenaDtor(void* object) {
  CreateSubscriptionStmt* _this = reinterpret_cast< CreateSubscriptionStmt* >(object);
  (void)_this;
}
void CreateSubscriptionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateSubscriptionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateSubscriptionStmt& CreateSubscriptionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSubscriptionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  publication_.Clear();
  options_.Clear();
  subname_.ClearToEmpty();
  conninfo_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateSubscriptionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string subname = 1 [json_name = "subname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_subname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateSubscriptionStmt.subname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string conninfo = 2 [json_name = "conninfo"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_conninfo();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateSubscriptionStmt.conninfo"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node publication = 3 [json_name = "publication"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_publication(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 4 [json_name = "options"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* CreateSubscriptionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSubscriptionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string subname = 1 [json_name = "subname"];
  if (this->subname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_subname().data(), static_cast<int>(this->_internal_subname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateSubscriptionStmt.subname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_subname(), target);
  }

  // string conninfo = 2 [json_name = "conninfo"];
  if (this->conninfo().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_conninfo().data(), static_cast<int>(this->_internal_conninfo().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateSubscriptionStmt.conninfo");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_conninfo(), target);
  }

  // repeated .pg_query.Node publication = 3 [json_name = "publication"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_publication_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_publication(i), target, stream);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_options(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:pg_query.CreateSubscriptionStmt)
  return target;
}

size_t CreateSubscriptionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateSubscriptionStmt)
  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 .pg_query.Node publication = 3 [json_name = "publication"];
  total_size += 1UL * this->_internal_publication_size();
  for (const auto& msg : this->publication_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string subname = 1 [json_name = "subname"];
  if (this->subname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // string conninfo = 2 [json_name = "conninfo"];
  if (this->conninfo().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conninfo());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateSubscriptionStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateSubscriptionStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateSubscriptionStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateSubscriptionStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateSubscriptionStmt)
    MergeFrom(*source);
  }
}

void CreateSubscriptionStmt::MergeFrom(const CreateSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  publication_.MergeFrom(from.publication_);
  options_.MergeFrom(from.options_);
  if (from.subname().size() > 0) {
    _internal_set_subname(from._internal_subname());
  }
  if (from.conninfo().size() > 0) {
    _internal_set_conninfo(from._internal_conninfo());
  }
}

void CreateSubscriptionStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateSubscriptionStmt::CopyFrom(const CreateSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateSubscriptionStmt::IsInitialized() const {
  return true;
}

void CreateSubscriptionStmt::InternalSwap(CreateSubscriptionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  publication_.InternalSwap(&other->publication_);
  options_.InternalSwap(&other->options_);
  subname_.Swap(&other->subname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  conninfo_.Swap(&other->conninfo_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateSubscriptionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterSubscriptionStmt::_Internal {
 public:
};

AlterSubscriptionStmt::AlterSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  publication_(arena),
  options_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSubscriptionStmt)
}
AlterSubscriptionStmt::AlterSubscriptionStmt(const AlterSubscriptionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      publication_(from.publication_),
      options_(from.options_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_subname().empty()) {
    subname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_subname(), 
      GetArena());
  }
  conninfo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_conninfo().empty()) {
    conninfo_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_conninfo(), 
      GetArena());
  }
  kind_ = from.kind_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSubscriptionStmt)
}

void AlterSubscriptionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  conninfo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  kind_ = 0;
}

AlterSubscriptionStmt::~AlterSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSubscriptionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterSubscriptionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  subname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  conninfo_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AlterSubscriptionStmt::ArenaDtor(void* object) {
  AlterSubscriptionStmt* _this = reinterpret_cast< AlterSubscriptionStmt* >(object);
  (void)_this;
}
void AlterSubscriptionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterSubscriptionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterSubscriptionStmt& AlterSubscriptionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSubscriptionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  publication_.Clear();
  options_.Clear();
  subname_.ClearToEmpty();
  conninfo_.ClearToEmpty();
  kind_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterSubscriptionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::AlterSubscriptionType>(val));
        } else goto handle_unusual;
        continue;
      // string subname = 2 [json_name = "subname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_subname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterSubscriptionStmt.subname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string conninfo = 3 [json_name = "conninfo"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_conninfo();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AlterSubscriptionStmt.conninfo"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node publication = 4 [json_name = "publication"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_publication(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 5 [json_name = "options"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), 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 & 7) == 4 || tag == 0) {
          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* AlterSubscriptionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSubscriptionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // string subname = 2 [json_name = "subname"];
  if (this->subname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_subname().data(), static_cast<int>(this->_internal_subname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterSubscriptionStmt.subname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_subname(), target);
  }

  // string conninfo = 3 [json_name = "conninfo"];
  if (this->conninfo().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_conninfo().data(), static_cast<int>(this->_internal_conninfo().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AlterSubscriptionStmt.conninfo");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_conninfo(), target);
  }

  // repeated .pg_query.Node publication = 4 [json_name = "publication"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_publication_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_publication(i), target, stream);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_options(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:pg_query.AlterSubscriptionStmt)
  return target;
}

size_t AlterSubscriptionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterSubscriptionStmt)
  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 .pg_query.Node publication = 4 [json_name = "publication"];
  total_size += 1UL * this->_internal_publication_size();
  for (const auto& msg : this->publication_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string subname = 2 [json_name = "subname"];
  if (this->subname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // string conninfo = 3 [json_name = "conninfo"];
  if (this->conninfo().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conninfo());
  }

  // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_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;
}

void AlterSubscriptionStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterSubscriptionStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterSubscriptionStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterSubscriptionStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterSubscriptionStmt)
    MergeFrom(*source);
  }
}

void AlterSubscriptionStmt::MergeFrom(const AlterSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  publication_.MergeFrom(from.publication_);
  options_.MergeFrom(from.options_);
  if (from.subname().size() > 0) {
    _internal_set_subname(from._internal_subname());
  }
  if (from.conninfo().size() > 0) {
    _internal_set_conninfo(from._internal_conninfo());
  }
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
}

void AlterSubscriptionStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterSubscriptionStmt::CopyFrom(const AlterSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterSubscriptionStmt::IsInitialized() const {
  return true;
}

void AlterSubscriptionStmt::InternalSwap(AlterSubscriptionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  publication_.InternalSwap(&other->publication_);
  options_.InternalSwap(&other->options_);
  subname_.Swap(&other->subname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  conninfo_.Swap(&other->conninfo_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(kind_, other->kind_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterSubscriptionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DropSubscriptionStmt::_Internal {
 public:
};

DropSubscriptionStmt::DropSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropSubscriptionStmt)
}
DropSubscriptionStmt::DropSubscriptionStmt(const DropSubscriptionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_subname().empty()) {
    subname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_subname(), 
      GetArena());
  }
  ::memcpy(&missing_ok_, &from.missing_ok_,
    static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
    reinterpret_cast<char*>(&missing_ok_)) + sizeof(behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DropSubscriptionStmt)
}

void DropSubscriptionStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto.base);
  subname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&missing_ok_)) + sizeof(behavior_));
}

DropSubscriptionStmt::~DropSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropSubscriptionStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DropSubscriptionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  subname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void DropSubscriptionStmt::ArenaDtor(void* object) {
  DropSubscriptionStmt* _this = reinterpret_cast< DropSubscriptionStmt* >(object);
  (void)_this;
}
void DropSubscriptionStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DropSubscriptionStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DropSubscriptionStmt& DropSubscriptionStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DropSubscriptionStmt_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DropSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropSubscriptionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  subname_.ClearToEmpty();
  ::memset(&missing_ok_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&behavior_) -
      reinterpret_cast<char*>(&missing_ok_)) + sizeof(behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropSubscriptionStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string subname = 1 [json_name = "subname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_subname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.DropSubscriptionStmt.subname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 2 [json_name = "missing_ok"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
      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_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DropSubscriptionStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropSubscriptionStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string subname = 1 [json_name = "subname"];
  if (this->subname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_subname().data(), static_cast<int>(this->_internal_subname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DropSubscriptionStmt.subname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_subname(), target);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_behavior(), 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:pg_query.DropSubscriptionStmt)
  return target;
}

size_t DropSubscriptionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropSubscriptionStmt)
  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 subname = 1 [json_name = "subname"];
  if (this->subname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->behavior() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DropSubscriptionStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DropSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const DropSubscriptionStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DropSubscriptionStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DropSubscriptionStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DropSubscriptionStmt)
    MergeFrom(*source);
  }
}

void DropSubscriptionStmt::MergeFrom(const DropSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.subname().size() > 0) {
    _internal_set_subname(from._internal_subname());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from.behavior() != 0) {
    _internal_set_behavior(from._internal_behavior());
  }
}

void DropSubscriptionStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DropSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DropSubscriptionStmt::CopyFrom(const DropSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DropSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DropSubscriptionStmt::IsInitialized() const {
  return true;
}

void DropSubscriptionStmt::InternalSwap(DropSubscriptionStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  subname_.Swap(&other->subname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, behavior_)
      + sizeof(DropSubscriptionStmt::behavior_)
      - PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, missing_ok_)>(
          reinterpret_cast<char*>(&missing_ok_),
          reinterpret_cast<char*>(&other->missing_ok_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DropSubscriptionStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateStatsStmt::_Internal {
 public:
};

CreateStatsStmt::CreateStatsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  defnames_(arena),
  stat_types_(arena),
  exprs_(arena),
  relations_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateStatsStmt)
}
CreateStatsStmt::CreateStatsStmt(const CreateStatsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      defnames_(from.defnames_),
      stat_types_(from.stat_types_),
      exprs_(from.exprs_),
      relations_(from.relations_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  stxcomment_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_stxcomment().empty()) {
    stxcomment_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_stxcomment(), 
      GetArena());
  }
  if_not_exists_ = from.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateStatsStmt)
}

void CreateStatsStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  stxcomment_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if_not_exists_ = false;
}

CreateStatsStmt::~CreateStatsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateStatsStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateStatsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  stxcomment_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreateStatsStmt::ArenaDtor(void* object) {
  CreateStatsStmt* _this = reinterpret_cast< CreateStatsStmt* >(object);
  (void)_this;
}
void CreateStatsStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateStatsStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateStatsStmt& CreateStatsStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateStatsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateStatsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  defnames_.Clear();
  stat_types_.Clear();
  exprs_.Clear();
  relations_.Clear();
  stxcomment_.ClearToEmpty();
  if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateStatsStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_defnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_stat_types(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_exprs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node relations = 4 [json_name = "relations"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_relations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // string stxcomment = 5 [json_name = "stxcomment"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_stxcomment();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CreateStatsStmt.stxcomment"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool if_not_exists = 6 [json_name = "if_not_exists"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateStatsStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateStatsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_defnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_defnames(i), target, stream);
  }

  // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_stat_types_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_stat_types(i), target, stream);
  }

  // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_exprs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_exprs(i), target, stream);
  }

  // repeated .pg_query.Node relations = 4 [json_name = "relations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_relations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_relations(i), target, stream);
  }

  // string stxcomment = 5 [json_name = "stxcomment"];
  if (this->stxcomment().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_stxcomment().data(), static_cast<int>(this->_internal_stxcomment().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CreateStatsStmt.stxcomment");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_stxcomment(), target);
  }

  // bool if_not_exists = 6 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_if_not_exists(), 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:pg_query.CreateStatsStmt)
  return target;
}

size_t CreateStatsStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateStatsStmt)
  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 .pg_query.Node defnames = 1 [json_name = "defnames"];
  total_size += 1UL * this->_internal_defnames_size();
  for (const auto& msg : this->defnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
  total_size += 1UL * this->_internal_stat_types_size();
  for (const auto& msg : this->stat_types_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
  total_size += 1UL * this->_internal_exprs_size();
  for (const auto& msg : this->exprs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node relations = 4 [json_name = "relations"];
  total_size += 1UL * this->_internal_relations_size();
  for (const auto& msg : this->relations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string stxcomment = 5 [json_name = "stxcomment"];
  if (this->stxcomment().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_stxcomment());
  }

  // bool if_not_exists = 6 [json_name = "if_not_exists"];
  if (this->if_not_exists() != 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;
}

void CreateStatsStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateStatsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateStatsStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateStatsStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateStatsStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateStatsStmt)
    MergeFrom(*source);
  }
}

void CreateStatsStmt::MergeFrom(const CreateStatsStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateStatsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  defnames_.MergeFrom(from.defnames_);
  stat_types_.MergeFrom(from.stat_types_);
  exprs_.MergeFrom(from.exprs_);
  relations_.MergeFrom(from.relations_);
  if (from.stxcomment().size() > 0) {
    _internal_set_stxcomment(from._internal_stxcomment());
  }
  if (from.if_not_exists() != 0) {
    _internal_set_if_not_exists(from._internal_if_not_exists());
  }
}

void CreateStatsStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateStatsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateStatsStmt::CopyFrom(const CreateStatsStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateStatsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateStatsStmt::IsInitialized() const {
  return true;
}

void CreateStatsStmt::InternalSwap(CreateStatsStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  defnames_.InternalSwap(&other->defnames_);
  stat_types_.InternalSwap(&other->stat_types_);
  exprs_.InternalSwap(&other->exprs_);
  relations_.InternalSwap(&other->relations_);
  stxcomment_.Swap(&other->stxcomment_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(if_not_exists_, other->if_not_exists_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateStatsStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterCollationStmt::_Internal {
 public:
};

AlterCollationStmt::AlterCollationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  collname_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterCollationStmt)
}
AlterCollationStmt::AlterCollationStmt(const AlterCollationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      collname_(from.collname_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterCollationStmt)
}

void AlterCollationStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
}

AlterCollationStmt::~AlterCollationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterCollationStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterCollationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void AlterCollationStmt::ArenaDtor(void* object) {
  AlterCollationStmt* _this = reinterpret_cast< AlterCollationStmt* >(object);
  (void)_this;
}
void AlterCollationStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterCollationStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterCollationStmt& AlterCollationStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterCollationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterCollationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  collname_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterCollationStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node collname = 1 [json_name = "collname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_collname(), 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 & 7) == 4 || tag == 0) {
          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* AlterCollationStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterCollationStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node collname = 1 [json_name = "collname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_collname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_collname(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:pg_query.AlterCollationStmt)
  return target;
}

size_t AlterCollationStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterCollationStmt)
  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 .pg_query.Node collname = 1 [json_name = "collname"];
  total_size += 1UL * this->_internal_collname_size();
  for (const auto& msg : this->collname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void AlterCollationStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterCollationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterCollationStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterCollationStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterCollationStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterCollationStmt)
    MergeFrom(*source);
  }
}

void AlterCollationStmt::MergeFrom(const AlterCollationStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterCollationStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  collname_.MergeFrom(from.collname_);
}

void AlterCollationStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterCollationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterCollationStmt::CopyFrom(const AlterCollationStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterCollationStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterCollationStmt::IsInitialized() const {
  return true;
}

void AlterCollationStmt::InternalSwap(AlterCollationStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  collname_.InternalSwap(&other->collname_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterCollationStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CallStmt::_Internal {
 public:
  static const ::pg_query::FuncCall& funccall(const CallStmt* msg);
  static const ::pg_query::FuncExpr& funcexpr(const CallStmt* msg);
};

const ::pg_query::FuncCall&
CallStmt::_Internal::funccall(const CallStmt* msg) {
  return *msg->funccall_;
}
const ::pg_query::FuncExpr&
CallStmt::_Internal::funcexpr(const CallStmt* msg) {
  return *msg->funcexpr_;
}
CallStmt::CallStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CallStmt)
}
CallStmt::CallStmt(const CallStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_funccall()) {
    funccall_ = new ::pg_query::FuncCall(*from.funccall_);
  } else {
    funccall_ = nullptr;
  }
  if (from._internal_has_funcexpr()) {
    funcexpr_ = new ::pg_query::FuncExpr(*from.funcexpr_);
  } else {
    funcexpr_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CallStmt)
}

void CallStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&funccall_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&funcexpr_) -
      reinterpret_cast<char*>(&funccall_)) + sizeof(funcexpr_));
}

CallStmt::~CallStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CallStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CallStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete funccall_;
  if (this != internal_default_instance()) delete funcexpr_;
}

void CallStmt::ArenaDtor(void* object) {
  CallStmt* _this = reinterpret_cast< CallStmt* >(object);
  (void)_this;
}
void CallStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CallStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CallStmt& CallStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CallStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CallStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && funccall_ != nullptr) {
    delete funccall_;
  }
  funccall_ = nullptr;
  if (GetArena() == nullptr && funcexpr_ != nullptr) {
    delete funcexpr_;
  }
  funcexpr_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CallStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_funccall(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_funcexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CallStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CallStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
  if (this->has_funccall()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::funccall(this), target, stream);
  }

  // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
  if (this->has_funcexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::funcexpr(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:pg_query.CallStmt)
  return target;
}

size_t CallStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CallStmt)
  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;

  // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
  if (this->has_funccall()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *funccall_);
  }

  // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
  if (this->has_funcexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *funcexpr_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CallStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CallStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const CallStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CallStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CallStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CallStmt)
    MergeFrom(*source);
  }
}

void CallStmt::MergeFrom(const CallStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CallStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_funccall()) {
    _internal_mutable_funccall()->::pg_query::FuncCall::MergeFrom(from._internal_funccall());
  }
  if (from.has_funcexpr()) {
    _internal_mutable_funcexpr()->::pg_query::FuncExpr::MergeFrom(from._internal_funcexpr());
  }
}

void CallStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CallStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CallStmt::CopyFrom(const CallStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CallStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CallStmt::IsInitialized() const {
  return true;
}

void CallStmt::InternalSwap(CallStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CallStmt, funcexpr_)
      + sizeof(CallStmt::funcexpr_)
      - PROTOBUF_FIELD_OFFSET(CallStmt, funccall_)>(
          reinterpret_cast<char*>(&funccall_),
          reinterpret_cast<char*>(&other->funccall_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CallStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AlterStatsStmt::_Internal {
 public:
};

AlterStatsStmt::AlterStatsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  defnames_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterStatsStmt)
}
AlterStatsStmt::AlterStatsStmt(const AlterStatsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      defnames_(from.defnames_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&stxstattarget_, &from.stxstattarget_,
    static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
    reinterpret_cast<char*>(&stxstattarget_)) + sizeof(missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterStatsStmt)
}

void AlterStatsStmt::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&stxstattarget_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&stxstattarget_)) + sizeof(missing_ok_));
}

AlterStatsStmt::~AlterStatsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterStatsStmt)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AlterStatsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void AlterStatsStmt::ArenaDtor(void* object) {
  AlterStatsStmt* _this = reinterpret_cast< AlterStatsStmt* >(object);
  (void)_this;
}
void AlterStatsStmt::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AlterStatsStmt::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AlterStatsStmt& AlterStatsStmt::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AlterStatsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterStatsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  defnames_.Clear();
  ::memset(&stxstattarget_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&missing_ok_) -
      reinterpret_cast<char*>(&stxstattarget_)) + sizeof(missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterStatsStmt::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_defnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 stxstattarget = 2 [json_name = "stxstattarget"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          stxstattarget_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool missing_ok = 3 [json_name = "missing_ok"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* AlterStatsStmt::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterStatsStmt)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_defnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_defnames(i), target, stream);
  }

  // int32 stxstattarget = 2 [json_name = "stxstattarget"];
  if (this->stxstattarget() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_stxstattarget(), target);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_missing_ok(), 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:pg_query.AlterStatsStmt)
  return target;
}

size_t AlterStatsStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterStatsStmt)
  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 .pg_query.Node defnames = 1 [json_name = "defnames"];
  total_size += 1UL * this->_internal_defnames_size();
  for (const auto& msg : this->defnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 stxstattarget = 2 [json_name = "stxstattarget"];
  if (this->stxstattarget() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_stxstattarget());
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->missing_ok() != 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;
}

void AlterStatsStmt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AlterStatsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  const AlterStatsStmt* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AlterStatsStmt>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AlterStatsStmt)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AlterStatsStmt)
    MergeFrom(*source);
  }
}

void AlterStatsStmt::MergeFrom(const AlterStatsStmt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterStatsStmt)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  defnames_.MergeFrom(from.defnames_);
  if (from.stxstattarget() != 0) {
    _internal_set_stxstattarget(from._internal_stxstattarget());
  }
  if (from.missing_ok() != 0) {
    _internal_set_missing_ok(from._internal_missing_ok());
  }
}

void AlterStatsStmt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AlterStatsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AlterStatsStmt::CopyFrom(const AlterStatsStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterStatsStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterStatsStmt::IsInitialized() const {
  return true;
}

void AlterStatsStmt::InternalSwap(AlterStatsStmt* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  defnames_.InternalSwap(&other->defnames_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterStatsStmt, missing_ok_)
      + sizeof(AlterStatsStmt::missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterStatsStmt, stxstattarget_)>(
          reinterpret_cast<char*>(&stxstattarget_),
          reinterpret_cast<char*>(&other->stxstattarget_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterStatsStmt::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class A_Expr::_Internal {
 public:
  static const ::pg_query::Node& lexpr(const A_Expr* msg);
  static const ::pg_query::Node& rexpr(const A_Expr* msg);
};

const ::pg_query::Node&
A_Expr::_Internal::lexpr(const A_Expr* msg) {
  return *msg->lexpr_;
}
const ::pg_query::Node&
A_Expr::_Internal::rexpr(const A_Expr* msg) {
  return *msg->rexpr_;
}
A_Expr::A_Expr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  name_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Expr)
}
A_Expr::A_Expr(const A_Expr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      name_(from.name_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_lexpr()) {
    lexpr_ = new ::pg_query::Node(*from.lexpr_);
  } else {
    lexpr_ = nullptr;
  }
  if (from._internal_has_rexpr()) {
    rexpr_ = new ::pg_query::Node(*from.rexpr_);
  } else {
    rexpr_ = nullptr;
  }
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Expr)
}

void A_Expr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&lexpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&lexpr_)) + sizeof(location_));
}

A_Expr::~A_Expr() {
  // @@protoc_insertion_point(destructor:pg_query.A_Expr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void A_Expr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete lexpr_;
  if (this != internal_default_instance()) delete rexpr_;
}

void A_Expr::ArenaDtor(void* object) {
  A_Expr* _this = reinterpret_cast< A_Expr* >(object);
  (void)_this;
}
void A_Expr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void A_Expr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const A_Expr& A_Expr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void A_Expr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Expr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.Clear();
  if (GetArena() == nullptr && lexpr_ != nullptr) {
    delete lexpr_;
  }
  lexpr_ = nullptr;
  if (GetArena() == nullptr && rexpr_ != nullptr) {
    delete rexpr_;
  }
  rexpr_ = nullptr;
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Expr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::A_Expr_Kind>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_name(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_lexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_rexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* A_Expr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Expr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node name = 2 [json_name = "name"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_name_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_name(i), target, stream);
  }

  // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
  if (this->has_lexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::lexpr(this), target, stream);
  }

  // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
  if (this->has_rexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::rexpr(this), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.A_Expr)
  return target;
}

size_t A_Expr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.A_Expr)
  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 .pg_query.Node name = 2 [json_name = "name"];
  total_size += 1UL * this->_internal_name_size();
  for (const auto& msg : this->name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
  if (this->has_lexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *lexpr_);
  }

  // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
  if (this->has_rexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *rexpr_);
  }

  // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void A_Expr::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.A_Expr)
  GOOGLE_DCHECK_NE(&from, this);
  const A_Expr* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<A_Expr>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.A_Expr)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.A_Expr)
    MergeFrom(*source);
  }
}

void A_Expr::MergeFrom(const A_Expr& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Expr)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  name_.MergeFrom(from.name_);
  if (from.has_lexpr()) {
    _internal_mutable_lexpr()->::pg_query::Node::MergeFrom(from._internal_lexpr());
  }
  if (from.has_rexpr()) {
    _internal_mutable_rexpr()->::pg_query::Node::MergeFrom(from._internal_rexpr());
  }
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void A_Expr::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.A_Expr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void A_Expr::CopyFrom(const A_Expr& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.A_Expr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool A_Expr::IsInitialized() const {
  return true;
}

void A_Expr::InternalSwap(A_Expr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.InternalSwap(&other->name_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Expr, location_)
      + sizeof(A_Expr::location_)
      - PROTOBUF_FIELD_OFFSET(A_Expr, lexpr_)>(
          reinterpret_cast<char*>(&lexpr_),
          reinterpret_cast<char*>(&other->lexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Expr::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ColumnRef::_Internal {
 public:
};

ColumnRef::ColumnRef(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  fields_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ColumnRef)
}
ColumnRef::ColumnRef(const ColumnRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      fields_(from.fields_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ColumnRef)
}

void ColumnRef::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  location_ = 0;
}

ColumnRef::~ColumnRef() {
  // @@protoc_insertion_point(destructor:pg_query.ColumnRef)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ColumnRef::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void ColumnRef::ArenaDtor(void* object) {
  ColumnRef* _this = reinterpret_cast< ColumnRef* >(object);
  (void)_this;
}
void ColumnRef::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ColumnRef::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ColumnRef& ColumnRef::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ColumnRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ColumnRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  fields_.Clear();
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ColumnRef::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node fields = 1 [json_name = "fields"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          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<10>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 2 [json_name = "location"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ColumnRef::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ColumnRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node fields = 1 [json_name = "fields"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_fields_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_fields(i), target, stream);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_location(), 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:pg_query.ColumnRef)
  return target;
}

size_t ColumnRef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ColumnRef)
  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 .pg_query.Node fields = 1 [json_name = "fields"];
  total_size += 1UL * this->_internal_fields_size();
  for (const auto& msg : this->fields_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ColumnRef::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ColumnRef)
  GOOGLE_DCHECK_NE(&from, this);
  const ColumnRef* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ColumnRef>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ColumnRef)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ColumnRef)
    MergeFrom(*source);
  }
}

void ColumnRef::MergeFrom(const ColumnRef& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ColumnRef)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  fields_.MergeFrom(from.fields_);
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void ColumnRef::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ColumnRef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ColumnRef::CopyFrom(const ColumnRef& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ColumnRef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ColumnRef::IsInitialized() const {
  return true;
}

void ColumnRef::InternalSwap(ColumnRef* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  fields_.InternalSwap(&other->fields_);
  swap(location_, other->location_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ColumnRef::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ParamRef::_Internal {
 public:
};

ParamRef::ParamRef(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ParamRef)
}
ParamRef::ParamRef(const ParamRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&number_, &from.number_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&number_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ParamRef)
}

void ParamRef::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&number_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&number_)) + sizeof(location_));
}

ParamRef::~ParamRef() {
  // @@protoc_insertion_point(destructor:pg_query.ParamRef)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ParamRef::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void ParamRef::ArenaDtor(void* object) {
  ParamRef* _this = reinterpret_cast< ParamRef* >(object);
  (void)_this;
}
void ParamRef::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ParamRef::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ParamRef& ParamRef::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ParamRef_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ParamRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ParamRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&number_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&number_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ParamRef::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 number = 1 [json_name = "number"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 2 [json_name = "location"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ParamRef::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ParamRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 number = 1 [json_name = "number"];
  if (this->number() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_number(), target);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_location(), 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:pg_query.ParamRef)
  return target;
}

size_t ParamRef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ParamRef)
  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;

  // int32 number = 1 [json_name = "number"];
  if (this->number() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_number());
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ParamRef::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ParamRef)
  GOOGLE_DCHECK_NE(&from, this);
  const ParamRef* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ParamRef>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ParamRef)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ParamRef)
    MergeFrom(*source);
  }
}

void ParamRef::MergeFrom(const ParamRef& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ParamRef)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.number() != 0) {
    _internal_set_number(from._internal_number());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void ParamRef::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ParamRef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ParamRef::CopyFrom(const ParamRef& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ParamRef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ParamRef::IsInitialized() const {
  return true;
}

void ParamRef::InternalSwap(ParamRef* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ParamRef, location_)
      + sizeof(ParamRef::location_)
      - PROTOBUF_FIELD_OFFSET(ParamRef, number_)>(
          reinterpret_cast<char*>(&number_),
          reinterpret_cast<char*>(&other->number_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ParamRef::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class A_Const::_Internal {
 public:
  static const ::pg_query::Node& val(const A_Const* msg);
};

const ::pg_query::Node&
A_Const::_Internal::val(const A_Const* msg) {
  return *msg->val_;
}
A_Const::A_Const(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Const)
}
A_Const::A_Const(const A_Const& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_val()) {
    val_ = new ::pg_query::Node(*from.val_);
  } else {
    val_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Const)
}

void A_Const::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&val_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&val_)) + sizeof(location_));
}

A_Const::~A_Const() {
  // @@protoc_insertion_point(destructor:pg_query.A_Const)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void A_Const::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete val_;
}

void A_Const::ArenaDtor(void* object) {
  A_Const* _this = reinterpret_cast< A_Const* >(object);
  (void)_this;
}
void A_Const::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void A_Const::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const A_Const& A_Const::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void A_Const::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Const)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && val_ != nullptr) {
    delete val_;
  }
  val_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Const::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node val = 1 [json_name = "val"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_val(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 2 [json_name = "location"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* A_Const::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Const)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node val = 1 [json_name = "val"];
  if (this->has_val()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::val(this), target, stream);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_location(), 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:pg_query.A_Const)
  return target;
}

size_t A_Const::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.A_Const)
  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;

  // .pg_query.Node val = 1 [json_name = "val"];
  if (this->has_val()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *val_);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void A_Const::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.A_Const)
  GOOGLE_DCHECK_NE(&from, this);
  const A_Const* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<A_Const>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.A_Const)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.A_Const)
    MergeFrom(*source);
  }
}

void A_Const::MergeFrom(const A_Const& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Const)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_val()) {
    _internal_mutable_val()->::pg_query::Node::MergeFrom(from._internal_val());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void A_Const::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.A_Const)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void A_Const::CopyFrom(const A_Const& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.A_Const)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool A_Const::IsInitialized() const {
  return true;
}

void A_Const::InternalSwap(A_Const* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Const, location_)
      + sizeof(A_Const::location_)
      - PROTOBUF_FIELD_OFFSET(A_Const, val_)>(
          reinterpret_cast<char*>(&val_),
          reinterpret_cast<char*>(&other->val_));
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Const::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class FuncCall::_Internal {
 public:
  static const ::pg_query::Node& agg_filter(const FuncCall* msg);
  static const ::pg_query::WindowDef& over(const FuncCall* msg);
};

const ::pg_query::Node&
FuncCall::_Internal::agg_filter(const FuncCall* msg) {
  return *msg->agg_filter_;
}
const ::pg_query::WindowDef&
FuncCall::_Internal::over(const FuncCall* msg) {
  return *msg->over_;
}
FuncCall::FuncCall(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  funcname_(arena),
  args_(arena),
  agg_order_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FuncCall)
}
FuncCall::FuncCall(const FuncCall& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      funcname_(from.funcname_),
      args_(from.args_),
      agg_order_(from.agg_order_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_agg_filter()) {
    agg_filter_ = new ::pg_query::Node(*from.agg_filter_);
  } else {
    agg_filter_ = nullptr;
  }
  if (from._internal_has_over()) {
    over_ = new ::pg_query::WindowDef(*from.over_);
  } else {
    over_ = nullptr;
  }
  ::memcpy(&agg_within_group_, &from.agg_within_group_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&agg_within_group_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FuncCall)
}

void FuncCall::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&agg_filter_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&agg_filter_)) + sizeof(location_));
}

FuncCall::~FuncCall() {
  // @@protoc_insertion_point(destructor:pg_query.FuncCall)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void FuncCall::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete agg_filter_;
  if (this != internal_default_instance()) delete over_;
}

void FuncCall::ArenaDtor(void* object) {
  FuncCall* _this = reinterpret_cast< FuncCall* >(object);
  (void)_this;
}
void FuncCall::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void FuncCall::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FuncCall& FuncCall::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void FuncCall::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FuncCall)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  funcname_.Clear();
  args_.Clear();
  agg_order_.Clear();
  if (GetArena() == nullptr && agg_filter_ != nullptr) {
    delete agg_filter_;
  }
  agg_filter_ = nullptr;
  if (GetArena() == nullptr && over_ != nullptr) {
    delete over_;
  }
  over_ = nullptr;
  ::memset(&agg_within_group_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&agg_within_group_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FuncCall::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funcname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 2 [json_name = "args"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_agg_order(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_agg_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool agg_within_group = 5 [json_name = "agg_within_group"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          agg_within_group_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool agg_star = 6 [json_name = "agg_star"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          agg_star_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool agg_distinct = 7 [json_name = "agg_distinct"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          agg_distinct_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool func_variadic = 8 [json_name = "func_variadic"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          func_variadic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.WindowDef over = 9 [json_name = "over"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_over(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 10 [json_name = "location"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* FuncCall::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FuncCall)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funcname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_funcname(i), target, stream);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_args(i), target, stream);
  }

  // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_agg_order_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_agg_order(i), target, stream);
  }

  // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
  if (this->has_agg_filter()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::agg_filter(this), target, stream);
  }

  // bool agg_within_group = 5 [json_name = "agg_within_group"];
  if (this->agg_within_group() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_agg_within_group(), target);
  }

  // bool agg_star = 6 [json_name = "agg_star"];
  if (this->agg_star() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_agg_star(), target);
  }

  // bool agg_distinct = 7 [json_name = "agg_distinct"];
  if (this->agg_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_agg_distinct(), target);
  }

  // bool func_variadic = 8 [json_name = "func_variadic"];
  if (this->func_variadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(8, this->_internal_func_variadic(), target);
  }

  // .pg_query.WindowDef over = 9 [json_name = "over"];
  if (this->has_over()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        9, _Internal::over(this), target, stream);
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_location(), 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:pg_query.FuncCall)
  return target;
}

size_t FuncCall::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.FuncCall)
  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 .pg_query.Node funcname = 1 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->funcname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
  total_size += 1UL * this->_internal_agg_order_size();
  for (const auto& msg : this->agg_order_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
  if (this->has_agg_filter()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *agg_filter_);
  }

  // .pg_query.WindowDef over = 9 [json_name = "over"];
  if (this->has_over()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *over_);
  }

  // bool agg_within_group = 5 [json_name = "agg_within_group"];
  if (this->agg_within_group() != 0) {
    total_size += 1 + 1;
  }

  // bool agg_star = 6 [json_name = "agg_star"];
  if (this->agg_star() != 0) {
    total_size += 1 + 1;
  }

  // bool agg_distinct = 7 [json_name = "agg_distinct"];
  if (this->agg_distinct() != 0) {
    total_size += 1 + 1;
  }

  // bool func_variadic = 8 [json_name = "func_variadic"];
  if (this->func_variadic() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 10 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void FuncCall::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.FuncCall)
  GOOGLE_DCHECK_NE(&from, this);
  const FuncCall* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<FuncCall>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.FuncCall)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.FuncCall)
    MergeFrom(*source);
  }
}

void FuncCall::MergeFrom(const FuncCall& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FuncCall)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  funcname_.MergeFrom(from.funcname_);
  args_.MergeFrom(from.args_);
  agg_order_.MergeFrom(from.agg_order_);
  if (from.has_agg_filter()) {
    _internal_mutable_agg_filter()->::pg_query::Node::MergeFrom(from._internal_agg_filter());
  }
  if (from.has_over()) {
    _internal_mutable_over()->::pg_query::WindowDef::MergeFrom(from._internal_over());
  }
  if (from.agg_within_group() != 0) {
    _internal_set_agg_within_group(from._internal_agg_within_group());
  }
  if (from.agg_star() != 0) {
    _internal_set_agg_star(from._internal_agg_star());
  }
  if (from.agg_distinct() != 0) {
    _internal_set_agg_distinct(from._internal_agg_distinct());
  }
  if (from.func_variadic() != 0) {
    _internal_set_func_variadic(from._internal_func_variadic());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void FuncCall::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.FuncCall)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void FuncCall::CopyFrom(const FuncCall& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.FuncCall)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FuncCall::IsInitialized() const {
  return true;
}

void FuncCall::InternalSwap(FuncCall* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  funcname_.InternalSwap(&other->funcname_);
  args_.InternalSwap(&other->args_);
  agg_order_.InternalSwap(&other->agg_order_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FuncCall, location_)
      + sizeof(FuncCall::location_)
      - PROTOBUF_FIELD_OFFSET(FuncCall, agg_filter_)>(
          reinterpret_cast<char*>(&agg_filter_),
          reinterpret_cast<char*>(&other->agg_filter_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FuncCall::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class A_Star::_Internal {
 public:
};

A_Star::A_Star(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Star)
}
A_Star::A_Star(const A_Star& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Star)
}

void A_Star::SharedCtor() {
}

A_Star::~A_Star() {
  // @@protoc_insertion_point(destructor:pg_query.A_Star)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void A_Star::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void A_Star::ArenaDtor(void* object) {
  A_Star* _this = reinterpret_cast< A_Star* >(object);
  (void)_this;
}
void A_Star::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void A_Star::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const A_Star& A_Star::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_Star_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void A_Star::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Star)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Star::_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);
    CHK_(ptr);
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* A_Star::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Star)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.A_Star)
  return target;
}

size_t A_Star::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.A_Star)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void A_Star::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.A_Star)
  GOOGLE_DCHECK_NE(&from, this);
  const A_Star* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<A_Star>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.A_Star)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.A_Star)
    MergeFrom(*source);
  }
}

void A_Star::MergeFrom(const A_Star& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Star)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

}

void A_Star::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.A_Star)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void A_Star::CopyFrom(const A_Star& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.A_Star)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool A_Star::IsInitialized() const {
  return true;
}

void A_Star::InternalSwap(A_Star* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Star::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class A_Indices::_Internal {
 public:
  static const ::pg_query::Node& lidx(const A_Indices* msg);
  static const ::pg_query::Node& uidx(const A_Indices* msg);
};

const ::pg_query::Node&
A_Indices::_Internal::lidx(const A_Indices* msg) {
  return *msg->lidx_;
}
const ::pg_query::Node&
A_Indices::_Internal::uidx(const A_Indices* msg) {
  return *msg->uidx_;
}
A_Indices::A_Indices(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Indices)
}
A_Indices::A_Indices(const A_Indices& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_lidx()) {
    lidx_ = new ::pg_query::Node(*from.lidx_);
  } else {
    lidx_ = nullptr;
  }
  if (from._internal_has_uidx()) {
    uidx_ = new ::pg_query::Node(*from.uidx_);
  } else {
    uidx_ = nullptr;
  }
  is_slice_ = from.is_slice_;
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Indices)
}

void A_Indices::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&lidx_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&is_slice_) -
      reinterpret_cast<char*>(&lidx_)) + sizeof(is_slice_));
}

A_Indices::~A_Indices() {
  // @@protoc_insertion_point(destructor:pg_query.A_Indices)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void A_Indices::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete lidx_;
  if (this != internal_default_instance()) delete uidx_;
}

void A_Indices::ArenaDtor(void* object) {
  A_Indices* _this = reinterpret_cast< A_Indices* >(object);
  (void)_this;
}
void A_Indices::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void A_Indices::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const A_Indices& A_Indices::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void A_Indices::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Indices)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && lidx_ != nullptr) {
    delete lidx_;
  }
  lidx_ = nullptr;
  if (GetArena() == nullptr && uidx_ != nullptr) {
    delete uidx_;
  }
  uidx_ = nullptr;
  is_slice_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Indices::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool is_slice = 1 [json_name = "is_slice"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          is_slice_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node lidx = 2 [json_name = "lidx"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_lidx(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node uidx = 3 [json_name = "uidx"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_uidx(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* A_Indices::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Indices)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool is_slice = 1 [json_name = "is_slice"];
  if (this->is_slice() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_is_slice(), target);
  }

  // .pg_query.Node lidx = 2 [json_name = "lidx"];
  if (this->has_lidx()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::lidx(this), target, stream);
  }

  // .pg_query.Node uidx = 3 [json_name = "uidx"];
  if (this->has_uidx()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::uidx(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:pg_query.A_Indices)
  return target;
}

size_t A_Indices::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.A_Indices)
  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;

  // .pg_query.Node lidx = 2 [json_name = "lidx"];
  if (this->has_lidx()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *lidx_);
  }

  // .pg_query.Node uidx = 3 [json_name = "uidx"];
  if (this->has_uidx()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *uidx_);
  }

  // bool is_slice = 1 [json_name = "is_slice"];
  if (this->is_slice() != 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;
}

void A_Indices::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.A_Indices)
  GOOGLE_DCHECK_NE(&from, this);
  const A_Indices* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<A_Indices>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.A_Indices)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.A_Indices)
    MergeFrom(*source);
  }
}

void A_Indices::MergeFrom(const A_Indices& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Indices)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_lidx()) {
    _internal_mutable_lidx()->::pg_query::Node::MergeFrom(from._internal_lidx());
  }
  if (from.has_uidx()) {
    _internal_mutable_uidx()->::pg_query::Node::MergeFrom(from._internal_uidx());
  }
  if (from.is_slice() != 0) {
    _internal_set_is_slice(from._internal_is_slice());
  }
}

void A_Indices::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.A_Indices)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void A_Indices::CopyFrom(const A_Indices& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.A_Indices)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool A_Indices::IsInitialized() const {
  return true;
}

void A_Indices::InternalSwap(A_Indices* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Indices, is_slice_)
      + sizeof(A_Indices::is_slice_)
      - PROTOBUF_FIELD_OFFSET(A_Indices, lidx_)>(
          reinterpret_cast<char*>(&lidx_),
          reinterpret_cast<char*>(&other->lidx_));
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Indices::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class A_Indirection::_Internal {
 public:
  static const ::pg_query::Node& arg(const A_Indirection* msg);
};

const ::pg_query::Node&
A_Indirection::_Internal::arg(const A_Indirection* msg) {
  return *msg->arg_;
}
A_Indirection::A_Indirection(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  indirection_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Indirection)
}
A_Indirection::A_Indirection(const A_Indirection& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      indirection_(from.indirection_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Indirection)
}

void A_Indirection::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  arg_ = nullptr;
}

A_Indirection::~A_Indirection() {
  // @@protoc_insertion_point(destructor:pg_query.A_Indirection)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void A_Indirection::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete arg_;
}

void A_Indirection::ArenaDtor(void* object) {
  A_Indirection* _this = reinterpret_cast< A_Indirection* >(object);
  (void)_this;
}
void A_Indirection::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void A_Indirection::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const A_Indirection& A_Indirection::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void A_Indirection::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Indirection)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  indirection_.Clear();
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Indirection::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node arg = 1 [json_name = "arg"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_indirection(), 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 & 7) == 4 || tag == 0) {
          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* A_Indirection::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Indirection)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::arg(this), target, stream);
  }

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_indirection_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_indirection(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:pg_query.A_Indirection)
  return target;
}

size_t A_Indirection::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.A_Indirection)
  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 .pg_query.Node indirection = 2 [json_name = "indirection"];
  total_size += 1UL * this->_internal_indirection_size();
  for (const auto& msg : this->indirection_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void A_Indirection::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.A_Indirection)
  GOOGLE_DCHECK_NE(&from, this);
  const A_Indirection* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<A_Indirection>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.A_Indirection)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.A_Indirection)
    MergeFrom(*source);
  }
}

void A_Indirection::MergeFrom(const A_Indirection& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Indirection)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  indirection_.MergeFrom(from.indirection_);
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
}

void A_Indirection::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.A_Indirection)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void A_Indirection::CopyFrom(const A_Indirection& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.A_Indirection)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool A_Indirection::IsInitialized() const {
  return true;
}

void A_Indirection::InternalSwap(A_Indirection* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  indirection_.InternalSwap(&other->indirection_);
  swap(arg_, other->arg_);
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Indirection::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class A_ArrayExpr::_Internal {
 public:
};

A_ArrayExpr::A_ArrayExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  elements_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_ArrayExpr)
}
A_ArrayExpr::A_ArrayExpr(const A_ArrayExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      elements_(from.elements_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.A_ArrayExpr)
}

void A_ArrayExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  location_ = 0;
}

A_ArrayExpr::~A_ArrayExpr() {
  // @@protoc_insertion_point(destructor:pg_query.A_ArrayExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void A_ArrayExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void A_ArrayExpr::ArenaDtor(void* object) {
  A_ArrayExpr* _this = reinterpret_cast< A_ArrayExpr* >(object);
  (void)_this;
}
void A_ArrayExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void A_ArrayExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const A_ArrayExpr& A_ArrayExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void A_ArrayExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_ArrayExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  elements_.Clear();
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_ArrayExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node elements = 1 [json_name = "elements"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_elements(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 2 [json_name = "location"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* A_ArrayExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_ArrayExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node elements = 1 [json_name = "elements"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_elements_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_elements(i), target, stream);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_location(), 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:pg_query.A_ArrayExpr)
  return target;
}

size_t A_ArrayExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.A_ArrayExpr)
  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 .pg_query.Node elements = 1 [json_name = "elements"];
  total_size += 1UL * this->_internal_elements_size();
  for (const auto& msg : this->elements_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void A_ArrayExpr::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.A_ArrayExpr)
  GOOGLE_DCHECK_NE(&from, this);
  const A_ArrayExpr* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<A_ArrayExpr>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.A_ArrayExpr)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.A_ArrayExpr)
    MergeFrom(*source);
  }
}

void A_ArrayExpr::MergeFrom(const A_ArrayExpr& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_ArrayExpr)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  elements_.MergeFrom(from.elements_);
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void A_ArrayExpr::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.A_ArrayExpr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void A_ArrayExpr::CopyFrom(const A_ArrayExpr& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.A_ArrayExpr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool A_ArrayExpr::IsInitialized() const {
  return true;
}

void A_ArrayExpr::InternalSwap(A_ArrayExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  elements_.InternalSwap(&other->elements_);
  swap(location_, other->location_);
}

::PROTOBUF_NAMESPACE_ID::Metadata A_ArrayExpr::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ResTarget::_Internal {
 public:
  static const ::pg_query::Node& val(const ResTarget* msg);
};

const ::pg_query::Node&
ResTarget::_Internal::val(const ResTarget* msg) {
  return *msg->val_;
}
ResTarget::ResTarget(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  indirection_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ResTarget)
}
ResTarget::ResTarget(const ResTarget& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      indirection_(from.indirection_) {
  _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(), 
      GetArena());
  }
  if (from._internal_has_val()) {
    val_ = new ::pg_query::Node(*from.val_);
  } else {
    val_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ResTarget)
}

void ResTarget::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&val_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&val_)) + sizeof(location_));
}

ResTarget::~ResTarget() {
  // @@protoc_insertion_point(destructor:pg_query.ResTarget)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ResTarget::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete val_;
}

void ResTarget::ArenaDtor(void* object) {
  ResTarget* _this = reinterpret_cast< ResTarget* >(object);
  (void)_this;
}
void ResTarget::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ResTarget::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ResTarget& ResTarget::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ResTarget::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ResTarget)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  indirection_.Clear();
  name_.ClearToEmpty();
  if (GetArena() == nullptr && val_ != nullptr) {
    delete val_;
  }
  val_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ResTarget::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.ResTarget.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_indirection(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node val = 3 [json_name = "val"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_val(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ResTarget::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ResTarget)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ResTarget.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_indirection_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_indirection(i), target, stream);
  }

  // .pg_query.Node val = 3 [json_name = "val"];
  if (this->has_val()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::val(this), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), 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:pg_query.ResTarget)
  return target;
}

size_t ResTarget::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ResTarget)
  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 .pg_query.Node indirection = 2 [json_name = "indirection"];
  total_size += 1UL * this->_internal_indirection_size();
  for (const auto& msg : this->indirection_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node val = 3 [json_name = "val"];
  if (this->has_val()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *val_);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ResTarget::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ResTarget)
  GOOGLE_DCHECK_NE(&from, this);
  const ResTarget* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ResTarget>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ResTarget)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ResTarget)
    MergeFrom(*source);
  }
}

void ResTarget::MergeFrom(const ResTarget& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ResTarget)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  indirection_.MergeFrom(from.indirection_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_val()) {
    _internal_mutable_val()->::pg_query::Node::MergeFrom(from._internal_val());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void ResTarget::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ResTarget)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ResTarget::CopyFrom(const ResTarget& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ResTarget)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ResTarget::IsInitialized() const {
  return true;
}

void ResTarget::InternalSwap(ResTarget* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  indirection_.InternalSwap(&other->indirection_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ResTarget, location_)
      + sizeof(ResTarget::location_)
      - PROTOBUF_FIELD_OFFSET(ResTarget, val_)>(
          reinterpret_cast<char*>(&val_),
          reinterpret_cast<char*>(&other->val_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ResTarget::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class MultiAssignRef::_Internal {
 public:
  static const ::pg_query::Node& source(const MultiAssignRef* msg);
};

const ::pg_query::Node&
MultiAssignRef::_Internal::source(const MultiAssignRef* msg) {
  return *msg->source_;
}
MultiAssignRef::MultiAssignRef(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MultiAssignRef)
}
MultiAssignRef::MultiAssignRef(const MultiAssignRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_source()) {
    source_ = new ::pg_query::Node(*from.source_);
  } else {
    source_ = nullptr;
  }
  ::memcpy(&colno_, &from.colno_,
    static_cast<size_t>(reinterpret_cast<char*>(&ncolumns_) -
    reinterpret_cast<char*>(&colno_)) + sizeof(ncolumns_));
  // @@protoc_insertion_point(copy_constructor:pg_query.MultiAssignRef)
}

void MultiAssignRef::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&source_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&ncolumns_) -
      reinterpret_cast<char*>(&source_)) + sizeof(ncolumns_));
}

MultiAssignRef::~MultiAssignRef() {
  // @@protoc_insertion_point(destructor:pg_query.MultiAssignRef)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void MultiAssignRef::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete source_;
}

void MultiAssignRef::ArenaDtor(void* object) {
  MultiAssignRef* _this = reinterpret_cast< MultiAssignRef* >(object);
  (void)_this;
}
void MultiAssignRef::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void MultiAssignRef::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const MultiAssignRef& MultiAssignRef::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void MultiAssignRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MultiAssignRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && source_ != nullptr) {
    delete source_;
  }
  source_ = nullptr;
  ::memset(&colno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&ncolumns_) -
      reinterpret_cast<char*>(&colno_)) + sizeof(ncolumns_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* MultiAssignRef::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node source = 1 [json_name = "source"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_source(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 colno = 2 [json_name = "colno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          colno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 ncolumns = 3 [json_name = "ncolumns"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          ncolumns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* MultiAssignRef::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MultiAssignRef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node source = 1 [json_name = "source"];
  if (this->has_source()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::source(this), target, stream);
  }

  // int32 colno = 2 [json_name = "colno"];
  if (this->colno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_colno(), target);
  }

  // int32 ncolumns = 3 [json_name = "ncolumns"];
  if (this->ncolumns() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_ncolumns(), 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:pg_query.MultiAssignRef)
  return target;
}

size_t MultiAssignRef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.MultiAssignRef)
  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;

  // .pg_query.Node source = 1 [json_name = "source"];
  if (this->has_source()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *source_);
  }

  // int32 colno = 2 [json_name = "colno"];
  if (this->colno() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_colno());
  }

  // int32 ncolumns = 3 [json_name = "ncolumns"];
  if (this->ncolumns() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_ncolumns());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void MultiAssignRef::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.MultiAssignRef)
  GOOGLE_DCHECK_NE(&from, this);
  const MultiAssignRef* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MultiAssignRef>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.MultiAssignRef)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.MultiAssignRef)
    MergeFrom(*source);
  }
}

void MultiAssignRef::MergeFrom(const MultiAssignRef& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MultiAssignRef)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_source()) {
    _internal_mutable_source()->::pg_query::Node::MergeFrom(from._internal_source());
  }
  if (from.colno() != 0) {
    _internal_set_colno(from._internal_colno());
  }
  if (from.ncolumns() != 0) {
    _internal_set_ncolumns(from._internal_ncolumns());
  }
}

void MultiAssignRef::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.MultiAssignRef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void MultiAssignRef::CopyFrom(const MultiAssignRef& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.MultiAssignRef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool MultiAssignRef::IsInitialized() const {
  return true;
}

void MultiAssignRef::InternalSwap(MultiAssignRef* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MultiAssignRef, ncolumns_)
      + sizeof(MultiAssignRef::ncolumns_)
      - PROTOBUF_FIELD_OFFSET(MultiAssignRef, source_)>(
          reinterpret_cast<char*>(&source_),
          reinterpret_cast<char*>(&other->source_));
}

::PROTOBUF_NAMESPACE_ID::Metadata MultiAssignRef::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class TypeCast::_Internal {
 public:
  static const ::pg_query::Node& arg(const TypeCast* msg);
  static const ::pg_query::TypeName& type_name(const TypeCast* msg);
};

const ::pg_query::Node&
TypeCast::_Internal::arg(const TypeCast* msg) {
  return *msg->arg_;
}
const ::pg_query::TypeName&
TypeCast::_Internal::type_name(const TypeCast* msg) {
  return *msg->type_name_;
}
TypeCast::TypeCast(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TypeCast)
}
TypeCast::TypeCast(const TypeCast& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  if (from._internal_has_type_name()) {
    type_name_ = new ::pg_query::TypeName(*from.type_name_);
  } else {
    type_name_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.TypeCast)
}

void TypeCast::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&arg_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&arg_)) + sizeof(location_));
}

TypeCast::~TypeCast() {
  // @@protoc_insertion_point(destructor:pg_query.TypeCast)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TypeCast::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete arg_;
  if (this != internal_default_instance()) delete type_name_;
}

void TypeCast::ArenaDtor(void* object) {
  TypeCast* _this = reinterpret_cast< TypeCast* >(object);
  (void)_this;
}
void TypeCast::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TypeCast::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TypeCast& TypeCast::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void TypeCast::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TypeCast)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  if (GetArena() == nullptr && type_name_ != nullptr) {
    delete type_name_;
  }
  type_name_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TypeCast::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node arg = 1 [json_name = "arg"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TypeCast::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TypeCast)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::arg(this), target, stream);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::type_name(this), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), 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:pg_query.TypeCast)
  return target;
}

size_t TypeCast::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TypeCast)
  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;

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *type_name_);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TypeCast::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.TypeCast)
  GOOGLE_DCHECK_NE(&from, this);
  const TypeCast* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TypeCast>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.TypeCast)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.TypeCast)
    MergeFrom(*source);
  }
}

void TypeCast::MergeFrom(const TypeCast& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TypeCast)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.has_type_name()) {
    _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void TypeCast::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.TypeCast)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TypeCast::CopyFrom(const TypeCast& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.TypeCast)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TypeCast::IsInitialized() const {
  return true;
}

void TypeCast::InternalSwap(TypeCast* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeCast, location_)
      + sizeof(TypeCast::location_)
      - PROTOBUF_FIELD_OFFSET(TypeCast, arg_)>(
          reinterpret_cast<char*>(&arg_),
          reinterpret_cast<char*>(&other->arg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TypeCast::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CollateClause::_Internal {
 public:
  static const ::pg_query::Node& arg(const CollateClause* msg);
};

const ::pg_query::Node&
CollateClause::_Internal::arg(const CollateClause* msg) {
  return *msg->arg_;
}
CollateClause::CollateClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  collname_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CollateClause)
}
CollateClause::CollateClause(const CollateClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      collname_(from.collname_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CollateClause)
}

void CollateClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&arg_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&arg_)) + sizeof(location_));
}

CollateClause::~CollateClause() {
  // @@protoc_insertion_point(destructor:pg_query.CollateClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CollateClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete arg_;
}

void CollateClause::ArenaDtor(void* object) {
  CollateClause* _this = reinterpret_cast< CollateClause* >(object);
  (void)_this;
}
void CollateClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CollateClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CollateClause& CollateClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CollateClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CollateClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  collname_.Clear();
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CollateClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node arg = 1 [json_name = "arg"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node collname = 2 [json_name = "collname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_collname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CollateClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CollateClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::arg(this), target, stream);
  }

  // repeated .pg_query.Node collname = 2 [json_name = "collname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_collname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_collname(i), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), 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:pg_query.CollateClause)
  return target;
}

size_t CollateClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CollateClause)
  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 .pg_query.Node collname = 2 [json_name = "collname"];
  total_size += 1UL * this->_internal_collname_size();
  for (const auto& msg : this->collname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CollateClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CollateClause)
  GOOGLE_DCHECK_NE(&from, this);
  const CollateClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CollateClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CollateClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CollateClause)
    MergeFrom(*source);
  }
}

void CollateClause::MergeFrom(const CollateClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CollateClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  collname_.MergeFrom(from.collname_);
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void CollateClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CollateClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CollateClause::CopyFrom(const CollateClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CollateClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CollateClause::IsInitialized() const {
  return true;
}

void CollateClause::InternalSwap(CollateClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  collname_.InternalSwap(&other->collname_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CollateClause, location_)
      + sizeof(CollateClause::location_)
      - PROTOBUF_FIELD_OFFSET(CollateClause, arg_)>(
          reinterpret_cast<char*>(&arg_),
          reinterpret_cast<char*>(&other->arg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CollateClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class SortBy::_Internal {
 public:
  static const ::pg_query::Node& node(const SortBy* msg);
};

const ::pg_query::Node&
SortBy::_Internal::node(const SortBy* msg) {
  return *msg->node_;
}
SortBy::SortBy(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  use_op_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SortBy)
}
SortBy::SortBy(const SortBy& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      use_op_(from.use_op_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_node()) {
    node_ = new ::pg_query::Node(*from.node_);
  } else {
    node_ = nullptr;
  }
  ::memcpy(&sortby_dir_, &from.sortby_dir_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&sortby_dir_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SortBy)
}

void SortBy::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&node_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&node_)) + sizeof(location_));
}

SortBy::~SortBy() {
  // @@protoc_insertion_point(destructor:pg_query.SortBy)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SortBy::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete node_;
}

void SortBy::ArenaDtor(void* object) {
  SortBy* _this = reinterpret_cast< SortBy* >(object);
  (void)_this;
}
void SortBy::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SortBy::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SortBy& SortBy::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void SortBy::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SortBy)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  use_op_.Clear();
  if (GetArena() == nullptr && node_ != nullptr) {
    delete node_;
  }
  node_ = nullptr;
  ::memset(&sortby_dir_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&sortby_dir_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SortBy::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node node = 1 [json_name = "node"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_node(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
      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_sortby_dir(static_cast<::pg_query::SortByDir>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
      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_sortby_nulls(static_cast<::pg_query::SortByNulls>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node use_op = 4 [json_name = "useOp"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_use_op(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SortBy::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SortBy)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node node = 1 [json_name = "node"];
  if (this->has_node()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::node(this), target, stream);
  }

  // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
  if (this->sortby_dir() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_sortby_dir(), target);
  }

  // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
  if (this->sortby_nulls() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_sortby_nulls(), target);
  }

  // repeated .pg_query.Node use_op = 4 [json_name = "useOp"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_use_op_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_use_op(i), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.SortBy)
  return target;
}

size_t SortBy::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SortBy)
  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 .pg_query.Node use_op = 4 [json_name = "useOp"];
  total_size += 1UL * this->_internal_use_op_size();
  for (const auto& msg : this->use_op_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node node = 1 [json_name = "node"];
  if (this->has_node()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *node_);
  }

  // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
  if (this->sortby_dir() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_sortby_dir());
  }

  // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
  if (this->sortby_nulls() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_sortby_nulls());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SortBy::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.SortBy)
  GOOGLE_DCHECK_NE(&from, this);
  const SortBy* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SortBy>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.SortBy)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.SortBy)
    MergeFrom(*source);
  }
}

void SortBy::MergeFrom(const SortBy& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SortBy)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  use_op_.MergeFrom(from.use_op_);
  if (from.has_node()) {
    _internal_mutable_node()->::pg_query::Node::MergeFrom(from._internal_node());
  }
  if (from.sortby_dir() != 0) {
    _internal_set_sortby_dir(from._internal_sortby_dir());
  }
  if (from.sortby_nulls() != 0) {
    _internal_set_sortby_nulls(from._internal_sortby_nulls());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void SortBy::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.SortBy)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SortBy::CopyFrom(const SortBy& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.SortBy)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SortBy::IsInitialized() const {
  return true;
}

void SortBy::InternalSwap(SortBy* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  use_op_.InternalSwap(&other->use_op_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SortBy, location_)
      + sizeof(SortBy::location_)
      - PROTOBUF_FIELD_OFFSET(SortBy, node_)>(
          reinterpret_cast<char*>(&node_),
          reinterpret_cast<char*>(&other->node_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SortBy::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class WindowDef::_Internal {
 public:
  static const ::pg_query::Node& start_offset(const WindowDef* msg);
  static const ::pg_query::Node& end_offset(const WindowDef* msg);
};

const ::pg_query::Node&
WindowDef::_Internal::start_offset(const WindowDef* msg) {
  return *msg->start_offset_;
}
const ::pg_query::Node&
WindowDef::_Internal::end_offset(const WindowDef* msg) {
  return *msg->end_offset_;
}
WindowDef::WindowDef(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  partition_clause_(arena),
  order_clause_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowDef)
}
WindowDef::WindowDef(const WindowDef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      partition_clause_(from.partition_clause_),
      order_clause_(from.order_clause_) {
  _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(), 
      GetArena());
  }
  refname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_refname().empty()) {
    refname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_refname(), 
      GetArena());
  }
  if (from._internal_has_start_offset()) {
    start_offset_ = new ::pg_query::Node(*from.start_offset_);
  } else {
    start_offset_ = nullptr;
  }
  if (from._internal_has_end_offset()) {
    end_offset_ = new ::pg_query::Node(*from.end_offset_);
  } else {
    end_offset_ = nullptr;
  }
  ::memcpy(&frame_options_, &from.frame_options_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&frame_options_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WindowDef)
}

void WindowDef::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  refname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&start_offset_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&start_offset_)) + sizeof(location_));
}

WindowDef::~WindowDef() {
  // @@protoc_insertion_point(destructor:pg_query.WindowDef)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void WindowDef::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  refname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete start_offset_;
  if (this != internal_default_instance()) delete end_offset_;
}

void WindowDef::ArenaDtor(void* object) {
  WindowDef* _this = reinterpret_cast< WindowDef* >(object);
  (void)_this;
}
void WindowDef::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void WindowDef::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const WindowDef& WindowDef::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void WindowDef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowDef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  partition_clause_.Clear();
  order_clause_.Clear();
  name_.ClearToEmpty();
  refname_.ClearToEmpty();
  if (GetArena() == nullptr && start_offset_ != nullptr) {
    delete start_offset_;
  }
  start_offset_ = nullptr;
  if (GetArena() == nullptr && end_offset_ != nullptr) {
    delete end_offset_;
  }
  end_offset_ = nullptr;
  ::memset(&frame_options_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&frame_options_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WindowDef::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.WindowDef.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string refname = 2 [json_name = "refname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_refname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.WindowDef.refname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_partition_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_order_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 frame_options = 5 [json_name = "frameOptions"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          frame_options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_start_offset(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_end_offset(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 8 [json_name = "location"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* WindowDef::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowDef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.WindowDef.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // string refname = 2 [json_name = "refname"];
  if (this->refname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_refname().data(), static_cast<int>(this->_internal_refname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.WindowDef.refname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_refname(), target);
  }

  // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_partition_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_partition_clause(i), target, stream);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_order_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_order_clause(i), target, stream);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->frame_options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_frame_options(), target);
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->has_start_offset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::start_offset(this), target, stream);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->has_end_offset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::end_offset(this), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), 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:pg_query.WindowDef)
  return target;
}

size_t WindowDef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.WindowDef)
  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 .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  total_size += 1UL * this->_internal_partition_clause_size();
  for (const auto& msg : this->partition_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  total_size += 1UL * this->_internal_order_clause_size();
  for (const auto& msg : this->order_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // string refname = 2 [json_name = "refname"];
  if (this->refname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_refname());
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->has_start_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *start_offset_);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->has_end_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *end_offset_);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->frame_options() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_frame_options());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void WindowDef::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.WindowDef)
  GOOGLE_DCHECK_NE(&from, this);
  const WindowDef* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<WindowDef>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.WindowDef)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.WindowDef)
    MergeFrom(*source);
  }
}

void WindowDef::MergeFrom(const WindowDef& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowDef)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  partition_clause_.MergeFrom(from.partition_clause_);
  order_clause_.MergeFrom(from.order_clause_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.refname().size() > 0) {
    _internal_set_refname(from._internal_refname());
  }
  if (from.has_start_offset()) {
    _internal_mutable_start_offset()->::pg_query::Node::MergeFrom(from._internal_start_offset());
  }
  if (from.has_end_offset()) {
    _internal_mutable_end_offset()->::pg_query::Node::MergeFrom(from._internal_end_offset());
  }
  if (from.frame_options() != 0) {
    _internal_set_frame_options(from._internal_frame_options());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void WindowDef::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.WindowDef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void WindowDef::CopyFrom(const WindowDef& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.WindowDef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool WindowDef::IsInitialized() const {
  return true;
}

void WindowDef::InternalSwap(WindowDef* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  partition_clause_.InternalSwap(&other->partition_clause_);
  order_clause_.InternalSwap(&other->order_clause_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  refname_.Swap(&other->refname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowDef, location_)
      + sizeof(WindowDef::location_)
      - PROTOBUF_FIELD_OFFSET(WindowDef, start_offset_)>(
          reinterpret_cast<char*>(&start_offset_),
          reinterpret_cast<char*>(&other->start_offset_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WindowDef::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RangeSubselect::_Internal {
 public:
  static const ::pg_query::Node& subquery(const RangeSubselect* msg);
  static const ::pg_query::Alias& alias(const RangeSubselect* msg);
};

const ::pg_query::Node&
RangeSubselect::_Internal::subquery(const RangeSubselect* msg) {
  return *msg->subquery_;
}
const ::pg_query::Alias&
RangeSubselect::_Internal::alias(const RangeSubselect* msg) {
  return *msg->alias_;
}
RangeSubselect::RangeSubselect(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeSubselect)
}
RangeSubselect::RangeSubselect(const RangeSubselect& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_subquery()) {
    subquery_ = new ::pg_query::Node(*from.subquery_);
  } else {
    subquery_ = nullptr;
  }
  if (from._internal_has_alias()) {
    alias_ = new ::pg_query::Alias(*from.alias_);
  } else {
    alias_ = nullptr;
  }
  lateral_ = from.lateral_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeSubselect)
}

void RangeSubselect::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&subquery_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&lateral_) -
      reinterpret_cast<char*>(&subquery_)) + sizeof(lateral_));
}

RangeSubselect::~RangeSubselect() {
  // @@protoc_insertion_point(destructor:pg_query.RangeSubselect)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeSubselect::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete subquery_;
  if (this != internal_default_instance()) delete alias_;
}

void RangeSubselect::ArenaDtor(void* object) {
  RangeSubselect* _this = reinterpret_cast< RangeSubselect* >(object);
  (void)_this;
}
void RangeSubselect::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeSubselect::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeSubselect& RangeSubselect::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RangeSubselect::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeSubselect)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && subquery_ != nullptr) {
    delete subquery_;
  }
  subquery_ = nullptr;
  if (GetArena() == nullptr && alias_ != nullptr) {
    delete alias_;
  }
  alias_ = nullptr;
  lateral_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeSubselect::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool lateral = 1 [json_name = "lateral"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          lateral_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node subquery = 2 [json_name = "subquery"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_subquery(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 3 [json_name = "alias"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RangeSubselect::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeSubselect)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_lateral(), target);
  }

  // .pg_query.Node subquery = 2 [json_name = "subquery"];
  if (this->has_subquery()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::subquery(this), target, stream);
  }

  // .pg_query.Alias alias = 3 [json_name = "alias"];
  if (this->has_alias()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::alias(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:pg_query.RangeSubselect)
  return target;
}

size_t RangeSubselect::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeSubselect)
  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;

  // .pg_query.Node subquery = 2 [json_name = "subquery"];
  if (this->has_subquery()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *subquery_);
  }

  // .pg_query.Alias alias = 3 [json_name = "alias"];
  if (this->has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *alias_);
  }

  // bool lateral = 1 [json_name = "lateral"];
  if (this->lateral() != 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;
}

void RangeSubselect::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RangeSubselect)
  GOOGLE_DCHECK_NE(&from, this);
  const RangeSubselect* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RangeSubselect>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RangeSubselect)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RangeSubselect)
    MergeFrom(*source);
  }
}

void RangeSubselect::MergeFrom(const RangeSubselect& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeSubselect)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_subquery()) {
    _internal_mutable_subquery()->::pg_query::Node::MergeFrom(from._internal_subquery());
  }
  if (from.has_alias()) {
    _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
  }
  if (from.lateral() != 0) {
    _internal_set_lateral(from._internal_lateral());
  }
}

void RangeSubselect::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RangeSubselect)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RangeSubselect::CopyFrom(const RangeSubselect& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RangeSubselect)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RangeSubselect::IsInitialized() const {
  return true;
}

void RangeSubselect::InternalSwap(RangeSubselect* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeSubselect, lateral_)
      + sizeof(RangeSubselect::lateral_)
      - PROTOBUF_FIELD_OFFSET(RangeSubselect, subquery_)>(
          reinterpret_cast<char*>(&subquery_),
          reinterpret_cast<char*>(&other->subquery_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeSubselect::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RangeFunction::_Internal {
 public:
  static const ::pg_query::Alias& alias(const RangeFunction* msg);
};

const ::pg_query::Alias&
RangeFunction::_Internal::alias(const RangeFunction* msg) {
  return *msg->alias_;
}
RangeFunction::RangeFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  functions_(arena),
  coldeflist_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeFunction)
}
RangeFunction::RangeFunction(const RangeFunction& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      functions_(from.functions_),
      coldeflist_(from.coldeflist_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_alias()) {
    alias_ = new ::pg_query::Alias(*from.alias_);
  } else {
    alias_ = nullptr;
  }
  ::memcpy(&lateral_, &from.lateral_,
    static_cast<size_t>(reinterpret_cast<char*>(&is_rowsfrom_) -
    reinterpret_cast<char*>(&lateral_)) + sizeof(is_rowsfrom_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeFunction)
}

void RangeFunction::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&alias_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&is_rowsfrom_) -
      reinterpret_cast<char*>(&alias_)) + sizeof(is_rowsfrom_));
}

RangeFunction::~RangeFunction() {
  // @@protoc_insertion_point(destructor:pg_query.RangeFunction)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeFunction::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete alias_;
}

void RangeFunction::ArenaDtor(void* object) {
  RangeFunction* _this = reinterpret_cast< RangeFunction* >(object);
  (void)_this;
}
void RangeFunction::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeFunction::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeFunction& RangeFunction::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RangeFunction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeFunction)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  functions_.Clear();
  coldeflist_.Clear();
  if (GetArena() == nullptr && alias_ != nullptr) {
    delete alias_;
  }
  alias_ = nullptr;
  ::memset(&lateral_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&is_rowsfrom_) -
      reinterpret_cast<char*>(&lateral_)) + sizeof(is_rowsfrom_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeFunction::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool lateral = 1 [json_name = "lateral"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          lateral_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool ordinality = 2 [json_name = "ordinality"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          ordinality_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          is_rowsfrom_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node functions = 4 [json_name = "functions"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_functions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 5 [json_name = "alias"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_coldeflist(), 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 & 7) == 4 || tag == 0) {
          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* RangeFunction::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeFunction)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_lateral(), target);
  }

  // bool ordinality = 2 [json_name = "ordinality"];
  if (this->ordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_ordinality(), target);
  }

  // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
  if (this->is_rowsfrom() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_is_rowsfrom(), target);
  }

  // repeated .pg_query.Node functions = 4 [json_name = "functions"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_functions_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_functions(i), target, stream);
  }

  // .pg_query.Alias alias = 5 [json_name = "alias"];
  if (this->has_alias()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::alias(this), target, stream);
  }

  // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_coldeflist_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_coldeflist(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:pg_query.RangeFunction)
  return target;
}

size_t RangeFunction::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeFunction)
  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 .pg_query.Node functions = 4 [json_name = "functions"];
  total_size += 1UL * this->_internal_functions_size();
  for (const auto& msg : this->functions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
  total_size += 1UL * this->_internal_coldeflist_size();
  for (const auto& msg : this->coldeflist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Alias alias = 5 [json_name = "alias"];
  if (this->has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *alias_);
  }

  // bool lateral = 1 [json_name = "lateral"];
  if (this->lateral() != 0) {
    total_size += 1 + 1;
  }

  // bool ordinality = 2 [json_name = "ordinality"];
  if (this->ordinality() != 0) {
    total_size += 1 + 1;
  }

  // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
  if (this->is_rowsfrom() != 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;
}

void RangeFunction::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RangeFunction)
  GOOGLE_DCHECK_NE(&from, this);
  const RangeFunction* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RangeFunction>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RangeFunction)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RangeFunction)
    MergeFrom(*source);
  }
}

void RangeFunction::MergeFrom(const RangeFunction& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeFunction)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  functions_.MergeFrom(from.functions_);
  coldeflist_.MergeFrom(from.coldeflist_);
  if (from.has_alias()) {
    _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
  }
  if (from.lateral() != 0) {
    _internal_set_lateral(from._internal_lateral());
  }
  if (from.ordinality() != 0) {
    _internal_set_ordinality(from._internal_ordinality());
  }
  if (from.is_rowsfrom() != 0) {
    _internal_set_is_rowsfrom(from._internal_is_rowsfrom());
  }
}

void RangeFunction::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RangeFunction)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RangeFunction::CopyFrom(const RangeFunction& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RangeFunction)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RangeFunction::IsInitialized() const {
  return true;
}

void RangeFunction::InternalSwap(RangeFunction* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  functions_.InternalSwap(&other->functions_);
  coldeflist_.InternalSwap(&other->coldeflist_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeFunction, is_rowsfrom_)
      + sizeof(RangeFunction::is_rowsfrom_)
      - PROTOBUF_FIELD_OFFSET(RangeFunction, alias_)>(
          reinterpret_cast<char*>(&alias_),
          reinterpret_cast<char*>(&other->alias_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeFunction::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RangeTableSample::_Internal {
 public:
  static const ::pg_query::Node& relation(const RangeTableSample* msg);
  static const ::pg_query::Node& repeatable(const RangeTableSample* msg);
};

const ::pg_query::Node&
RangeTableSample::_Internal::relation(const RangeTableSample* msg) {
  return *msg->relation_;
}
const ::pg_query::Node&
RangeTableSample::_Internal::repeatable(const RangeTableSample* msg) {
  return *msg->repeatable_;
}
RangeTableSample::RangeTableSample(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  method_(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableSample)
}
RangeTableSample::RangeTableSample(const RangeTableSample& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      method_(from.method_),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::Node(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  if (from._internal_has_repeatable()) {
    repeatable_ = new ::pg_query::Node(*from.repeatable_);
  } else {
    repeatable_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableSample)
}

void RangeTableSample::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(location_));
}

RangeTableSample::~RangeTableSample() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableSample)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeTableSample::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
  if (this != internal_default_instance()) delete repeatable_;
}

void RangeTableSample::ArenaDtor(void* object) {
  RangeTableSample* _this = reinterpret_cast< RangeTableSample* >(object);
  (void)_this;
}
void RangeTableSample::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeTableSample::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeTableSample& RangeTableSample::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RangeTableSample::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableSample)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  method_.Clear();
  args_.Clear();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  if (GetArena() == nullptr && repeatable_ != nullptr) {
    delete repeatable_;
  }
  repeatable_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTableSample::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node method = 2 [json_name = "method"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_method(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 3 [json_name = "args"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_repeatable(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RangeTableSample::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableSample)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // repeated .pg_query.Node method = 2 [json_name = "method"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_method_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_method(i), target, stream);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_args(i), target, stream);
  }

  // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
  if (this->has_repeatable()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::repeatable(this), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.RangeTableSample)
  return target;
}

size_t RangeTableSample::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeTableSample)
  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 .pg_query.Node method = 2 [json_name = "method"];
  total_size += 1UL * this->_internal_method_size();
  for (const auto& msg : this->method_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
  if (this->has_repeatable()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *repeatable_);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RangeTableSample::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RangeTableSample)
  GOOGLE_DCHECK_NE(&from, this);
  const RangeTableSample* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RangeTableSample>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RangeTableSample)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RangeTableSample)
    MergeFrom(*source);
  }
}

void RangeTableSample::MergeFrom(const RangeTableSample& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableSample)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  method_.MergeFrom(from.method_);
  args_.MergeFrom(from.args_);
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::Node::MergeFrom(from._internal_relation());
  }
  if (from.has_repeatable()) {
    _internal_mutable_repeatable()->::pg_query::Node::MergeFrom(from._internal_repeatable());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void RangeTableSample::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RangeTableSample)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RangeTableSample::CopyFrom(const RangeTableSample& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RangeTableSample)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RangeTableSample::IsInitialized() const {
  return true;
}

void RangeTableSample::InternalSwap(RangeTableSample* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  method_.InternalSwap(&other->method_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableSample, location_)
      + sizeof(RangeTableSample::location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableSample, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTableSample::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RangeTableFunc::_Internal {
 public:
  static const ::pg_query::Node& docexpr(const RangeTableFunc* msg);
  static const ::pg_query::Node& rowexpr(const RangeTableFunc* msg);
  static const ::pg_query::Alias& alias(const RangeTableFunc* msg);
};

const ::pg_query::Node&
RangeTableFunc::_Internal::docexpr(const RangeTableFunc* msg) {
  return *msg->docexpr_;
}
const ::pg_query::Node&
RangeTableFunc::_Internal::rowexpr(const RangeTableFunc* msg) {
  return *msg->rowexpr_;
}
const ::pg_query::Alias&
RangeTableFunc::_Internal::alias(const RangeTableFunc* msg) {
  return *msg->alias_;
}
RangeTableFunc::RangeTableFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  namespaces_(arena),
  columns_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableFunc)
}
RangeTableFunc::RangeTableFunc(const RangeTableFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      namespaces_(from.namespaces_),
      columns_(from.columns_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_docexpr()) {
    docexpr_ = new ::pg_query::Node(*from.docexpr_);
  } else {
    docexpr_ = nullptr;
  }
  if (from._internal_has_rowexpr()) {
    rowexpr_ = new ::pg_query::Node(*from.rowexpr_);
  } else {
    rowexpr_ = nullptr;
  }
  if (from._internal_has_alias()) {
    alias_ = new ::pg_query::Alias(*from.alias_);
  } else {
    alias_ = nullptr;
  }
  ::memcpy(&lateral_, &from.lateral_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&lateral_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableFunc)
}

void RangeTableFunc::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&docexpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&docexpr_)) + sizeof(location_));
}

RangeTableFunc::~RangeTableFunc() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableFunc)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeTableFunc::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete docexpr_;
  if (this != internal_default_instance()) delete rowexpr_;
  if (this != internal_default_instance()) delete alias_;
}

void RangeTableFunc::ArenaDtor(void* object) {
  RangeTableFunc* _this = reinterpret_cast< RangeTableFunc* >(object);
  (void)_this;
}
void RangeTableFunc::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeTableFunc::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeTableFunc& RangeTableFunc::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RangeTableFunc::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableFunc)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  namespaces_.Clear();
  columns_.Clear();
  if (GetArena() == nullptr && docexpr_ != nullptr) {
    delete docexpr_;
  }
  docexpr_ = nullptr;
  if (GetArena() == nullptr && rowexpr_ != nullptr) {
    delete rowexpr_;
  }
  rowexpr_ = nullptr;
  if (GetArena() == nullptr && alias_ != nullptr) {
    delete alias_;
  }
  alias_ = nullptr;
  ::memset(&lateral_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&lateral_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTableFunc::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool lateral = 1 [json_name = "lateral"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          lateral_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_docexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_rowexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_namespaces(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node columns = 5 [json_name = "columns"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          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<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 6 [json_name = "alias"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RangeTableFunc::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableFunc)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_lateral(), target);
  }

  // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
  if (this->has_docexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::docexpr(this), target, stream);
  }

  // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
  if (this->has_rowexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::rowexpr(this), target, stream);
  }

  // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_namespaces_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_namespaces(i), target, stream);
  }

  // repeated .pg_query.Node columns = 5 [json_name = "columns"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_columns_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_columns(i), target, stream);
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (this->has_alias()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::alias(this), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.RangeTableFunc)
  return target;
}

size_t RangeTableFunc::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeTableFunc)
  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 .pg_query.Node namespaces = 4 [json_name = "namespaces"];
  total_size += 1UL * this->_internal_namespaces_size();
  for (const auto& msg : this->namespaces_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node columns = 5 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
  if (this->has_docexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *docexpr_);
  }

  // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
  if (this->has_rowexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *rowexpr_);
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (this->has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *alias_);
  }

  // bool lateral = 1 [json_name = "lateral"];
  if (this->lateral() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RangeTableFunc::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RangeTableFunc)
  GOOGLE_DCHECK_NE(&from, this);
  const RangeTableFunc* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RangeTableFunc>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RangeTableFunc)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RangeTableFunc)
    MergeFrom(*source);
  }
}

void RangeTableFunc::MergeFrom(const RangeTableFunc& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableFunc)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  namespaces_.MergeFrom(from.namespaces_);
  columns_.MergeFrom(from.columns_);
  if (from.has_docexpr()) {
    _internal_mutable_docexpr()->::pg_query::Node::MergeFrom(from._internal_docexpr());
  }
  if (from.has_rowexpr()) {
    _internal_mutable_rowexpr()->::pg_query::Node::MergeFrom(from._internal_rowexpr());
  }
  if (from.has_alias()) {
    _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
  }
  if (from.lateral() != 0) {
    _internal_set_lateral(from._internal_lateral());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void RangeTableFunc::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RangeTableFunc)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RangeTableFunc::CopyFrom(const RangeTableFunc& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RangeTableFunc)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RangeTableFunc::IsInitialized() const {
  return true;
}

void RangeTableFunc::InternalSwap(RangeTableFunc* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  namespaces_.InternalSwap(&other->namespaces_);
  columns_.InternalSwap(&other->columns_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableFunc, location_)
      + sizeof(RangeTableFunc::location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableFunc, docexpr_)>(
          reinterpret_cast<char*>(&docexpr_),
          reinterpret_cast<char*>(&other->docexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTableFunc::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RangeTableFuncCol::_Internal {
 public:
  static const ::pg_query::TypeName& type_name(const RangeTableFuncCol* msg);
  static const ::pg_query::Node& colexpr(const RangeTableFuncCol* msg);
  static const ::pg_query::Node& coldefexpr(const RangeTableFuncCol* msg);
};

const ::pg_query::TypeName&
RangeTableFuncCol::_Internal::type_name(const RangeTableFuncCol* msg) {
  return *msg->type_name_;
}
const ::pg_query::Node&
RangeTableFuncCol::_Internal::colexpr(const RangeTableFuncCol* msg) {
  return *msg->colexpr_;
}
const ::pg_query::Node&
RangeTableFuncCol::_Internal::coldefexpr(const RangeTableFuncCol* msg) {
  return *msg->coldefexpr_;
}
RangeTableFuncCol::RangeTableFuncCol(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableFuncCol)
}
RangeTableFuncCol::RangeTableFuncCol(const RangeTableFuncCol& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  colname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_colname().empty()) {
    colname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_colname(), 
      GetArena());
  }
  if (from._internal_has_type_name()) {
    type_name_ = new ::pg_query::TypeName(*from.type_name_);
  } else {
    type_name_ = nullptr;
  }
  if (from._internal_has_colexpr()) {
    colexpr_ = new ::pg_query::Node(*from.colexpr_);
  } else {
    colexpr_ = nullptr;
  }
  if (from._internal_has_coldefexpr()) {
    coldefexpr_ = new ::pg_query::Node(*from.coldefexpr_);
  } else {
    coldefexpr_ = nullptr;
  }
  ::memcpy(&for_ordinality_, &from.for_ordinality_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&for_ordinality_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableFuncCol)
}

void RangeTableFuncCol::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  colname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&type_name_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&type_name_)) + sizeof(location_));
}

RangeTableFuncCol::~RangeTableFuncCol() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableFuncCol)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeTableFuncCol::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  colname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete type_name_;
  if (this != internal_default_instance()) delete colexpr_;
  if (this != internal_default_instance()) delete coldefexpr_;
}

void RangeTableFuncCol::ArenaDtor(void* object) {
  RangeTableFuncCol* _this = reinterpret_cast< RangeTableFuncCol* >(object);
  (void)_this;
}
void RangeTableFuncCol::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeTableFuncCol::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeTableFuncCol& RangeTableFuncCol::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RangeTableFuncCol::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableFuncCol)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  colname_.ClearToEmpty();
  if (GetArena() == nullptr && type_name_ != nullptr) {
    delete type_name_;
  }
  type_name_ = nullptr;
  if (GetArena() == nullptr && colexpr_ != nullptr) {
    delete colexpr_;
  }
  colexpr_ = nullptr;
  if (GetArena() == nullptr && coldefexpr_ != nullptr) {
    delete coldefexpr_;
  }
  coldefexpr_ = nullptr;
  ::memset(&for_ordinality_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&for_ordinality_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTableFuncCol::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string colname = 1 [json_name = "colname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_colname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeTableFuncCol.colname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool for_ordinality = 3 [json_name = "for_ordinality"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          for_ordinality_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_not_null = 4 [json_name = "is_not_null"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          is_not_null_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_colexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_coldefexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RangeTableFuncCol::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableFuncCol)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string colname = 1 [json_name = "colname"];
  if (this->colname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_colname().data(), static_cast<int>(this->_internal_colname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeTableFuncCol.colname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_colname(), target);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::type_name(this), target, stream);
  }

  // bool for_ordinality = 3 [json_name = "for_ordinality"];
  if (this->for_ordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_for_ordinality(), target);
  }

  // bool is_not_null = 4 [json_name = "is_not_null"];
  if (this->is_not_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_not_null(), target);
  }

  // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
  if (this->has_colexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::colexpr(this), target, stream);
  }

  // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
  if (this->has_coldefexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::coldefexpr(this), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), 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:pg_query.RangeTableFuncCol)
  return target;
}

size_t RangeTableFuncCol::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeTableFuncCol)
  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 colname = 1 [json_name = "colname"];
  if (this->colname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_colname());
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *type_name_);
  }

  // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
  if (this->has_colexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *colexpr_);
  }

  // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
  if (this->has_coldefexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *coldefexpr_);
  }

  // bool for_ordinality = 3 [json_name = "for_ordinality"];
  if (this->for_ordinality() != 0) {
    total_size += 1 + 1;
  }

  // bool is_not_null = 4 [json_name = "is_not_null"];
  if (this->is_not_null() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RangeTableFuncCol::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RangeTableFuncCol)
  GOOGLE_DCHECK_NE(&from, this);
  const RangeTableFuncCol* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RangeTableFuncCol>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RangeTableFuncCol)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RangeTableFuncCol)
    MergeFrom(*source);
  }
}

void RangeTableFuncCol::MergeFrom(const RangeTableFuncCol& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableFuncCol)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.colname().size() > 0) {
    _internal_set_colname(from._internal_colname());
  }
  if (from.has_type_name()) {
    _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
  }
  if (from.has_colexpr()) {
    _internal_mutable_colexpr()->::pg_query::Node::MergeFrom(from._internal_colexpr());
  }
  if (from.has_coldefexpr()) {
    _internal_mutable_coldefexpr()->::pg_query::Node::MergeFrom(from._internal_coldefexpr());
  }
  if (from.for_ordinality() != 0) {
    _internal_set_for_ordinality(from._internal_for_ordinality());
  }
  if (from.is_not_null() != 0) {
    _internal_set_is_not_null(from._internal_is_not_null());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void RangeTableFuncCol::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RangeTableFuncCol)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RangeTableFuncCol::CopyFrom(const RangeTableFuncCol& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RangeTableFuncCol)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RangeTableFuncCol::IsInitialized() const {
  return true;
}

void RangeTableFuncCol::InternalSwap(RangeTableFuncCol* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  colname_.Swap(&other->colname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, location_)
      + sizeof(RangeTableFuncCol::location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, type_name_)>(
          reinterpret_cast<char*>(&type_name_),
          reinterpret_cast<char*>(&other->type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTableFuncCol::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class TypeName::_Internal {
 public:
};

TypeName::TypeName(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  names_(arena),
  typmods_(arena),
  array_bounds_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TypeName)
}
TypeName::TypeName(const TypeName& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      names_(from.names_),
      typmods_(from.typmods_),
      array_bounds_(from.array_bounds_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&type_oid_, &from.type_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&type_oid_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TypeName)
}

void TypeName::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&type_oid_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&type_oid_)) + sizeof(location_));
}

TypeName::~TypeName() {
  // @@protoc_insertion_point(destructor:pg_query.TypeName)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TypeName::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void TypeName::ArenaDtor(void* object) {
  TypeName* _this = reinterpret_cast< TypeName* >(object);
  (void)_this;
}
void TypeName::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TypeName::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TypeName& TypeName::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void TypeName::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TypeName)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  names_.Clear();
  typmods_.Clear();
  array_bounds_.Clear();
  ::memset(&type_oid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&type_oid_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TypeName::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node names = 1 [json_name = "names"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_names(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // uint32 type_oid = 2 [json_name = "typeOid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          type_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool setof = 3 [json_name = "setof"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          setof_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool pct_type = 4 [json_name = "pct_type"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          pct_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_typmods(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 typemod = 6 [json_name = "typemod"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          typemod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_array_bounds(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 8 [json_name = "location"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TypeName::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TypeName)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node names = 1 [json_name = "names"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_names_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_names(i), target, stream);
  }

  // uint32 type_oid = 2 [json_name = "typeOid"];
  if (this->type_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_oid(), target);
  }

  // bool setof = 3 [json_name = "setof"];
  if (this->setof() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_setof(), target);
  }

  // bool pct_type = 4 [json_name = "pct_type"];
  if (this->pct_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_pct_type(), target);
  }

  // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_typmods_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_typmods(i), target, stream);
  }

  // int32 typemod = 6 [json_name = "typemod"];
  if (this->typemod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_typemod(), target);
  }

  // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_array_bounds_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_array_bounds(i), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), 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:pg_query.TypeName)
  return target;
}

size_t TypeName::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TypeName)
  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 .pg_query.Node names = 1 [json_name = "names"];
  total_size += 1UL * this->_internal_names_size();
  for (const auto& msg : this->names_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
  total_size += 1UL * this->_internal_typmods_size();
  for (const auto& msg : this->typmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
  total_size += 1UL * this->_internal_array_bounds_size();
  for (const auto& msg : this->array_bounds_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // uint32 type_oid = 2 [json_name = "typeOid"];
  if (this->type_oid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_type_oid());
  }

  // bool setof = 3 [json_name = "setof"];
  if (this->setof() != 0) {
    total_size += 1 + 1;
  }

  // bool pct_type = 4 [json_name = "pct_type"];
  if (this->pct_type() != 0) {
    total_size += 1 + 1;
  }

  // int32 typemod = 6 [json_name = "typemod"];
  if (this->typemod() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_typemod());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TypeName::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.TypeName)
  GOOGLE_DCHECK_NE(&from, this);
  const TypeName* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TypeName>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.TypeName)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.TypeName)
    MergeFrom(*source);
  }
}

void TypeName::MergeFrom(const TypeName& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TypeName)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  names_.MergeFrom(from.names_);
  typmods_.MergeFrom(from.typmods_);
  array_bounds_.MergeFrom(from.array_bounds_);
  if (from.type_oid() != 0) {
    _internal_set_type_oid(from._internal_type_oid());
  }
  if (from.setof() != 0) {
    _internal_set_setof(from._internal_setof());
  }
  if (from.pct_type() != 0) {
    _internal_set_pct_type(from._internal_pct_type());
  }
  if (from.typemod() != 0) {
    _internal_set_typemod(from._internal_typemod());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void TypeName::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.TypeName)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TypeName::CopyFrom(const TypeName& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.TypeName)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TypeName::IsInitialized() const {
  return true;
}

void TypeName::InternalSwap(TypeName* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  names_.InternalSwap(&other->names_);
  typmods_.InternalSwap(&other->typmods_);
  array_bounds_.InternalSwap(&other->array_bounds_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeName, location_)
      + sizeof(TypeName::location_)
      - PROTOBUF_FIELD_OFFSET(TypeName, type_oid_)>(
          reinterpret_cast<char*>(&type_oid_),
          reinterpret_cast<char*>(&other->type_oid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TypeName::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ColumnDef::_Internal {
 public:
  static const ::pg_query::TypeName& type_name(const ColumnDef* msg);
  static const ::pg_query::Node& raw_default(const ColumnDef* msg);
  static const ::pg_query::Node& cooked_default(const ColumnDef* msg);
  static const ::pg_query::RangeVar& identity_sequence(const ColumnDef* msg);
  static const ::pg_query::CollateClause& coll_clause(const ColumnDef* msg);
};

const ::pg_query::TypeName&
ColumnDef::_Internal::type_name(const ColumnDef* msg) {
  return *msg->type_name_;
}
const ::pg_query::Node&
ColumnDef::_Internal::raw_default(const ColumnDef* msg) {
  return *msg->raw_default_;
}
const ::pg_query::Node&
ColumnDef::_Internal::cooked_default(const ColumnDef* msg) {
  return *msg->cooked_default_;
}
const ::pg_query::RangeVar&
ColumnDef::_Internal::identity_sequence(const ColumnDef* msg) {
  return *msg->identity_sequence_;
}
const ::pg_query::CollateClause&
ColumnDef::_Internal::coll_clause(const ColumnDef* msg) {
  return *msg->coll_clause_;
}
ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  constraints_(arena),
  fdwoptions_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ColumnDef)
}
ColumnDef::ColumnDef(const ColumnDef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      constraints_(from.constraints_),
      fdwoptions_(from.fdwoptions_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  colname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_colname().empty()) {
    colname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_colname(), 
      GetArena());
  }
  storage_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_storage().empty()) {
    storage_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_storage(), 
      GetArena());
  }
  identity_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_identity().empty()) {
    identity_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_identity(), 
      GetArena());
  }
  generated_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_generated().empty()) {
    generated_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_generated(), 
      GetArena());
  }
  if (from._internal_has_type_name()) {
    type_name_ = new ::pg_query::TypeName(*from.type_name_);
  } else {
    type_name_ = nullptr;
  }
  if (from._internal_has_raw_default()) {
    raw_default_ = new ::pg_query::Node(*from.raw_default_);
  } else {
    raw_default_ = nullptr;
  }
  if (from._internal_has_cooked_default()) {
    cooked_default_ = new ::pg_query::Node(*from.cooked_default_);
  } else {
    cooked_default_ = nullptr;
  }
  if (from._internal_has_identity_sequence()) {
    identity_sequence_ = new ::pg_query::RangeVar(*from.identity_sequence_);
  } else {
    identity_sequence_ = nullptr;
  }
  if (from._internal_has_coll_clause()) {
    coll_clause_ = new ::pg_query::CollateClause(*from.coll_clause_);
  } else {
    coll_clause_ = nullptr;
  }
  ::memcpy(&inhcount_, &from.inhcount_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&inhcount_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ColumnDef)
}

void ColumnDef::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  colname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  storage_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  identity_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  generated_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&type_name_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&type_name_)) + sizeof(location_));
}

ColumnDef::~ColumnDef() {
  // @@protoc_insertion_point(destructor:pg_query.ColumnDef)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ColumnDef::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  colname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  storage_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  identity_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  generated_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete type_name_;
  if (this != internal_default_instance()) delete raw_default_;
  if (this != internal_default_instance()) delete cooked_default_;
  if (this != internal_default_instance()) delete identity_sequence_;
  if (this != internal_default_instance()) delete coll_clause_;
}

void ColumnDef::ArenaDtor(void* object) {
  ColumnDef* _this = reinterpret_cast< ColumnDef* >(object);
  (void)_this;
}
void ColumnDef::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ColumnDef::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ColumnDef& ColumnDef::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ColumnDef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ColumnDef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  constraints_.Clear();
  fdwoptions_.Clear();
  colname_.ClearToEmpty();
  storage_.ClearToEmpty();
  identity_.ClearToEmpty();
  generated_.ClearToEmpty();
  if (GetArena() == nullptr && type_name_ != nullptr) {
    delete type_name_;
  }
  type_name_ = nullptr;
  if (GetArena() == nullptr && raw_default_ != nullptr) {
    delete raw_default_;
  }
  raw_default_ = nullptr;
  if (GetArena() == nullptr && cooked_default_ != nullptr) {
    delete cooked_default_;
  }
  cooked_default_ = nullptr;
  if (GetArena() == nullptr && identity_sequence_ != nullptr) {
    delete identity_sequence_;
  }
  identity_sequence_ = nullptr;
  if (GetArena() == nullptr && coll_clause_ != nullptr) {
    delete coll_clause_;
  }
  coll_clause_ = nullptr;
  ::memset(&inhcount_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&inhcount_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ColumnDef::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string colname = 1 [json_name = "colname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_colname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ColumnDef.colname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 inhcount = 3 [json_name = "inhcount"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          inhcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_local = 4 [json_name = "is_local"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          is_local_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_not_null = 5 [json_name = "is_not_null"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          is_not_null_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_from_type = 6 [json_name = "is_from_type"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          is_from_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string storage = 7 [json_name = "storage"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          auto str = _internal_mutable_storage();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ColumnDef.storage"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node raw_default = 8 [json_name = "raw_default"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_raw_default(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node cooked_default = 9 [json_name = "cooked_default"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_cooked_default(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string identity = 10 [json_name = "identity"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          auto str = _internal_mutable_identity();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ColumnDef.identity"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar identity_sequence = 11 [json_name = "identitySequence"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_identity_sequence(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string generated = 12 [json_name = "generated"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          auto str = _internal_mutable_generated();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.ColumnDef.generated"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.CollateClause coll_clause = 13 [json_name = "collClause"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_coll_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 coll_oid = 14 [json_name = "collOid"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          coll_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node constraints = 15 [json_name = "constraints"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<122>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node fdwoptions = 16 [json_name = "fdwoptions"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_fdwoptions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<130>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 17 [json_name = "location"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ColumnDef::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ColumnDef)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string colname = 1 [json_name = "colname"];
  if (this->colname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_colname().data(), static_cast<int>(this->_internal_colname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ColumnDef.colname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_colname(), target);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::type_name(this), target, stream);
  }

  // int32 inhcount = 3 [json_name = "inhcount"];
  if (this->inhcount() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_inhcount(), target);
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->is_local() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_local(), target);
  }

  // bool is_not_null = 5 [json_name = "is_not_null"];
  if (this->is_not_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_is_not_null(), target);
  }

  // bool is_from_type = 6 [json_name = "is_from_type"];
  if (this->is_from_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_is_from_type(), target);
  }

  // string storage = 7 [json_name = "storage"];
  if (this->storage().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_storage().data(), static_cast<int>(this->_internal_storage().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ColumnDef.storage");
    target = stream->WriteStringMaybeAliased(
        7, this->_internal_storage(), target);
  }

  // .pg_query.Node raw_default = 8 [json_name = "raw_default"];
  if (this->has_raw_default()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        8, _Internal::raw_default(this), target, stream);
  }

  // .pg_query.Node cooked_default = 9 [json_name = "cooked_default"];
  if (this->has_cooked_default()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        9, _Internal::cooked_default(this), target, stream);
  }

  // string identity = 10 [json_name = "identity"];
  if (this->identity().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_identity().data(), static_cast<int>(this->_internal_identity().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ColumnDef.identity");
    target = stream->WriteStringMaybeAliased(
        10, this->_internal_identity(), target);
  }

  // .pg_query.RangeVar identity_sequence = 11 [json_name = "identitySequence"];
  if (this->has_identity_sequence()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        11, _Internal::identity_sequence(this), target, stream);
  }

  // string generated = 12 [json_name = "generated"];
  if (this->generated().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_generated().data(), static_cast<int>(this->_internal_generated().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ColumnDef.generated");
    target = stream->WriteStringMaybeAliased(
        12, this->_internal_generated(), target);
  }

  // .pg_query.CollateClause coll_clause = 13 [json_name = "collClause"];
  if (this->has_coll_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        13, _Internal::coll_clause(this), target, stream);
  }

  // uint32 coll_oid = 14 [json_name = "collOid"];
  if (this->coll_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(14, this->_internal_coll_oid(), target);
  }

  // repeated .pg_query.Node constraints = 15 [json_name = "constraints"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(15, this->_internal_constraints(i), target, stream);
  }

  // repeated .pg_query.Node fdwoptions = 16 [json_name = "fdwoptions"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_fdwoptions_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(16, this->_internal_fdwoptions(i), target, stream);
  }

  // int32 location = 17 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(17, this->_internal_location(), 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:pg_query.ColumnDef)
  return target;
}

size_t ColumnDef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ColumnDef)
  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 .pg_query.Node constraints = 15 [json_name = "constraints"];
  total_size += 1UL * this->_internal_constraints_size();
  for (const auto& msg : this->constraints_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node fdwoptions = 16 [json_name = "fdwoptions"];
  total_size += 2UL * this->_internal_fdwoptions_size();
  for (const auto& msg : this->fdwoptions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string colname = 1 [json_name = "colname"];
  if (this->colname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_colname());
  }

  // string storage = 7 [json_name = "storage"];
  if (this->storage().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_storage());
  }

  // string identity = 10 [json_name = "identity"];
  if (this->identity().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_identity());
  }

  // string generated = 12 [json_name = "generated"];
  if (this->generated().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_generated());
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *type_name_);
  }

  // .pg_query.Node raw_default = 8 [json_name = "raw_default"];
  if (this->has_raw_default()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *raw_default_);
  }

  // .pg_query.Node cooked_default = 9 [json_name = "cooked_default"];
  if (this->has_cooked_default()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *cooked_default_);
  }

  // .pg_query.RangeVar identity_sequence = 11 [json_name = "identitySequence"];
  if (this->has_identity_sequence()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *identity_sequence_);
  }

  // .pg_query.CollateClause coll_clause = 13 [json_name = "collClause"];
  if (this->has_coll_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *coll_clause_);
  }

  // int32 inhcount = 3 [json_name = "inhcount"];
  if (this->inhcount() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_inhcount());
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->is_local() != 0) {
    total_size += 1 + 1;
  }

  // bool is_not_null = 5 [json_name = "is_not_null"];
  if (this->is_not_null() != 0) {
    total_size += 1 + 1;
  }

  // bool is_from_type = 6 [json_name = "is_from_type"];
  if (this->is_from_type() != 0) {
    total_size += 1 + 1;
  }

  // uint32 coll_oid = 14 [json_name = "collOid"];
  if (this->coll_oid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_coll_oid());
  }

  // int32 location = 17 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ColumnDef::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ColumnDef)
  GOOGLE_DCHECK_NE(&from, this);
  const ColumnDef* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ColumnDef>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ColumnDef)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ColumnDef)
    MergeFrom(*source);
  }
}

void ColumnDef::MergeFrom(const ColumnDef& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ColumnDef)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  constraints_.MergeFrom(from.constraints_);
  fdwoptions_.MergeFrom(from.fdwoptions_);
  if (from.colname().size() > 0) {
    _internal_set_colname(from._internal_colname());
  }
  if (from.storage().size() > 0) {
    _internal_set_storage(from._internal_storage());
  }
  if (from.identity().size() > 0) {
    _internal_set_identity(from._internal_identity());
  }
  if (from.generated().size() > 0) {
    _internal_set_generated(from._internal_generated());
  }
  if (from.has_type_name()) {
    _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
  }
  if (from.has_raw_default()) {
    _internal_mutable_raw_default()->::pg_query::Node::MergeFrom(from._internal_raw_default());
  }
  if (from.has_cooked_default()) {
    _internal_mutable_cooked_default()->::pg_query::Node::MergeFrom(from._internal_cooked_default());
  }
  if (from.has_identity_sequence()) {
    _internal_mutable_identity_sequence()->::pg_query::RangeVar::MergeFrom(from._internal_identity_sequence());
  }
  if (from.has_coll_clause()) {
    _internal_mutable_coll_clause()->::pg_query::CollateClause::MergeFrom(from._internal_coll_clause());
  }
  if (from.inhcount() != 0) {
    _internal_set_inhcount(from._internal_inhcount());
  }
  if (from.is_local() != 0) {
    _internal_set_is_local(from._internal_is_local());
  }
  if (from.is_not_null() != 0) {
    _internal_set_is_not_null(from._internal_is_not_null());
  }
  if (from.is_from_type() != 0) {
    _internal_set_is_from_type(from._internal_is_from_type());
  }
  if (from.coll_oid() != 0) {
    _internal_set_coll_oid(from._internal_coll_oid());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void ColumnDef::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ColumnDef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ColumnDef::CopyFrom(const ColumnDef& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ColumnDef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ColumnDef::IsInitialized() const {
  return true;
}

void ColumnDef::InternalSwap(ColumnDef* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  constraints_.InternalSwap(&other->constraints_);
  fdwoptions_.InternalSwap(&other->fdwoptions_);
  colname_.Swap(&other->colname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  storage_.Swap(&other->storage_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  identity_.Swap(&other->identity_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  generated_.Swap(&other->generated_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ColumnDef, location_)
      + sizeof(ColumnDef::location_)
      - PROTOBUF_FIELD_OFFSET(ColumnDef, type_name_)>(
          reinterpret_cast<char*>(&type_name_),
          reinterpret_cast<char*>(&other->type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class IndexElem::_Internal {
 public:
  static const ::pg_query::Node& expr(const IndexElem* msg);
};

const ::pg_query::Node&
IndexElem::_Internal::expr(const IndexElem* msg) {
  return *msg->expr_;
}
IndexElem::IndexElem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  collation_(arena),
  opclass_(arena),
  opclassopts_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.IndexElem)
}
IndexElem::IndexElem(const IndexElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      collation_(from.collation_),
      opclass_(from.opclass_),
      opclassopts_(from.opclassopts_) {
  _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(), 
      GetArena());
  }
  indexcolname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_indexcolname().empty()) {
    indexcolname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_indexcolname(), 
      GetArena());
  }
  if (from._internal_has_expr()) {
    expr_ = new ::pg_query::Node(*from.expr_);
  } else {
    expr_ = nullptr;
  }
  ::memcpy(&ordering_, &from.ordering_,
    static_cast<size_t>(reinterpret_cast<char*>(&nulls_ordering_) -
    reinterpret_cast<char*>(&ordering_)) + sizeof(nulls_ordering_));
  // @@protoc_insertion_point(copy_constructor:pg_query.IndexElem)
}

void IndexElem::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexcolname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&expr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&nulls_ordering_) -
      reinterpret_cast<char*>(&expr_)) + sizeof(nulls_ordering_));
}

IndexElem::~IndexElem() {
  // @@protoc_insertion_point(destructor:pg_query.IndexElem)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void IndexElem::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexcolname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete expr_;
}

void IndexElem::ArenaDtor(void* object) {
  IndexElem* _this = reinterpret_cast< IndexElem* >(object);
  (void)_this;
}
void IndexElem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void IndexElem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const IndexElem& IndexElem::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void IndexElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.IndexElem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  collation_.Clear();
  opclass_.Clear();
  opclassopts_.Clear();
  name_.ClearToEmpty();
  indexcolname_.ClearToEmpty();
  if (GetArena() == nullptr && expr_ != nullptr) {
    delete expr_;
  }
  expr_ = nullptr;
  ::memset(&ordering_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&nulls_ordering_) -
      reinterpret_cast<char*>(&ordering_)) + sizeof(nulls_ordering_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IndexElem::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.IndexElem.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string indexcolname = 3 [json_name = "indexcolname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_indexcolname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.IndexElem.indexcolname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_collation(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opclass(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opclassopts(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_ordering(static_cast<::pg_query::SortByDir>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_nulls_ordering(static_cast<::pg_query::SortByNulls>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* IndexElem::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IndexElem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IndexElem.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::expr(this), target, stream);
  }

  // string indexcolname = 3 [json_name = "indexcolname"];
  if (this->indexcolname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_indexcolname().data(), static_cast<int>(this->_internal_indexcolname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.IndexElem.indexcolname");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_indexcolname(), target);
  }

  // repeated .pg_query.Node collation = 4 [json_name = "collation"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_collation_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_collation(i), target, stream);
  }

  // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opclass_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_opclass(i), target, stream);
  }

  // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opclassopts_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_opclassopts(i), target, stream);
  }

  // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
  if (this->ordering() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      7, this->_internal_ordering(), target);
  }

  // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
  if (this->nulls_ordering() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      8, this->_internal_nulls_ordering(), 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:pg_query.IndexElem)
  return target;
}

size_t IndexElem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.IndexElem)
  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 .pg_query.Node collation = 4 [json_name = "collation"];
  total_size += 1UL * this->_internal_collation_size();
  for (const auto& msg : this->collation_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
  total_size += 1UL * this->_internal_opclass_size();
  for (const auto& msg : this->opclass_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
  total_size += 1UL * this->_internal_opclassopts_size();
  for (const auto& msg : this->opclassopts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // string indexcolname = 3 [json_name = "indexcolname"];
  if (this->indexcolname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexcolname());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *expr_);
  }

  // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
  if (this->ordering() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_ordering());
  }

  // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
  if (this->nulls_ordering() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_nulls_ordering());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void IndexElem::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.IndexElem)
  GOOGLE_DCHECK_NE(&from, this);
  const IndexElem* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IndexElem>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.IndexElem)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.IndexElem)
    MergeFrom(*source);
  }
}

void IndexElem::MergeFrom(const IndexElem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IndexElem)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  collation_.MergeFrom(from.collation_);
  opclass_.MergeFrom(from.opclass_);
  opclassopts_.MergeFrom(from.opclassopts_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.indexcolname().size() > 0) {
    _internal_set_indexcolname(from._internal_indexcolname());
  }
  if (from.has_expr()) {
    _internal_mutable_expr()->::pg_query::Node::MergeFrom(from._internal_expr());
  }
  if (from.ordering() != 0) {
    _internal_set_ordering(from._internal_ordering());
  }
  if (from.nulls_ordering() != 0) {
    _internal_set_nulls_ordering(from._internal_nulls_ordering());
  }
}

void IndexElem::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.IndexElem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void IndexElem::CopyFrom(const IndexElem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.IndexElem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool IndexElem::IsInitialized() const {
  return true;
}

void IndexElem::InternalSwap(IndexElem* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  collation_.InternalSwap(&other->collation_);
  opclass_.InternalSwap(&other->opclass_);
  opclassopts_.InternalSwap(&other->opclassopts_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  indexcolname_.Swap(&other->indexcolname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IndexElem, nulls_ordering_)
      + sizeof(IndexElem::nulls_ordering_)
      - PROTOBUF_FIELD_OFFSET(IndexElem, expr_)>(
          reinterpret_cast<char*>(&expr_),
          reinterpret_cast<char*>(&other->expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IndexElem::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class Constraint::_Internal {
 public:
  static const ::pg_query::Node& raw_expr(const Constraint* msg);
  static const ::pg_query::Node& where_clause(const Constraint* msg);
  static const ::pg_query::RangeVar& pktable(const Constraint* msg);
};

const ::pg_query::Node&
Constraint::_Internal::raw_expr(const Constraint* msg) {
  return *msg->raw_expr_;
}
const ::pg_query::Node&
Constraint::_Internal::where_clause(const Constraint* msg) {
  return *msg->where_clause_;
}
const ::pg_query::RangeVar&
Constraint::_Internal::pktable(const Constraint* msg) {
  return *msg->pktable_;
}
Constraint::Constraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  keys_(arena),
  including_(arena),
  exclusions_(arena),
  options_(arena),
  fk_attrs_(arena),
  pk_attrs_(arena),
  old_conpfeqop_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Constraint)
}
Constraint::Constraint(const Constraint& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      keys_(from.keys_),
      including_(from.including_),
      exclusions_(from.exclusions_),
      options_(from.options_),
      fk_attrs_(from.fk_attrs_),
      pk_attrs_(from.pk_attrs_),
      old_conpfeqop_(from.old_conpfeqop_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  conname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_conname().empty()) {
    conname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_conname(), 
      GetArena());
  }
  cooked_expr_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_cooked_expr().empty()) {
    cooked_expr_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_cooked_expr(), 
      GetArena());
  }
  generated_when_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_generated_when().empty()) {
    generated_when_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_generated_when(), 
      GetArena());
  }
  indexname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_indexname().empty()) {
    indexname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_indexname(), 
      GetArena());
  }
  indexspace_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_indexspace().empty()) {
    indexspace_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_indexspace(), 
      GetArena());
  }
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_access_method().empty()) {
    access_method_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_access_method(), 
      GetArena());
  }
  fk_matchtype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_fk_matchtype().empty()) {
    fk_matchtype_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fk_matchtype(), 
      GetArena());
  }
  fk_upd_action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_fk_upd_action().empty()) {
    fk_upd_action_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fk_upd_action(), 
      GetArena());
  }
  fk_del_action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_fk_del_action().empty()) {
    fk_del_action_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fk_del_action(), 
      GetArena());
  }
  if (from._internal_has_raw_expr()) {
    raw_expr_ = new ::pg_query::Node(*from.raw_expr_);
  } else {
    raw_expr_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  if (from._internal_has_pktable()) {
    pktable_ = new ::pg_query::RangeVar(*from.pktable_);
  } else {
    pktable_ = nullptr;
  }
  ::memcpy(&contype_, &from.contype_,
    static_cast<size_t>(reinterpret_cast<char*>(&initially_valid_) -
    reinterpret_cast<char*>(&contype_)) + sizeof(initially_valid_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Constraint)
}

void Constraint::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  conname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  cooked_expr_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  generated_when_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexspace_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  access_method_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fk_matchtype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fk_upd_action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fk_del_action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&raw_expr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&initially_valid_) -
      reinterpret_cast<char*>(&raw_expr_)) + sizeof(initially_valid_));
}

Constraint::~Constraint() {
  // @@protoc_insertion_point(destructor:pg_query.Constraint)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Constraint::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  conname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  cooked_expr_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  generated_when_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  indexspace_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  access_method_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fk_matchtype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fk_upd_action_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fk_del_action_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete raw_expr_;
  if (this != internal_default_instance()) delete where_clause_;
  if (this != internal_default_instance()) delete pktable_;
}

void Constraint::ArenaDtor(void* object) {
  Constraint* _this = reinterpret_cast< Constraint* >(object);
  (void)_this;
}
void Constraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Constraint::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Constraint& Constraint::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void Constraint::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Constraint)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  keys_.Clear();
  including_.Clear();
  exclusions_.Clear();
  options_.Clear();
  fk_attrs_.Clear();
  pk_attrs_.Clear();
  old_conpfeqop_.Clear();
  conname_.ClearToEmpty();
  cooked_expr_.ClearToEmpty();
  generated_when_.ClearToEmpty();
  indexname_.ClearToEmpty();
  indexspace_.ClearToEmpty();
  access_method_.ClearToEmpty();
  fk_matchtype_.ClearToEmpty();
  fk_upd_action_.ClearToEmpty();
  fk_del_action_.ClearToEmpty();
  if (GetArena() == nullptr && raw_expr_ != nullptr) {
    delete raw_expr_;
  }
  raw_expr_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  if (GetArena() == nullptr && pktable_ != nullptr) {
    delete pktable_;
  }
  pktable_ = nullptr;
  ::memset(&contype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&initially_valid_) -
      reinterpret_cast<char*>(&contype_)) + sizeof(initially_valid_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Constraint::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.ConstrType contype = 1 [json_name = "contype"];
      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);
          _internal_set_contype(static_cast<::pg_query::ConstrType>(val));
        } else goto handle_unusual;
        continue;
      // string conname = 2 [json_name = "conname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_conname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.conname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool deferrable = 3 [json_name = "deferrable"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          deferrable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool initdeferred = 4 [json_name = "initdeferred"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          initdeferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_no_inherit = 6 [json_name = "is_no_inherit"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          is_no_inherit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node raw_expr = 7 [json_name = "raw_expr"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_raw_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string cooked_expr = 8 [json_name = "cooked_expr"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          auto str = _internal_mutable_cooked_expr();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.cooked_expr"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string generated_when = 9 [json_name = "generated_when"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          auto str = _internal_mutable_generated_when();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.generated_when"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node keys = 10 [json_name = "keys"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_keys(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node including = 11 [json_name = "including"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_including(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node exclusions = 12 [json_name = "exclusions"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_exclusions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<98>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 13 [json_name = "options"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_options(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<106>(ptr));
        } else goto handle_unusual;
        continue;
      // string indexname = 14 [json_name = "indexname"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          auto str = _internal_mutable_indexname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.indexname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string indexspace = 15 [json_name = "indexspace"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          auto str = _internal_mutable_indexspace();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.indexspace"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool reset_default_tblspc = 16 [json_name = "reset_default_tblspc"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          reset_default_tblspc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string access_method = 17 [json_name = "access_method"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          auto str = _internal_mutable_access_method();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.access_method"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 18 [json_name = "where_clause"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.RangeVar pktable = 19 [json_name = "pktable"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_pktable(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node fk_attrs = 20 [json_name = "fk_attrs"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_fk_attrs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<162>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node pk_attrs = 21 [json_name = "pk_attrs"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_pk_attrs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<170>(ptr));
        } else goto handle_unusual;
        continue;
      // string fk_matchtype = 22 [json_name = "fk_matchtype"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          auto str = _internal_mutable_fk_matchtype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.fk_matchtype"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string fk_upd_action = 23 [json_name = "fk_upd_action"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          auto str = _internal_mutable_fk_upd_action();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.fk_upd_action"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string fk_del_action = 24 [json_name = "fk_del_action"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
          auto str = _internal_mutable_fk_del_action();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.Constraint.fk_del_action"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node old_conpfeqop = 25 [json_name = "old_conpfeqop"];
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_old_conpfeqop(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<202>(ptr));
        } else goto handle_unusual;
        continue;
      // uint32 old_pktable_oid = 26 [json_name = "old_pktable_oid"];
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
          old_pktable_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool skip_validation = 27 [json_name = "skip_validation"];
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
          skip_validation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool initially_valid = 28 [json_name = "initially_valid"];
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
          initially_valid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* Constraint::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Constraint)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ConstrType contype = 1 [json_name = "contype"];
  if (this->contype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_contype(), target);
  }

  // string conname = 2 [json_name = "conname"];
  if (this->conname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_conname().data(), static_cast<int>(this->_internal_conname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.conname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_conname(), target);
  }

  // bool deferrable = 3 [json_name = "deferrable"];
  if (this->deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 4 [json_name = "initdeferred"];
  if (this->initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_initdeferred(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  // bool is_no_inherit = 6 [json_name = "is_no_inherit"];
  if (this->is_no_inherit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_is_no_inherit(), target);
  }

  // .pg_query.Node raw_expr = 7 [json_name = "raw_expr"];
  if (this->has_raw_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::raw_expr(this), target, stream);
  }

  // string cooked_expr = 8 [json_name = "cooked_expr"];
  if (this->cooked_expr().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_cooked_expr().data(), static_cast<int>(this->_internal_cooked_expr().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.cooked_expr");
    target = stream->WriteStringMaybeAliased(
        8, this->_internal_cooked_expr(), target);
  }

  // string generated_when = 9 [json_name = "generated_when"];
  if (this->generated_when().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_generated_when().data(), static_cast<int>(this->_internal_generated_when().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.generated_when");
    target = stream->WriteStringMaybeAliased(
        9, this->_internal_generated_when(), target);
  }

  // repeated .pg_query.Node keys = 10 [json_name = "keys"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_keys_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, this->_internal_keys(i), target, stream);
  }

  // repeated .pg_query.Node including = 11 [json_name = "including"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_including_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, this->_internal_including(i), target, stream);
  }

  // repeated .pg_query.Node exclusions = 12 [json_name = "exclusions"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_exclusions_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(12, this->_internal_exclusions(i), target, stream);
  }

  // repeated .pg_query.Node options = 13 [json_name = "options"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_options_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(13, this->_internal_options(i), target, stream);
  }

  // string indexname = 14 [json_name = "indexname"];
  if (this->indexname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_indexname().data(), static_cast<int>(this->_internal_indexname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.indexname");
    target = stream->WriteStringMaybeAliased(
        14, this->_internal_indexname(), target);
  }

  // string indexspace = 15 [json_name = "indexspace"];
  if (this->indexspace().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_indexspace().data(), static_cast<int>(this->_internal_indexspace().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.indexspace");
    target = stream->WriteStringMaybeAliased(
        15, this->_internal_indexspace(), target);
  }

  // bool reset_default_tblspc = 16 [json_name = "reset_default_tblspc"];
  if (this->reset_default_tblspc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(16, this->_internal_reset_default_tblspc(), target);
  }

  // string access_method = 17 [json_name = "access_method"];
  if (this->access_method().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_access_method().data(), static_cast<int>(this->_internal_access_method().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.access_method");
    target = stream->WriteStringMaybeAliased(
        17, this->_internal_access_method(), target);
  }

  // .pg_query.Node where_clause = 18 [json_name = "where_clause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        18, _Internal::where_clause(this), target, stream);
  }

  // .pg_query.RangeVar pktable = 19 [json_name = "pktable"];
  if (this->has_pktable()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        19, _Internal::pktable(this), target, stream);
  }

  // repeated .pg_query.Node fk_attrs = 20 [json_name = "fk_attrs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_fk_attrs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(20, this->_internal_fk_attrs(i), target, stream);
  }

  // repeated .pg_query.Node pk_attrs = 21 [json_name = "pk_attrs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_pk_attrs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(21, this->_internal_pk_attrs(i), target, stream);
  }

  // string fk_matchtype = 22 [json_name = "fk_matchtype"];
  if (this->fk_matchtype().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fk_matchtype().data(), static_cast<int>(this->_internal_fk_matchtype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.fk_matchtype");
    target = stream->WriteStringMaybeAliased(
        22, this->_internal_fk_matchtype(), target);
  }

  // string fk_upd_action = 23 [json_name = "fk_upd_action"];
  if (this->fk_upd_action().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fk_upd_action().data(), static_cast<int>(this->_internal_fk_upd_action().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.fk_upd_action");
    target = stream->WriteStringMaybeAliased(
        23, this->_internal_fk_upd_action(), target);
  }

  // string fk_del_action = 24 [json_name = "fk_del_action"];
  if (this->fk_del_action().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fk_del_action().data(), static_cast<int>(this->_internal_fk_del_action().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Constraint.fk_del_action");
    target = stream->WriteStringMaybeAliased(
        24, this->_internal_fk_del_action(), target);
  }

  // repeated .pg_query.Node old_conpfeqop = 25 [json_name = "old_conpfeqop"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_old_conpfeqop_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(25, this->_internal_old_conpfeqop(i), target, stream);
  }

  // uint32 old_pktable_oid = 26 [json_name = "old_pktable_oid"];
  if (this->old_pktable_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(26, this->_internal_old_pktable_oid(), target);
  }

  // bool skip_validation = 27 [json_name = "skip_validation"];
  if (this->skip_validation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(27, this->_internal_skip_validation(), target);
  }

  // bool initially_valid = 28 [json_name = "initially_valid"];
  if (this->initially_valid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(28, this->_internal_initially_valid(), 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:pg_query.Constraint)
  return target;
}

size_t Constraint::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.Constraint)
  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 .pg_query.Node keys = 10 [json_name = "keys"];
  total_size += 1UL * this->_internal_keys_size();
  for (const auto& msg : this->keys_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node including = 11 [json_name = "including"];
  total_size += 1UL * this->_internal_including_size();
  for (const auto& msg : this->including_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node exclusions = 12 [json_name = "exclusions"];
  total_size += 1UL * this->_internal_exclusions_size();
  for (const auto& msg : this->exclusions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 13 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node fk_attrs = 20 [json_name = "fk_attrs"];
  total_size += 2UL * this->_internal_fk_attrs_size();
  for (const auto& msg : this->fk_attrs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node pk_attrs = 21 [json_name = "pk_attrs"];
  total_size += 2UL * this->_internal_pk_attrs_size();
  for (const auto& msg : this->pk_attrs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node old_conpfeqop = 25 [json_name = "old_conpfeqop"];
  total_size += 2UL * this->_internal_old_conpfeqop_size();
  for (const auto& msg : this->old_conpfeqop_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string conname = 2 [json_name = "conname"];
  if (this->conname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conname());
  }

  // string cooked_expr = 8 [json_name = "cooked_expr"];
  if (this->cooked_expr().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cooked_expr());
  }

  // string generated_when = 9 [json_name = "generated_when"];
  if (this->generated_when().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_generated_when());
  }

  // string indexname = 14 [json_name = "indexname"];
  if (this->indexname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexname());
  }

  // string indexspace = 15 [json_name = "indexspace"];
  if (this->indexspace().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexspace());
  }

  // string access_method = 17 [json_name = "access_method"];
  if (this->access_method().size() > 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // string fk_matchtype = 22 [json_name = "fk_matchtype"];
  if (this->fk_matchtype().size() > 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fk_matchtype());
  }

  // string fk_upd_action = 23 [json_name = "fk_upd_action"];
  if (this->fk_upd_action().size() > 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fk_upd_action());
  }

  // string fk_del_action = 24 [json_name = "fk_del_action"];
  if (this->fk_del_action().size() > 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fk_del_action());
  }

  // .pg_query.Node raw_expr = 7 [json_name = "raw_expr"];
  if (this->has_raw_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *raw_expr_);
  }

  // .pg_query.Node where_clause = 18 [json_name = "where_clause"];
  if (this->has_where_clause()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // .pg_query.RangeVar pktable = 19 [json_name = "pktable"];
  if (this->has_pktable()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *pktable_);
  }

  // .pg_query.ConstrType contype = 1 [json_name = "contype"];
  if (this->contype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_contype());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  // bool deferrable = 3 [json_name = "deferrable"];
  if (this->deferrable() != 0) {
    total_size += 1 + 1;
  }

  // bool initdeferred = 4 [json_name = "initdeferred"];
  if (this->initdeferred() != 0) {
    total_size += 1 + 1;
  }

  // bool is_no_inherit = 6 [json_name = "is_no_inherit"];
  if (this->is_no_inherit() != 0) {
    total_size += 1 + 1;
  }

  // bool reset_default_tblspc = 16 [json_name = "reset_default_tblspc"];
  if (this->reset_default_tblspc() != 0) {
    total_size += 2 + 1;
  }

  // uint32 old_pktable_oid = 26 [json_name = "old_pktable_oid"];
  if (this->old_pktable_oid() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_old_pktable_oid());
  }

  // bool skip_validation = 27 [json_name = "skip_validation"];
  if (this->skip_validation() != 0) {
    total_size += 2 + 1;
  }

  // bool initially_valid = 28 [json_name = "initially_valid"];
  if (this->initially_valid() != 0) {
    total_size += 2 + 1;
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Constraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.Constraint)
  GOOGLE_DCHECK_NE(&from, this);
  const Constraint* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Constraint>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.Constraint)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.Constraint)
    MergeFrom(*source);
  }
}

void Constraint::MergeFrom(const Constraint& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Constraint)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  keys_.MergeFrom(from.keys_);
  including_.MergeFrom(from.including_);
  exclusions_.MergeFrom(from.exclusions_);
  options_.MergeFrom(from.options_);
  fk_attrs_.MergeFrom(from.fk_attrs_);
  pk_attrs_.MergeFrom(from.pk_attrs_);
  old_conpfeqop_.MergeFrom(from.old_conpfeqop_);
  if (from.conname().size() > 0) {
    _internal_set_conname(from._internal_conname());
  }
  if (from.cooked_expr().size() > 0) {
    _internal_set_cooked_expr(from._internal_cooked_expr());
  }
  if (from.generated_when().size() > 0) {
    _internal_set_generated_when(from._internal_generated_when());
  }
  if (from.indexname().size() > 0) {
    _internal_set_indexname(from._internal_indexname());
  }
  if (from.indexspace().size() > 0) {
    _internal_set_indexspace(from._internal_indexspace());
  }
  if (from.access_method().size() > 0) {
    _internal_set_access_method(from._internal_access_method());
  }
  if (from.fk_matchtype().size() > 0) {
    _internal_set_fk_matchtype(from._internal_fk_matchtype());
  }
  if (from.fk_upd_action().size() > 0) {
    _internal_set_fk_upd_action(from._internal_fk_upd_action());
  }
  if (from.fk_del_action().size() > 0) {
    _internal_set_fk_del_action(from._internal_fk_del_action());
  }
  if (from.has_raw_expr()) {
    _internal_mutable_raw_expr()->::pg_query::Node::MergeFrom(from._internal_raw_expr());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.has_pktable()) {
    _internal_mutable_pktable()->::pg_query::RangeVar::MergeFrom(from._internal_pktable());
  }
  if (from.contype() != 0) {
    _internal_set_contype(from._internal_contype());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
  if (from.deferrable() != 0) {
    _internal_set_deferrable(from._internal_deferrable());
  }
  if (from.initdeferred() != 0) {
    _internal_set_initdeferred(from._internal_initdeferred());
  }
  if (from.is_no_inherit() != 0) {
    _internal_set_is_no_inherit(from._internal_is_no_inherit());
  }
  if (from.reset_default_tblspc() != 0) {
    _internal_set_reset_default_tblspc(from._internal_reset_default_tblspc());
  }
  if (from.old_pktable_oid() != 0) {
    _internal_set_old_pktable_oid(from._internal_old_pktable_oid());
  }
  if (from.skip_validation() != 0) {
    _internal_set_skip_validation(from._internal_skip_validation());
  }
  if (from.initially_valid() != 0) {
    _internal_set_initially_valid(from._internal_initially_valid());
  }
}

void Constraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.Constraint)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Constraint::CopyFrom(const Constraint& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.Constraint)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Constraint::IsInitialized() const {
  return true;
}

void Constraint::InternalSwap(Constraint* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  keys_.InternalSwap(&other->keys_);
  including_.InternalSwap(&other->including_);
  exclusions_.InternalSwap(&other->exclusions_);
  options_.InternalSwap(&other->options_);
  fk_attrs_.InternalSwap(&other->fk_attrs_);
  pk_attrs_.InternalSwap(&other->pk_attrs_);
  old_conpfeqop_.InternalSwap(&other->old_conpfeqop_);
  conname_.Swap(&other->conname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  cooked_expr_.Swap(&other->cooked_expr_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  generated_when_.Swap(&other->generated_when_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  indexname_.Swap(&other->indexname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  indexspace_.Swap(&other->indexspace_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  access_method_.Swap(&other->access_method_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  fk_matchtype_.Swap(&other->fk_matchtype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  fk_upd_action_.Swap(&other->fk_upd_action_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  fk_del_action_.Swap(&other->fk_del_action_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Constraint, initially_valid_)
      + sizeof(Constraint::initially_valid_)
      - PROTOBUF_FIELD_OFFSET(Constraint, raw_expr_)>(
          reinterpret_cast<char*>(&raw_expr_),
          reinterpret_cast<char*>(&other->raw_expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Constraint::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class DefElem::_Internal {
 public:
  static const ::pg_query::Node& arg(const DefElem* msg);
};

const ::pg_query::Node&
DefElem::_Internal::arg(const DefElem* msg) {
  return *msg->arg_;
}
DefElem::DefElem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DefElem)
}
DefElem::DefElem(const DefElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  defnamespace_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_defnamespace().empty()) {
    defnamespace_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_defnamespace(), 
      GetArena());
  }
  defname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_defname().empty()) {
    defname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_defname(), 
      GetArena());
  }
  if (from._internal_has_arg()) {
    arg_ = new ::pg_query::Node(*from.arg_);
  } else {
    arg_ = nullptr;
  }
  ::memcpy(&defaction_, &from.defaction_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&defaction_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DefElem)
}

void DefElem::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  defnamespace_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  defname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&arg_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&arg_)) + sizeof(location_));
}

DefElem::~DefElem() {
  // @@protoc_insertion_point(destructor:pg_query.DefElem)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void DefElem::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  defnamespace_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  defname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete arg_;
}

void DefElem::ArenaDtor(void* object) {
  DefElem* _this = reinterpret_cast< DefElem* >(object);
  (void)_this;
}
void DefElem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DefElem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const DefElem& DefElem::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void DefElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DefElem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  defnamespace_.ClearToEmpty();
  defname_.ClearToEmpty();
  if (GetArena() == nullptr && arg_ != nullptr) {
    delete arg_;
  }
  arg_ = nullptr;
  ::memset(&defaction_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&defaction_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DefElem::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string defnamespace = 1 [json_name = "defnamespace"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_defnamespace();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.DefElem.defnamespace"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string defname = 2 [json_name = "defname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_defname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.DefElem.defname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node arg = 3 [json_name = "arg"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_defaction(static_cast<::pg_query::DefElemAction>(val));
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* DefElem::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DefElem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string defnamespace = 1 [json_name = "defnamespace"];
  if (this->defnamespace().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_defnamespace().data(), static_cast<int>(this->_internal_defnamespace().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DefElem.defnamespace");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_defnamespace(), target);
  }

  // string defname = 2 [json_name = "defname"];
  if (this->defname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_defname().data(), static_cast<int>(this->_internal_defname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.DefElem.defname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_defname(), target);
  }

  // .pg_query.Node arg = 3 [json_name = "arg"];
  if (this->has_arg()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::arg(this), target, stream);
  }

  // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
  if (this->defaction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_defaction(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.DefElem)
  return target;
}

size_t DefElem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DefElem)
  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 defnamespace = 1 [json_name = "defnamespace"];
  if (this->defnamespace().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_defnamespace());
  }

  // string defname = 2 [json_name = "defname"];
  if (this->defname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_defname());
  }

  // .pg_query.Node arg = 3 [json_name = "arg"];
  if (this->has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_);
  }

  // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
  if (this->defaction() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_defaction());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DefElem::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.DefElem)
  GOOGLE_DCHECK_NE(&from, this);
  const DefElem* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DefElem>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.DefElem)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.DefElem)
    MergeFrom(*source);
  }
}

void DefElem::MergeFrom(const DefElem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DefElem)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.defnamespace().size() > 0) {
    _internal_set_defnamespace(from._internal_defnamespace());
  }
  if (from.defname().size() > 0) {
    _internal_set_defname(from._internal_defname());
  }
  if (from.has_arg()) {
    _internal_mutable_arg()->::pg_query::Node::MergeFrom(from._internal_arg());
  }
  if (from.defaction() != 0) {
    _internal_set_defaction(from._internal_defaction());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void DefElem::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.DefElem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DefElem::CopyFrom(const DefElem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DefElem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DefElem::IsInitialized() const {
  return true;
}

void DefElem::InternalSwap(DefElem* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  defnamespace_.Swap(&other->defnamespace_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  defname_.Swap(&other->defname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DefElem, location_)
      + sizeof(DefElem::location_)
      - PROTOBUF_FIELD_OFFSET(DefElem, arg_)>(
          reinterpret_cast<char*>(&arg_),
          reinterpret_cast<char*>(&other->arg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DefElem::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RangeTblEntry::_Internal {
 public:
  static const ::pg_query::TableSampleClause& tablesample(const RangeTblEntry* msg);
  static const ::pg_query::Query& subquery(const RangeTblEntry* msg);
  static const ::pg_query::TableFunc& tablefunc(const RangeTblEntry* msg);
  static const ::pg_query::Alias& alias(const RangeTblEntry* msg);
  static const ::pg_query::Alias& eref(const RangeTblEntry* msg);
};

const ::pg_query::TableSampleClause&
RangeTblEntry::_Internal::tablesample(const RangeTblEntry* msg) {
  return *msg->tablesample_;
}
const ::pg_query::Query&
RangeTblEntry::_Internal::subquery(const RangeTblEntry* msg) {
  return *msg->subquery_;
}
const ::pg_query::TableFunc&
RangeTblEntry::_Internal::tablefunc(const RangeTblEntry* msg) {
  return *msg->tablefunc_;
}
const ::pg_query::Alias&
RangeTblEntry::_Internal::alias(const RangeTblEntry* msg) {
  return *msg->alias_;
}
const ::pg_query::Alias&
RangeTblEntry::_Internal::eref(const RangeTblEntry* msg) {
  return *msg->eref_;
}
RangeTblEntry::RangeTblEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  joinaliasvars_(arena),
  joinleftcols_(arena),
  joinrightcols_(arena),
  functions_(arena),
  values_lists_(arena),
  coltypes_(arena),
  coltypmods_(arena),
  colcollations_(arena),
  security_quals_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblEntry)
}
RangeTblEntry::RangeTblEntry(const RangeTblEntry& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      joinaliasvars_(from.joinaliasvars_),
      joinleftcols_(from.joinleftcols_),
      joinrightcols_(from.joinrightcols_),
      functions_(from.functions_),
      values_lists_(from.values_lists_),
      coltypes_(from.coltypes_),
      coltypmods_(from.coltypmods_),
      colcollations_(from.colcollations_),
      security_quals_(from.security_quals_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  relkind_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_relkind().empty()) {
    relkind_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_relkind(), 
      GetArena());
  }
  ctename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_ctename().empty()) {
    ctename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_ctename(), 
      GetArena());
  }
  enrname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_enrname().empty()) {
    enrname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_enrname(), 
      GetArena());
  }
  if (from._internal_has_tablesample()) {
    tablesample_ = new ::pg_query::TableSampleClause(*from.tablesample_);
  } else {
    tablesample_ = nullptr;
  }
  if (from._internal_has_subquery()) {
    subquery_ = new ::pg_query::Query(*from.subquery_);
  } else {
    subquery_ = nullptr;
  }
  if (from._internal_has_tablefunc()) {
    tablefunc_ = new ::pg_query::TableFunc(*from.tablefunc_);
  } else {
    tablefunc_ = nullptr;
  }
  if (from._internal_has_alias()) {
    alias_ = new ::pg_query::Alias(*from.alias_);
  } else {
    alias_ = nullptr;
  }
  if (from._internal_has_eref()) {
    eref_ = new ::pg_query::Alias(*from.eref_);
  } else {
    eref_ = nullptr;
  }
  ::memcpy(&rtekind_, &from.rtekind_,
    static_cast<size_t>(reinterpret_cast<char*>(&check_as_user_) -
    reinterpret_cast<char*>(&rtekind_)) + sizeof(check_as_user_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblEntry)
}

void RangeTblEntry::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  relkind_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ctename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  enrname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&tablesample_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&check_as_user_) -
      reinterpret_cast<char*>(&tablesample_)) + sizeof(check_as_user_));
}

RangeTblEntry::~RangeTblEntry() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblEntry)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeTblEntry::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  relkind_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ctename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  enrname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete tablesample_;
  if (this != internal_default_instance()) delete subquery_;
  if (this != internal_default_instance()) delete tablefunc_;
  if (this != internal_default_instance()) delete alias_;
  if (this != internal_default_instance()) delete eref_;
}

void RangeTblEntry::ArenaDtor(void* object) {
  RangeTblEntry* _this = reinterpret_cast< RangeTblEntry* >(object);
  (void)_this;
}
void RangeTblEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeTblEntry::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeTblEntry& RangeTblEntry::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RangeTblEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTblEntry)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  joinaliasvars_.Clear();
  joinleftcols_.Clear();
  joinrightcols_.Clear();
  functions_.Clear();
  values_lists_.Clear();
  coltypes_.Clear();
  coltypmods_.Clear();
  colcollations_.Clear();
  security_quals_.Clear();
  relkind_.ClearToEmpty();
  ctename_.ClearToEmpty();
  enrname_.ClearToEmpty();
  if (GetArena() == nullptr && tablesample_ != nullptr) {
    delete tablesample_;
  }
  tablesample_ = nullptr;
  if (GetArena() == nullptr && subquery_ != nullptr) {
    delete subquery_;
  }
  subquery_ = nullptr;
  if (GetArena() == nullptr && tablefunc_ != nullptr) {
    delete tablefunc_;
  }
  tablefunc_ = nullptr;
  if (GetArena() == nullptr && alias_ != nullptr) {
    delete alias_;
  }
  alias_ = nullptr;
  if (GetArena() == nullptr && eref_ != nullptr) {
    delete eref_;
  }
  eref_ = nullptr;
  ::memset(&rtekind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&check_as_user_) -
      reinterpret_cast<char*>(&rtekind_)) + sizeof(check_as_user_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTblEntry::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"];
      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);
          _internal_set_rtekind(static_cast<::pg_query::RTEKind>(val));
        } else goto handle_unusual;
        continue;
      // uint32 relid = 2 [json_name = "relid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          relid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string relkind = 3 [json_name = "relkind"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_relkind();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeTblEntry.relkind"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 rellockmode = 4 [json_name = "rellockmode"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          rellockmode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_tablesample(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Query subquery = 6 [json_name = "subquery"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_subquery(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool security_barrier = 7 [json_name = "security_barrier"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          security_barrier_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.JoinType jointype = 8 [json_name = "jointype"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_jointype(static_cast<::pg_query::JoinType>(val));
        } else goto handle_unusual;
        continue;
      // int32 joinmergedcols = 9 [json_name = "joinmergedcols"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          joinmergedcols_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node joinaliasvars = 10 [json_name = "joinaliasvars"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_joinaliasvars(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node joinleftcols = 11 [json_name = "joinleftcols"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_joinleftcols(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node joinrightcols = 12 [json_name = "joinrightcols"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_joinrightcols(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<98>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node functions = 13 [json_name = "functions"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_functions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<106>(ptr));
        } else goto handle_unusual;
        continue;
      // bool funcordinality = 14 [json_name = "funcordinality"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          funcordinality_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TableFunc tablefunc = 15 [json_name = "tablefunc"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_tablefunc(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node values_lists = 16 [json_name = "values_lists"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_values_lists(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<130>(ptr));
        } else goto handle_unusual;
        continue;
      // string ctename = 17 [json_name = "ctename"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
          auto str = _internal_mutable_ctename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeTblEntry.ctename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 ctelevelsup = 18 [json_name = "ctelevelsup"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
          ctelevelsup_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool self_reference = 19 [json_name = "self_reference"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
          self_reference_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node coltypes = 20 [json_name = "coltypes"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_coltypes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<162>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node coltypmods = 21 [json_name = "coltypmods"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_coltypmods(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<170>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node colcollations = 22 [json_name = "colcollations"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_colcollations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<178>(ptr));
        } else goto handle_unusual;
        continue;
      // string enrname = 23 [json_name = "enrname"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
          auto str = _internal_mutable_enrname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RangeTblEntry.enrname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double enrtuples = 24 [json_name = "enrtuples"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 193)) {
          enrtuples_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 25 [json_name = "alias"];
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Alias eref = 26 [json_name = "eref"];
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_eref(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool lateral = 27 [json_name = "lateral"];
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
          lateral_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool inh = 28 [json_name = "inh"];
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
          inh_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool in_from_cl = 29 [json_name = "inFromCl"];
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
          in_from_cl_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 required_perms = 30 [json_name = "requiredPerms"];
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
          required_perms_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 check_as_user = 31 [json_name = "checkAsUser"];
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
          check_as_user_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"];
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_security_quals(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<258>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RangeTblEntry::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblEntry)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"];
  if (this->rtekind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_rtekind(), target);
  }

  // uint32 relid = 2 [json_name = "relid"];
  if (this->relid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_relid(), target);
  }

  // string relkind = 3 [json_name = "relkind"];
  if (this->relkind().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_relkind().data(), static_cast<int>(this->_internal_relkind().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeTblEntry.relkind");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_relkind(), target);
  }

  // int32 rellockmode = 4 [json_name = "rellockmode"];
  if (this->rellockmode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_rellockmode(), target);
  }

  // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"];
  if (this->has_tablesample()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::tablesample(this), target, stream);
  }

  // .pg_query.Query subquery = 6 [json_name = "subquery"];
  if (this->has_subquery()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::subquery(this), target, stream);
  }

  // bool security_barrier = 7 [json_name = "security_barrier"];
  if (this->security_barrier() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_security_barrier(), target);
  }

  // .pg_query.JoinType jointype = 8 [json_name = "jointype"];
  if (this->jointype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      8, this->_internal_jointype(), target);
  }

  // int32 joinmergedcols = 9 [json_name = "joinmergedcols"];
  if (this->joinmergedcols() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_joinmergedcols(), target);
  }

  // repeated .pg_query.Node joinaliasvars = 10 [json_name = "joinaliasvars"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_joinaliasvars_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, this->_internal_joinaliasvars(i), target, stream);
  }

  // repeated .pg_query.Node joinleftcols = 11 [json_name = "joinleftcols"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_joinleftcols_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, this->_internal_joinleftcols(i), target, stream);
  }

  // repeated .pg_query.Node joinrightcols = 12 [json_name = "joinrightcols"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_joinrightcols_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(12, this->_internal_joinrightcols(i), target, stream);
  }

  // repeated .pg_query.Node functions = 13 [json_name = "functions"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_functions_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(13, this->_internal_functions(i), target, stream);
  }

  // bool funcordinality = 14 [json_name = "funcordinality"];
  if (this->funcordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(14, this->_internal_funcordinality(), target);
  }

  // .pg_query.TableFunc tablefunc = 15 [json_name = "tablefunc"];
  if (this->has_tablefunc()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        15, _Internal::tablefunc(this), target, stream);
  }

  // repeated .pg_query.Node values_lists = 16 [json_name = "values_lists"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_values_lists_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(16, this->_internal_values_lists(i), target, stream);
  }

  // string ctename = 17 [json_name = "ctename"];
  if (this->ctename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_ctename().data(), static_cast<int>(this->_internal_ctename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeTblEntry.ctename");
    target = stream->WriteStringMaybeAliased(
        17, this->_internal_ctename(), target);
  }

  // uint32 ctelevelsup = 18 [json_name = "ctelevelsup"];
  if (this->ctelevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(18, this->_internal_ctelevelsup(), target);
  }

  // bool self_reference = 19 [json_name = "self_reference"];
  if (this->self_reference() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(19, this->_internal_self_reference(), target);
  }

  // repeated .pg_query.Node coltypes = 20 [json_name = "coltypes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_coltypes_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(20, this->_internal_coltypes(i), target, stream);
  }

  // repeated .pg_query.Node coltypmods = 21 [json_name = "coltypmods"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_coltypmods_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(21, this->_internal_coltypmods(i), target, stream);
  }

  // repeated .pg_query.Node colcollations = 22 [json_name = "colcollations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_colcollations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(22, this->_internal_colcollations(i), target, stream);
  }

  // string enrname = 23 [json_name = "enrname"];
  if (this->enrname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_enrname().data(), static_cast<int>(this->_internal_enrname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RangeTblEntry.enrname");
    target = stream->WriteStringMaybeAliased(
        23, this->_internal_enrname(), target);
  }

  // double enrtuples = 24 [json_name = "enrtuples"];
  if (!(this->enrtuples() <= 0 && this->enrtuples() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(24, this->_internal_enrtuples(), target);
  }

  // .pg_query.Alias alias = 25 [json_name = "alias"];
  if (this->has_alias()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        25, _Internal::alias(this), target, stream);
  }

  // .pg_query.Alias eref = 26 [json_name = "eref"];
  if (this->has_eref()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        26, _Internal::eref(this), target, stream);
  }

  // bool lateral = 27 [json_name = "lateral"];
  if (this->lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(27, this->_internal_lateral(), target);
  }

  // bool inh = 28 [json_name = "inh"];
  if (this->inh() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(28, this->_internal_inh(), target);
  }

  // bool in_from_cl = 29 [json_name = "inFromCl"];
  if (this->in_from_cl() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(29, this->_internal_in_from_cl(), target);
  }

  // uint32 required_perms = 30 [json_name = "requiredPerms"];
  if (this->required_perms() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(30, this->_internal_required_perms(), target);
  }

  // uint32 check_as_user = 31 [json_name = "checkAsUser"];
  if (this->check_as_user() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(31, this->_internal_check_as_user(), target);
  }

  // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_security_quals_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(32, this->_internal_security_quals(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:pg_query.RangeTblEntry)
  return target;
}

size_t RangeTblEntry::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeTblEntry)
  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 .pg_query.Node joinaliasvars = 10 [json_name = "joinaliasvars"];
  total_size += 1UL * this->_internal_joinaliasvars_size();
  for (const auto& msg : this->joinaliasvars_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node joinleftcols = 11 [json_name = "joinleftcols"];
  total_size += 1UL * this->_internal_joinleftcols_size();
  for (const auto& msg : this->joinleftcols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node joinrightcols = 12 [json_name = "joinrightcols"];
  total_size += 1UL * this->_internal_joinrightcols_size();
  for (const auto& msg : this->joinrightcols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node functions = 13 [json_name = "functions"];
  total_size += 1UL * this->_internal_functions_size();
  for (const auto& msg : this->functions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node values_lists = 16 [json_name = "values_lists"];
  total_size += 2UL * this->_internal_values_lists_size();
  for (const auto& msg : this->values_lists_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coltypes = 20 [json_name = "coltypes"];
  total_size += 2UL * this->_internal_coltypes_size();
  for (const auto& msg : this->coltypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coltypmods = 21 [json_name = "coltypmods"];
  total_size += 2UL * this->_internal_coltypmods_size();
  for (const auto& msg : this->coltypmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node colcollations = 22 [json_name = "colcollations"];
  total_size += 2UL * this->_internal_colcollations_size();
  for (const auto& msg : this->colcollations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"];
  total_size += 2UL * this->_internal_security_quals_size();
  for (const auto& msg : this->security_quals_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string relkind = 3 [json_name = "relkind"];
  if (this->relkind().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_relkind());
  }

  // string ctename = 17 [json_name = "ctename"];
  if (this->ctename().size() > 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_ctename());
  }

  // string enrname = 23 [json_name = "enrname"];
  if (this->enrname().size() > 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_enrname());
  }

  // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"];
  if (this->has_tablesample()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *tablesample_);
  }

  // .pg_query.Query subquery = 6 [json_name = "subquery"];
  if (this->has_subquery()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *subquery_);
  }

  // .pg_query.TableFunc tablefunc = 15 [json_name = "tablefunc"];
  if (this->has_tablefunc()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *tablefunc_);
  }

  // .pg_query.Alias alias = 25 [json_name = "alias"];
  if (this->has_alias()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *alias_);
  }

  // .pg_query.Alias eref = 26 [json_name = "eref"];
  if (this->has_eref()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *eref_);
  }

  // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"];
  if (this->rtekind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_rtekind());
  }

  // uint32 relid = 2 [json_name = "relid"];
  if (this->relid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_relid());
  }

  // int32 rellockmode = 4 [json_name = "rellockmode"];
  if (this->rellockmode() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_rellockmode());
  }

  // .pg_query.JoinType jointype = 8 [json_name = "jointype"];
  if (this->jointype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_jointype());
  }

  // int32 joinmergedcols = 9 [json_name = "joinmergedcols"];
  if (this->joinmergedcols() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_joinmergedcols());
  }

  // bool security_barrier = 7 [json_name = "security_barrier"];
  if (this->security_barrier() != 0) {
    total_size += 1 + 1;
  }

  // bool funcordinality = 14 [json_name = "funcordinality"];
  if (this->funcordinality() != 0) {
    total_size += 1 + 1;
  }

  // bool self_reference = 19 [json_name = "self_reference"];
  if (this->self_reference() != 0) {
    total_size += 2 + 1;
  }

  // bool lateral = 27 [json_name = "lateral"];
  if (this->lateral() != 0) {
    total_size += 2 + 1;
  }

  // double enrtuples = 24 [json_name = "enrtuples"];
  if (!(this->enrtuples() <= 0 && this->enrtuples() >= 0)) {
    total_size += 2 + 8;
  }

  // uint32 ctelevelsup = 18 [json_name = "ctelevelsup"];
  if (this->ctelevelsup() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_ctelevelsup());
  }

  // bool inh = 28 [json_name = "inh"];
  if (this->inh() != 0) {
    total_size += 2 + 1;
  }

  // bool in_from_cl = 29 [json_name = "inFromCl"];
  if (this->in_from_cl() != 0) {
    total_size += 2 + 1;
  }

  // uint32 required_perms = 30 [json_name = "requiredPerms"];
  if (this->required_perms() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_required_perms());
  }

  // uint32 check_as_user = 31 [json_name = "checkAsUser"];
  if (this->check_as_user() != 0) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_check_as_user());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RangeTblEntry::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RangeTblEntry)
  GOOGLE_DCHECK_NE(&from, this);
  const RangeTblEntry* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RangeTblEntry>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RangeTblEntry)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RangeTblEntry)
    MergeFrom(*source);
  }
}

void RangeTblEntry::MergeFrom(const RangeTblEntry& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblEntry)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  joinaliasvars_.MergeFrom(from.joinaliasvars_);
  joinleftcols_.MergeFrom(from.joinleftcols_);
  joinrightcols_.MergeFrom(from.joinrightcols_);
  functions_.MergeFrom(from.functions_);
  values_lists_.MergeFrom(from.values_lists_);
  coltypes_.MergeFrom(from.coltypes_);
  coltypmods_.MergeFrom(from.coltypmods_);
  colcollations_.MergeFrom(from.colcollations_);
  security_quals_.MergeFrom(from.security_quals_);
  if (from.relkind().size() > 0) {
    _internal_set_relkind(from._internal_relkind());
  }
  if (from.ctename().size() > 0) {
    _internal_set_ctename(from._internal_ctename());
  }
  if (from.enrname().size() > 0) {
    _internal_set_enrname(from._internal_enrname());
  }
  if (from.has_tablesample()) {
    _internal_mutable_tablesample()->::pg_query::TableSampleClause::MergeFrom(from._internal_tablesample());
  }
  if (from.has_subquery()) {
    _internal_mutable_subquery()->::pg_query::Query::MergeFrom(from._internal_subquery());
  }
  if (from.has_tablefunc()) {
    _internal_mutable_tablefunc()->::pg_query::TableFunc::MergeFrom(from._internal_tablefunc());
  }
  if (from.has_alias()) {
    _internal_mutable_alias()->::pg_query::Alias::MergeFrom(from._internal_alias());
  }
  if (from.has_eref()) {
    _internal_mutable_eref()->::pg_query::Alias::MergeFrom(from._internal_eref());
  }
  if (from.rtekind() != 0) {
    _internal_set_rtekind(from._internal_rtekind());
  }
  if (from.relid() != 0) {
    _internal_set_relid(from._internal_relid());
  }
  if (from.rellockmode() != 0) {
    _internal_set_rellockmode(from._internal_rellockmode());
  }
  if (from.jointype() != 0) {
    _internal_set_jointype(from._internal_jointype());
  }
  if (from.joinmergedcols() != 0) {
    _internal_set_joinmergedcols(from._internal_joinmergedcols());
  }
  if (from.security_barrier() != 0) {
    _internal_set_security_barrier(from._internal_security_barrier());
  }
  if (from.funcordinality() != 0) {
    _internal_set_funcordinality(from._internal_funcordinality());
  }
  if (from.self_reference() != 0) {
    _internal_set_self_reference(from._internal_self_reference());
  }
  if (from.lateral() != 0) {
    _internal_set_lateral(from._internal_lateral());
  }
  if (!(from.enrtuples() <= 0 && from.enrtuples() >= 0)) {
    _internal_set_enrtuples(from._internal_enrtuples());
  }
  if (from.ctelevelsup() != 0) {
    _internal_set_ctelevelsup(from._internal_ctelevelsup());
  }
  if (from.inh() != 0) {
    _internal_set_inh(from._internal_inh());
  }
  if (from.in_from_cl() != 0) {
    _internal_set_in_from_cl(from._internal_in_from_cl());
  }
  if (from.required_perms() != 0) {
    _internal_set_required_perms(from._internal_required_perms());
  }
  if (from.check_as_user() != 0) {
    _internal_set_check_as_user(from._internal_check_as_user());
  }
}

void RangeTblEntry::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RangeTblEntry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RangeTblEntry::CopyFrom(const RangeTblEntry& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RangeTblEntry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RangeTblEntry::IsInitialized() const {
  return true;
}

void RangeTblEntry::InternalSwap(RangeTblEntry* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  joinaliasvars_.InternalSwap(&other->joinaliasvars_);
  joinleftcols_.InternalSwap(&other->joinleftcols_);
  joinrightcols_.InternalSwap(&other->joinrightcols_);
  functions_.InternalSwap(&other->functions_);
  values_lists_.InternalSwap(&other->values_lists_);
  coltypes_.InternalSwap(&other->coltypes_);
  coltypmods_.InternalSwap(&other->coltypmods_);
  colcollations_.InternalSwap(&other->colcollations_);
  security_quals_.InternalSwap(&other->security_quals_);
  relkind_.Swap(&other->relkind_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ctename_.Swap(&other->ctename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  enrname_.Swap(&other->enrname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTblEntry, check_as_user_)
      + sizeof(RangeTblEntry::check_as_user_)
      - PROTOBUF_FIELD_OFFSET(RangeTblEntry, tablesample_)>(
          reinterpret_cast<char*>(&tablesample_),
          reinterpret_cast<char*>(&other->tablesample_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTblEntry::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RangeTblFunction::_Internal {
 public:
  static const ::pg_query::Node& funcexpr(const RangeTblFunction* msg);
};

const ::pg_query::Node&
RangeTblFunction::_Internal::funcexpr(const RangeTblFunction* msg) {
  return *msg->funcexpr_;
}
RangeTblFunction::RangeTblFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  funccolnames_(arena),
  funccoltypes_(arena),
  funccoltypmods_(arena),
  funccolcollations_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblFunction)
}
RangeTblFunction::RangeTblFunction(const RangeTblFunction& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      funccolnames_(from.funccolnames_),
      funccoltypes_(from.funccoltypes_),
      funccoltypmods_(from.funccoltypmods_),
      funccolcollations_(from.funccolcollations_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_funcexpr()) {
    funcexpr_ = new ::pg_query::Node(*from.funcexpr_);
  } else {
    funcexpr_ = nullptr;
  }
  funccolcount_ = from.funccolcount_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblFunction)
}

void RangeTblFunction::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&funcexpr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&funccolcount_) -
      reinterpret_cast<char*>(&funcexpr_)) + sizeof(funccolcount_));
}

RangeTblFunction::~RangeTblFunction() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblFunction)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RangeTblFunction::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete funcexpr_;
}

void RangeTblFunction::ArenaDtor(void* object) {
  RangeTblFunction* _this = reinterpret_cast< RangeTblFunction* >(object);
  (void)_this;
}
void RangeTblFunction::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RangeTblFunction::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RangeTblFunction& RangeTblFunction::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RangeTblFunction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTblFunction)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  funccolnames_.Clear();
  funccoltypes_.Clear();
  funccoltypmods_.Clear();
  funccolcollations_.Clear();
  if (GetArena() == nullptr && funcexpr_ != nullptr) {
    delete funcexpr_;
  }
  funcexpr_ = nullptr;
  funccolcount_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTblFunction::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_funcexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 funccolcount = 2 [json_name = "funccolcount"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          funccolcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funccolnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funccoltypes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funccoltypmods(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_funccolcollations(), 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 & 7) == 4 || tag == 0) {
          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* RangeTblFunction::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblFunction)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
  if (this->has_funcexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::funcexpr(this), target, stream);
  }

  // int32 funccolcount = 2 [json_name = "funccolcount"];
  if (this->funccolcount() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_funccolcount(), target);
  }

  // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funccolnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_funccolnames(i), target, stream);
  }

  // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funccoltypes_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_funccoltypes(i), target, stream);
  }

  // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funccoltypmods_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_funccoltypmods(i), target, stream);
  }

  // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_funccolcollations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_funccolcollations(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:pg_query.RangeTblFunction)
  return target;
}

size_t RangeTblFunction::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RangeTblFunction)
  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 .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
  total_size += 1UL * this->_internal_funccolnames_size();
  for (const auto& msg : this->funccolnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
  total_size += 1UL * this->_internal_funccoltypes_size();
  for (const auto& msg : this->funccoltypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
  total_size += 1UL * this->_internal_funccoltypmods_size();
  for (const auto& msg : this->funccoltypmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
  total_size += 1UL * this->_internal_funccolcollations_size();
  for (const auto& msg : this->funccolcollations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
  if (this->has_funcexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *funcexpr_);
  }

  // int32 funccolcount = 2 [json_name = "funccolcount"];
  if (this->funccolcount() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_funccolcount());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RangeTblFunction::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RangeTblFunction)
  GOOGLE_DCHECK_NE(&from, this);
  const RangeTblFunction* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RangeTblFunction>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RangeTblFunction)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RangeTblFunction)
    MergeFrom(*source);
  }
}

void RangeTblFunction::MergeFrom(const RangeTblFunction& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblFunction)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  funccolnames_.MergeFrom(from.funccolnames_);
  funccoltypes_.MergeFrom(from.funccoltypes_);
  funccoltypmods_.MergeFrom(from.funccoltypmods_);
  funccolcollations_.MergeFrom(from.funccolcollations_);
  if (from.has_funcexpr()) {
    _internal_mutable_funcexpr()->::pg_query::Node::MergeFrom(from._internal_funcexpr());
  }
  if (from.funccolcount() != 0) {
    _internal_set_funccolcount(from._internal_funccolcount());
  }
}

void RangeTblFunction::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RangeTblFunction)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RangeTblFunction::CopyFrom(const RangeTblFunction& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RangeTblFunction)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RangeTblFunction::IsInitialized() const {
  return true;
}

void RangeTblFunction::InternalSwap(RangeTblFunction* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  funccolnames_.InternalSwap(&other->funccolnames_);
  funccoltypes_.InternalSwap(&other->funccoltypes_);
  funccoltypmods_.InternalSwap(&other->funccoltypmods_);
  funccolcollations_.InternalSwap(&other->funccolcollations_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTblFunction, funccolcount_)
      + sizeof(RangeTblFunction::funccolcount_)
      - PROTOBUF_FIELD_OFFSET(RangeTblFunction, funcexpr_)>(
          reinterpret_cast<char*>(&funcexpr_),
          reinterpret_cast<char*>(&other->funcexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTblFunction::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class TableSampleClause::_Internal {
 public:
  static const ::pg_query::Node& repeatable(const TableSampleClause* msg);
};

const ::pg_query::Node&
TableSampleClause::_Internal::repeatable(const TableSampleClause* msg) {
  return *msg->repeatable_;
}
TableSampleClause::TableSampleClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableSampleClause)
}
TableSampleClause::TableSampleClause(const TableSampleClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      args_(from.args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_repeatable()) {
    repeatable_ = new ::pg_query::Node(*from.repeatable_);
  } else {
    repeatable_ = nullptr;
  }
  tsmhandler_ = from.tsmhandler_;
  // @@protoc_insertion_point(copy_constructor:pg_query.TableSampleClause)
}

void TableSampleClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&repeatable_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&tsmhandler_) -
      reinterpret_cast<char*>(&repeatable_)) + sizeof(tsmhandler_));
}

TableSampleClause::~TableSampleClause() {
  // @@protoc_insertion_point(destructor:pg_query.TableSampleClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TableSampleClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete repeatable_;
}

void TableSampleClause::ArenaDtor(void* object) {
  TableSampleClause* _this = reinterpret_cast< TableSampleClause* >(object);
  (void)_this;
}
void TableSampleClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TableSampleClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TableSampleClause& TableSampleClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void TableSampleClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TableSampleClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  args_.Clear();
  if (GetArena() == nullptr && repeatable_ != nullptr) {
    delete repeatable_;
  }
  repeatable_ = nullptr;
  tsmhandler_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TableSampleClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          tsmhandler_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 2 [json_name = "args"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_repeatable(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TableSampleClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableSampleClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
  if (this->tsmhandler() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(1, this->_internal_tsmhandler(), target);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_args(i), target, stream);
  }

  // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
  if (this->has_repeatable()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::repeatable(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:pg_query.TableSampleClause)
  return target;
}

size_t TableSampleClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TableSampleClause)
  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 .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
  if (this->has_repeatable()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *repeatable_);
  }

  // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
  if (this->tsmhandler() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_tsmhandler());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TableSampleClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.TableSampleClause)
  GOOGLE_DCHECK_NE(&from, this);
  const TableSampleClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TableSampleClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.TableSampleClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.TableSampleClause)
    MergeFrom(*source);
  }
}

void TableSampleClause::MergeFrom(const TableSampleClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableSampleClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  args_.MergeFrom(from.args_);
  if (from.has_repeatable()) {
    _internal_mutable_repeatable()->::pg_query::Node::MergeFrom(from._internal_repeatable());
  }
  if (from.tsmhandler() != 0) {
    _internal_set_tsmhandler(from._internal_tsmhandler());
  }
}

void TableSampleClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.TableSampleClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TableSampleClause::CopyFrom(const TableSampleClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.TableSampleClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TableSampleClause::IsInitialized() const {
  return true;
}

void TableSampleClause::InternalSwap(TableSampleClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  args_.InternalSwap(&other->args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableSampleClause, tsmhandler_)
      + sizeof(TableSampleClause::tsmhandler_)
      - PROTOBUF_FIELD_OFFSET(TableSampleClause, repeatable_)>(
          reinterpret_cast<char*>(&repeatable_),
          reinterpret_cast<char*>(&other->repeatable_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TableSampleClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class WithCheckOption::_Internal {
 public:
  static const ::pg_query::Node& qual(const WithCheckOption* msg);
};

const ::pg_query::Node&
WithCheckOption::_Internal::qual(const WithCheckOption* msg) {
  return *msg->qual_;
}
WithCheckOption::WithCheckOption(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WithCheckOption)
}
WithCheckOption::WithCheckOption(const WithCheckOption& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  relname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_relname().empty()) {
    relname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_relname(), 
      GetArena());
  }
  polname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_polname().empty()) {
    polname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_polname(), 
      GetArena());
  }
  if (from._internal_has_qual()) {
    qual_ = new ::pg_query::Node(*from.qual_);
  } else {
    qual_ = nullptr;
  }
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&cascaded_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(cascaded_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WithCheckOption)
}

void WithCheckOption::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  relname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  polname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&qual_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&cascaded_) -
      reinterpret_cast<char*>(&qual_)) + sizeof(cascaded_));
}

WithCheckOption::~WithCheckOption() {
  // @@protoc_insertion_point(destructor:pg_query.WithCheckOption)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void WithCheckOption::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  relname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  polname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete qual_;
}

void WithCheckOption::ArenaDtor(void* object) {
  WithCheckOption* _this = reinterpret_cast< WithCheckOption* >(object);
  (void)_this;
}
void WithCheckOption::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void WithCheckOption::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const WithCheckOption& WithCheckOption::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void WithCheckOption::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WithCheckOption)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  relname_.ClearToEmpty();
  polname_.ClearToEmpty();
  if (GetArena() == nullptr && qual_ != nullptr) {
    delete qual_;
  }
  qual_ = nullptr;
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&cascaded_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(cascaded_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WithCheckOption::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.WCOKind kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::WCOKind>(val));
        } else goto handle_unusual;
        continue;
      // string relname = 2 [json_name = "relname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_relname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.WithCheckOption.relname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string polname = 3 [json_name = "polname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_polname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.WithCheckOption.polname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node qual = 4 [json_name = "qual"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_qual(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool cascaded = 5 [json_name = "cascaded"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          cascaded_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* WithCheckOption::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WithCheckOption)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.WCOKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // string relname = 2 [json_name = "relname"];
  if (this->relname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_relname().data(), static_cast<int>(this->_internal_relname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.WithCheckOption.relname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_relname(), target);
  }

  // string polname = 3 [json_name = "polname"];
  if (this->polname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_polname().data(), static_cast<int>(this->_internal_polname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.WithCheckOption.polname");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_polname(), target);
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (this->has_qual()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::qual(this), target, stream);
  }

  // bool cascaded = 5 [json_name = "cascaded"];
  if (this->cascaded() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_cascaded(), 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:pg_query.WithCheckOption)
  return target;
}

size_t WithCheckOption::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.WithCheckOption)
  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 relname = 2 [json_name = "relname"];
  if (this->relname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_relname());
  }

  // string polname = 3 [json_name = "polname"];
  if (this->polname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_polname());
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (this->has_qual()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *qual_);
  }

  // .pg_query.WCOKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool cascaded = 5 [json_name = "cascaded"];
  if (this->cascaded() != 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;
}

void WithCheckOption::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.WithCheckOption)
  GOOGLE_DCHECK_NE(&from, this);
  const WithCheckOption* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<WithCheckOption>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.WithCheckOption)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.WithCheckOption)
    MergeFrom(*source);
  }
}

void WithCheckOption::MergeFrom(const WithCheckOption& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WithCheckOption)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.relname().size() > 0) {
    _internal_set_relname(from._internal_relname());
  }
  if (from.polname().size() > 0) {
    _internal_set_polname(from._internal_polname());
  }
  if (from.has_qual()) {
    _internal_mutable_qual()->::pg_query::Node::MergeFrom(from._internal_qual());
  }
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.cascaded() != 0) {
    _internal_set_cascaded(from._internal_cascaded());
  }
}

void WithCheckOption::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.WithCheckOption)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void WithCheckOption::CopyFrom(const WithCheckOption& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.WithCheckOption)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool WithCheckOption::IsInitialized() const {
  return true;
}

void WithCheckOption::InternalSwap(WithCheckOption* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  relname_.Swap(&other->relname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  polname_.Swap(&other->polname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WithCheckOption, cascaded_)
      + sizeof(WithCheckOption::cascaded_)
      - PROTOBUF_FIELD_OFFSET(WithCheckOption, qual_)>(
          reinterpret_cast<char*>(&qual_),
          reinterpret_cast<char*>(&other->qual_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WithCheckOption::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class SortGroupClause::_Internal {
 public:
};

SortGroupClause::SortGroupClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SortGroupClause)
}
SortGroupClause::SortGroupClause(const SortGroupClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&tle_sort_group_ref_, &from.tle_sort_group_ref_,
    static_cast<size_t>(reinterpret_cast<char*>(&hashable_) -
    reinterpret_cast<char*>(&tle_sort_group_ref_)) + sizeof(hashable_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SortGroupClause)
}

void SortGroupClause::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&tle_sort_group_ref_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&hashable_) -
      reinterpret_cast<char*>(&tle_sort_group_ref_)) + sizeof(hashable_));
}

SortGroupClause::~SortGroupClause() {
  // @@protoc_insertion_point(destructor:pg_query.SortGroupClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SortGroupClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void SortGroupClause::ArenaDtor(void* object) {
  SortGroupClause* _this = reinterpret_cast< SortGroupClause* >(object);
  (void)_this;
}
void SortGroupClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SortGroupClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const SortGroupClause& SortGroupClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_SortGroupClause_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void SortGroupClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SortGroupClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&tle_sort_group_ref_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&hashable_) -
      reinterpret_cast<char*>(&tle_sort_group_ref_)) + sizeof(hashable_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SortGroupClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          tle_sort_group_ref_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 eqop = 2 [json_name = "eqop"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          eqop_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 sortop = 3 [json_name = "sortop"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          sortop_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool nulls_first = 4 [json_name = "nulls_first"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          nulls_first_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool hashable = 5 [json_name = "hashable"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          hashable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* SortGroupClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SortGroupClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
  if (this->tle_sort_group_ref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(1, this->_internal_tle_sort_group_ref(), target);
  }

  // uint32 eqop = 2 [json_name = "eqop"];
  if (this->eqop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_eqop(), target);
  }

  // uint32 sortop = 3 [json_name = "sortop"];
  if (this->sortop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_sortop(), target);
  }

  // bool nulls_first = 4 [json_name = "nulls_first"];
  if (this->nulls_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_nulls_first(), target);
  }

  // bool hashable = 5 [json_name = "hashable"];
  if (this->hashable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_hashable(), 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:pg_query.SortGroupClause)
  return target;
}

size_t SortGroupClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.SortGroupClause)
  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;

  // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
  if (this->tle_sort_group_ref() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_tle_sort_group_ref());
  }

  // uint32 eqop = 2 [json_name = "eqop"];
  if (this->eqop() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_eqop());
  }

  // uint32 sortop = 3 [json_name = "sortop"];
  if (this->sortop() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_sortop());
  }

  // bool nulls_first = 4 [json_name = "nulls_first"];
  if (this->nulls_first() != 0) {
    total_size += 1 + 1;
  }

  // bool hashable = 5 [json_name = "hashable"];
  if (this->hashable() != 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;
}

void SortGroupClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.SortGroupClause)
  GOOGLE_DCHECK_NE(&from, this);
  const SortGroupClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SortGroupClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.SortGroupClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.SortGroupClause)
    MergeFrom(*source);
  }
}

void SortGroupClause::MergeFrom(const SortGroupClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SortGroupClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.tle_sort_group_ref() != 0) {
    _internal_set_tle_sort_group_ref(from._internal_tle_sort_group_ref());
  }
  if (from.eqop() != 0) {
    _internal_set_eqop(from._internal_eqop());
  }
  if (from.sortop() != 0) {
    _internal_set_sortop(from._internal_sortop());
  }
  if (from.nulls_first() != 0) {
    _internal_set_nulls_first(from._internal_nulls_first());
  }
  if (from.hashable() != 0) {
    _internal_set_hashable(from._internal_hashable());
  }
}

void SortGroupClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.SortGroupClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SortGroupClause::CopyFrom(const SortGroupClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.SortGroupClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SortGroupClause::IsInitialized() const {
  return true;
}

void SortGroupClause::InternalSwap(SortGroupClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SortGroupClause, hashable_)
      + sizeof(SortGroupClause::hashable_)
      - PROTOBUF_FIELD_OFFSET(SortGroupClause, tle_sort_group_ref_)>(
          reinterpret_cast<char*>(&tle_sort_group_ref_),
          reinterpret_cast<char*>(&other->tle_sort_group_ref_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SortGroupClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class GroupingSet::_Internal {
 public:
};

GroupingSet::GroupingSet(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  content_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GroupingSet)
}
GroupingSet::GroupingSet(const GroupingSet& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      content_(from.content_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GroupingSet)
}

void GroupingSet::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&kind_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(location_));
}

GroupingSet::~GroupingSet() {
  // @@protoc_insertion_point(destructor:pg_query.GroupingSet)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GroupingSet::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void GroupingSet::ArenaDtor(void* object) {
  GroupingSet* _this = reinterpret_cast< GroupingSet* >(object);
  (void)_this;
}
void GroupingSet::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GroupingSet::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GroupingSet& GroupingSet::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void GroupingSet::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.GroupingSet)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  content_.Clear();
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GroupingSet::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::GroupingSetKind>(val));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node content = 2 [json_name = "content"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_content(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* GroupingSet::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GroupingSet)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node content = 2 [json_name = "content"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_content_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_content(i), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), 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:pg_query.GroupingSet)
  return target;
}

size_t GroupingSet::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.GroupingSet)
  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 .pg_query.Node content = 2 [json_name = "content"];
  total_size += 1UL * this->_internal_content_size();
  for (const auto& msg : this->content_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GroupingSet::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.GroupingSet)
  GOOGLE_DCHECK_NE(&from, this);
  const GroupingSet* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GroupingSet>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.GroupingSet)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.GroupingSet)
    MergeFrom(*source);
  }
}

void GroupingSet::MergeFrom(const GroupingSet& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GroupingSet)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  content_.MergeFrom(from.content_);
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void GroupingSet::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.GroupingSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GroupingSet::CopyFrom(const GroupingSet& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.GroupingSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GroupingSet::IsInitialized() const {
  return true;
}

void GroupingSet::InternalSwap(GroupingSet* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  content_.InternalSwap(&other->content_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GroupingSet, location_)
      + sizeof(GroupingSet::location_)
      - PROTOBUF_FIELD_OFFSET(GroupingSet, kind_)>(
          reinterpret_cast<char*>(&kind_),
          reinterpret_cast<char*>(&other->kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GroupingSet::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class WindowClause::_Internal {
 public:
  static const ::pg_query::Node& start_offset(const WindowClause* msg);
  static const ::pg_query::Node& end_offset(const WindowClause* msg);
};

const ::pg_query::Node&
WindowClause::_Internal::start_offset(const WindowClause* msg) {
  return *msg->start_offset_;
}
const ::pg_query::Node&
WindowClause::_Internal::end_offset(const WindowClause* msg) {
  return *msg->end_offset_;
}
WindowClause::WindowClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  partition_clause_(arena),
  order_clause_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowClause)
}
WindowClause::WindowClause(const WindowClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      partition_clause_(from.partition_clause_),
      order_clause_(from.order_clause_) {
  _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(), 
      GetArena());
  }
  refname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_refname().empty()) {
    refname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_refname(), 
      GetArena());
  }
  if (from._internal_has_start_offset()) {
    start_offset_ = new ::pg_query::Node(*from.start_offset_);
  } else {
    start_offset_ = nullptr;
  }
  if (from._internal_has_end_offset()) {
    end_offset_ = new ::pg_query::Node(*from.end_offset_);
  } else {
    end_offset_ = nullptr;
  }
  ::memcpy(&frame_options_, &from.frame_options_,
    static_cast<size_t>(reinterpret_cast<char*>(&winref_) -
    reinterpret_cast<char*>(&frame_options_)) + sizeof(winref_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WindowClause)
}

void WindowClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  refname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&start_offset_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&winref_) -
      reinterpret_cast<char*>(&start_offset_)) + sizeof(winref_));
}

WindowClause::~WindowClause() {
  // @@protoc_insertion_point(destructor:pg_query.WindowClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void WindowClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  refname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete start_offset_;
  if (this != internal_default_instance()) delete end_offset_;
}

void WindowClause::ArenaDtor(void* object) {
  WindowClause* _this = reinterpret_cast< WindowClause* >(object);
  (void)_this;
}
void WindowClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void WindowClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const WindowClause& WindowClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void WindowClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  partition_clause_.Clear();
  order_clause_.Clear();
  name_.ClearToEmpty();
  refname_.ClearToEmpty();
  if (GetArena() == nullptr && start_offset_ != nullptr) {
    delete start_offset_;
  }
  start_offset_ = nullptr;
  if (GetArena() == nullptr && end_offset_ != nullptr) {
    delete end_offset_;
  }
  end_offset_ = nullptr;
  ::memset(&frame_options_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&winref_) -
      reinterpret_cast<char*>(&frame_options_)) + sizeof(winref_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WindowClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.WindowClause.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string refname = 2 [json_name = "refname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_refname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.WindowClause.refname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_partition_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_order_clause(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 frame_options = 5 [json_name = "frameOptions"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          frame_options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_start_offset(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_end_offset(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          start_in_range_func_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          end_in_range_func_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 in_range_coll = 10 [json_name = "inRangeColl"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          in_range_coll_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool in_range_asc = 11 [json_name = "inRangeAsc"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          in_range_asc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          in_range_nulls_first_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 winref = 13 [json_name = "winref"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          winref_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool copied_order = 14 [json_name = "copiedOrder"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          copied_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* WindowClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.WindowClause.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // string refname = 2 [json_name = "refname"];
  if (this->refname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_refname().data(), static_cast<int>(this->_internal_refname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.WindowClause.refname");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_refname(), target);
  }

  // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_partition_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_partition_clause(i), target, stream);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_order_clause_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_order_clause(i), target, stream);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->frame_options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_frame_options(), target);
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->has_start_offset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::start_offset(this), target, stream);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->has_end_offset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        7, _Internal::end_offset(this), target, stream);
  }

  // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"];
  if (this->start_in_range_func() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(8, this->_internal_start_in_range_func(), target);
  }

  // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"];
  if (this->end_in_range_func() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(9, this->_internal_end_in_range_func(), target);
  }

  // uint32 in_range_coll = 10 [json_name = "inRangeColl"];
  if (this->in_range_coll() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(10, this->_internal_in_range_coll(), target);
  }

  // bool in_range_asc = 11 [json_name = "inRangeAsc"];
  if (this->in_range_asc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(11, this->_internal_in_range_asc(), target);
  }

  // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"];
  if (this->in_range_nulls_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_in_range_nulls_first(), target);
  }

  // uint32 winref = 13 [json_name = "winref"];
  if (this->winref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(13, this->_internal_winref(), target);
  }

  // bool copied_order = 14 [json_name = "copiedOrder"];
  if (this->copied_order() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(14, this->_internal_copied_order(), 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:pg_query.WindowClause)
  return target;
}

size_t WindowClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.WindowClause)
  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 .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  total_size += 1UL * this->_internal_partition_clause_size();
  for (const auto& msg : this->partition_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  total_size += 1UL * this->_internal_order_clause_size();
  for (const auto& msg : this->order_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // string refname = 2 [json_name = "refname"];
  if (this->refname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_refname());
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->has_start_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *start_offset_);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->has_end_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *end_offset_);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->frame_options() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_frame_options());
  }

  // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"];
  if (this->start_in_range_func() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_start_in_range_func());
  }

  // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"];
  if (this->end_in_range_func() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_end_in_range_func());
  }

  // uint32 in_range_coll = 10 [json_name = "inRangeColl"];
  if (this->in_range_coll() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_in_range_coll());
  }

  // bool in_range_asc = 11 [json_name = "inRangeAsc"];
  if (this->in_range_asc() != 0) {
    total_size += 1 + 1;
  }

  // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"];
  if (this->in_range_nulls_first() != 0) {
    total_size += 1 + 1;
  }

  // bool copied_order = 14 [json_name = "copiedOrder"];
  if (this->copied_order() != 0) {
    total_size += 1 + 1;
  }

  // uint32 winref = 13 [json_name = "winref"];
  if (this->winref() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_winref());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void WindowClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.WindowClause)
  GOOGLE_DCHECK_NE(&from, this);
  const WindowClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<WindowClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.WindowClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.WindowClause)
    MergeFrom(*source);
  }
}

void WindowClause::MergeFrom(const WindowClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  partition_clause_.MergeFrom(from.partition_clause_);
  order_clause_.MergeFrom(from.order_clause_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.refname().size() > 0) {
    _internal_set_refname(from._internal_refname());
  }
  if (from.has_start_offset()) {
    _internal_mutable_start_offset()->::pg_query::Node::MergeFrom(from._internal_start_offset());
  }
  if (from.has_end_offset()) {
    _internal_mutable_end_offset()->::pg_query::Node::MergeFrom(from._internal_end_offset());
  }
  if (from.frame_options() != 0) {
    _internal_set_frame_options(from._internal_frame_options());
  }
  if (from.start_in_range_func() != 0) {
    _internal_set_start_in_range_func(from._internal_start_in_range_func());
  }
  if (from.end_in_range_func() != 0) {
    _internal_set_end_in_range_func(from._internal_end_in_range_func());
  }
  if (from.in_range_coll() != 0) {
    _internal_set_in_range_coll(from._internal_in_range_coll());
  }
  if (from.in_range_asc() != 0) {
    _internal_set_in_range_asc(from._internal_in_range_asc());
  }
  if (from.in_range_nulls_first() != 0) {
    _internal_set_in_range_nulls_first(from._internal_in_range_nulls_first());
  }
  if (from.copied_order() != 0) {
    _internal_set_copied_order(from._internal_copied_order());
  }
  if (from.winref() != 0) {
    _internal_set_winref(from._internal_winref());
  }
}

void WindowClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.WindowClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void WindowClause::CopyFrom(const WindowClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.WindowClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool WindowClause::IsInitialized() const {
  return true;
}

void WindowClause::InternalSwap(WindowClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  partition_clause_.InternalSwap(&other->partition_clause_);
  order_clause_.InternalSwap(&other->order_clause_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  refname_.Swap(&other->refname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowClause, winref_)
      + sizeof(WindowClause::winref_)
      - PROTOBUF_FIELD_OFFSET(WindowClause, start_offset_)>(
          reinterpret_cast<char*>(&start_offset_),
          reinterpret_cast<char*>(&other->start_offset_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WindowClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ObjectWithArgs::_Internal {
 public:
};

ObjectWithArgs::ObjectWithArgs(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  objname_(arena),
  objargs_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ObjectWithArgs)
}
ObjectWithArgs::ObjectWithArgs(const ObjectWithArgs& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      objname_(from.objname_),
      objargs_(from.objargs_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  args_unspecified_ = from.args_unspecified_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ObjectWithArgs)
}

void ObjectWithArgs::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  args_unspecified_ = false;
}

ObjectWithArgs::~ObjectWithArgs() {
  // @@protoc_insertion_point(destructor:pg_query.ObjectWithArgs)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ObjectWithArgs::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void ObjectWithArgs::ArenaDtor(void* object) {
  ObjectWithArgs* _this = reinterpret_cast< ObjectWithArgs* >(object);
  (void)_this;
}
void ObjectWithArgs::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ObjectWithArgs::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ObjectWithArgs& ObjectWithArgs::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ObjectWithArgs::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ObjectWithArgs)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  objname_.Clear();
  objargs_.Clear();
  args_unspecified_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ObjectWithArgs::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node objname = 1 [json_name = "objname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_objname(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_objargs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // bool args_unspecified = 3 [json_name = "args_unspecified"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          args_unspecified_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ObjectWithArgs::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ObjectWithArgs)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node objname = 1 [json_name = "objname"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_objname_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_objname(i), target, stream);
  }

  // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_objargs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_objargs(i), target, stream);
  }

  // bool args_unspecified = 3 [json_name = "args_unspecified"];
  if (this->args_unspecified() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_args_unspecified(), 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:pg_query.ObjectWithArgs)
  return target;
}

size_t ObjectWithArgs::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ObjectWithArgs)
  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 .pg_query.Node objname = 1 [json_name = "objname"];
  total_size += 1UL * this->_internal_objname_size();
  for (const auto& msg : this->objname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
  total_size += 1UL * this->_internal_objargs_size();
  for (const auto& msg : this->objargs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool args_unspecified = 3 [json_name = "args_unspecified"];
  if (this->args_unspecified() != 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;
}

void ObjectWithArgs::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ObjectWithArgs)
  GOOGLE_DCHECK_NE(&from, this);
  const ObjectWithArgs* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ObjectWithArgs>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ObjectWithArgs)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ObjectWithArgs)
    MergeFrom(*source);
  }
}

void ObjectWithArgs::MergeFrom(const ObjectWithArgs& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ObjectWithArgs)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  objname_.MergeFrom(from.objname_);
  objargs_.MergeFrom(from.objargs_);
  if (from.args_unspecified() != 0) {
    _internal_set_args_unspecified(from._internal_args_unspecified());
  }
}

void ObjectWithArgs::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ObjectWithArgs)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ObjectWithArgs::CopyFrom(const ObjectWithArgs& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ObjectWithArgs)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ObjectWithArgs::IsInitialized() const {
  return true;
}

void ObjectWithArgs::InternalSwap(ObjectWithArgs* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  objname_.InternalSwap(&other->objname_);
  objargs_.InternalSwap(&other->objargs_);
  swap(args_unspecified_, other->args_unspecified_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ObjectWithArgs::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class AccessPriv::_Internal {
 public:
};

AccessPriv::AccessPriv(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  cols_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AccessPriv)
}
AccessPriv::AccessPriv(const AccessPriv& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      cols_(from.cols_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  priv_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_priv_name().empty()) {
    priv_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_priv_name(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AccessPriv)
}

void AccessPriv::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  priv_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

AccessPriv::~AccessPriv() {
  // @@protoc_insertion_point(destructor:pg_query.AccessPriv)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void AccessPriv::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  priv_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void AccessPriv::ArenaDtor(void* object) {
  AccessPriv* _this = reinterpret_cast< AccessPriv* >(object);
  (void)_this;
}
void AccessPriv::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void AccessPriv::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const AccessPriv& AccessPriv::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void AccessPriv::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AccessPriv)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cols_.Clear();
  priv_name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AccessPriv::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string priv_name = 1 [json_name = "priv_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_priv_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.AccessPriv.priv_name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node cols = 2 [json_name = "cols"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_cols(), 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 & 7) == 4 || tag == 0) {
          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* AccessPriv::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AccessPriv)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string priv_name = 1 [json_name = "priv_name"];
  if (this->priv_name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_priv_name().data(), static_cast<int>(this->_internal_priv_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.AccessPriv.priv_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_priv_name(), target);
  }

  // repeated .pg_query.Node cols = 2 [json_name = "cols"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_cols_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_cols(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:pg_query.AccessPriv)
  return target;
}

size_t AccessPriv::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AccessPriv)
  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 .pg_query.Node cols = 2 [json_name = "cols"];
  total_size += 1UL * this->_internal_cols_size();
  for (const auto& msg : this->cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string priv_name = 1 [json_name = "priv_name"];
  if (this->priv_name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_priv_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;
}

void AccessPriv::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.AccessPriv)
  GOOGLE_DCHECK_NE(&from, this);
  const AccessPriv* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AccessPriv>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.AccessPriv)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.AccessPriv)
    MergeFrom(*source);
  }
}

void AccessPriv::MergeFrom(const AccessPriv& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AccessPriv)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cols_.MergeFrom(from.cols_);
  if (from.priv_name().size() > 0) {
    _internal_set_priv_name(from._internal_priv_name());
  }
}

void AccessPriv::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.AccessPriv)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AccessPriv::CopyFrom(const AccessPriv& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AccessPriv)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AccessPriv::IsInitialized() const {
  return true;
}

void AccessPriv::InternalSwap(AccessPriv* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  cols_.InternalSwap(&other->cols_);
  priv_name_.Swap(&other->priv_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata AccessPriv::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CreateOpClassItem::_Internal {
 public:
  static const ::pg_query::ObjectWithArgs& name(const CreateOpClassItem* msg);
  static const ::pg_query::TypeName& storedtype(const CreateOpClassItem* msg);
};

const ::pg_query::ObjectWithArgs&
CreateOpClassItem::_Internal::name(const CreateOpClassItem* msg) {
  return *msg->name_;
}
const ::pg_query::TypeName&
CreateOpClassItem::_Internal::storedtype(const CreateOpClassItem* msg) {
  return *msg->storedtype_;
}
CreateOpClassItem::CreateOpClassItem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  order_family_(arena),
  class_args_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpClassItem)
}
CreateOpClassItem::CreateOpClassItem(const CreateOpClassItem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      order_family_(from.order_family_),
      class_args_(from.class_args_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_name()) {
    name_ = new ::pg_query::ObjectWithArgs(*from.name_);
  } else {
    name_ = nullptr;
  }
  if (from._internal_has_storedtype()) {
    storedtype_ = new ::pg_query::TypeName(*from.storedtype_);
  } else {
    storedtype_ = nullptr;
  }
  ::memcpy(&itemtype_, &from.itemtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&number_) -
    reinterpret_cast<char*>(&itemtype_)) + sizeof(number_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpClassItem)
}

void CreateOpClassItem::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&name_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&number_) -
      reinterpret_cast<char*>(&name_)) + sizeof(number_));
}

CreateOpClassItem::~CreateOpClassItem() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpClassItem)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreateOpClassItem::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete name_;
  if (this != internal_default_instance()) delete storedtype_;
}

void CreateOpClassItem::ArenaDtor(void* object) {
  CreateOpClassItem* _this = reinterpret_cast< CreateOpClassItem* >(object);
  (void)_this;
}
void CreateOpClassItem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateOpClassItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CreateOpClassItem& CreateOpClassItem::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CreateOpClassItem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpClassItem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  order_family_.Clear();
  class_args_.Clear();
  if (GetArena() == nullptr && name_ != nullptr) {
    delete name_;
  }
  name_ = nullptr;
  if (GetArena() == nullptr && storedtype_ != nullptr) {
    delete storedtype_;
  }
  storedtype_ = nullptr;
  ::memset(&itemtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&number_) -
      reinterpret_cast<char*>(&itemtype_)) + sizeof(number_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateOpClassItem::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 itemtype = 1 [json_name = "itemtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          itemtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 number = 3 [json_name = "number"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node order_family = 4 [json_name = "order_family"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_order_family(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_class_args(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_storedtype(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CreateOpClassItem::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpClassItem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 itemtype = 1 [json_name = "itemtype"];
  if (this->itemtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_itemtype(), target);
  }

  // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
  if (this->has_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::name(this), target, stream);
  }

  // int32 number = 3 [json_name = "number"];
  if (this->number() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_number(), target);
  }

  // repeated .pg_query.Node order_family = 4 [json_name = "order_family"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_order_family_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_order_family(i), target, stream);
  }

  // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_class_args_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_class_args(i), target, stream);
  }

  // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
  if (this->has_storedtype()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::storedtype(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:pg_query.CreateOpClassItem)
  return target;
}

size_t CreateOpClassItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CreateOpClassItem)
  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 .pg_query.Node order_family = 4 [json_name = "order_family"];
  total_size += 1UL * this->_internal_order_family_size();
  for (const auto& msg : this->order_family_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
  total_size += 1UL * this->_internal_class_args_size();
  for (const auto& msg : this->class_args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
  if (this->has_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *name_);
  }

  // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
  if (this->has_storedtype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *storedtype_);
  }

  // int32 itemtype = 1 [json_name = "itemtype"];
  if (this->itemtype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_itemtype());
  }

  // int32 number = 3 [json_name = "number"];
  if (this->number() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_number());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreateOpClassItem::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CreateOpClassItem)
  GOOGLE_DCHECK_NE(&from, this);
  const CreateOpClassItem* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateOpClassItem>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CreateOpClassItem)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CreateOpClassItem)
    MergeFrom(*source);
  }
}

void CreateOpClassItem::MergeFrom(const CreateOpClassItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpClassItem)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  order_family_.MergeFrom(from.order_family_);
  class_args_.MergeFrom(from.class_args_);
  if (from.has_name()) {
    _internal_mutable_name()->::pg_query::ObjectWithArgs::MergeFrom(from._internal_name());
  }
  if (from.has_storedtype()) {
    _internal_mutable_storedtype()->::pg_query::TypeName::MergeFrom(from._internal_storedtype());
  }
  if (from.itemtype() != 0) {
    _internal_set_itemtype(from._internal_itemtype());
  }
  if (from.number() != 0) {
    _internal_set_number(from._internal_number());
  }
}

void CreateOpClassItem::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CreateOpClassItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreateOpClassItem::CopyFrom(const CreateOpClassItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CreateOpClassItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateOpClassItem::IsInitialized() const {
  return true;
}

void CreateOpClassItem::InternalSwap(CreateOpClassItem* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  order_family_.InternalSwap(&other->order_family_);
  class_args_.InternalSwap(&other->class_args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateOpClassItem, number_)
      + sizeof(CreateOpClassItem::number_)
      - PROTOBUF_FIELD_OFFSET(CreateOpClassItem, name_)>(
          reinterpret_cast<char*>(&name_),
          reinterpret_cast<char*>(&other->name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateOpClassItem::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class TableLikeClause::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const TableLikeClause* msg);
};

const ::pg_query::RangeVar&
TableLikeClause::_Internal::relation(const TableLikeClause* msg) {
  return *msg->relation_;
}
TableLikeClause::TableLikeClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableLikeClause)
}
TableLikeClause::TableLikeClause(const TableLikeClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  options_ = from.options_;
  // @@protoc_insertion_point(copy_constructor:pg_query.TableLikeClause)
}

void TableLikeClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&options_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(options_));
}

TableLikeClause::~TableLikeClause() {
  // @@protoc_insertion_point(destructor:pg_query.TableLikeClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TableLikeClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
}

void TableLikeClause::ArenaDtor(void* object) {
  TableLikeClause* _this = reinterpret_cast< TableLikeClause* >(object);
  (void)_this;
}
void TableLikeClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TableLikeClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TableLikeClause& TableLikeClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void TableLikeClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TableLikeClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  options_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TableLikeClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TableLikeClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableLikeClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // uint32 options = 2 [json_name = "options"];
  if (this->options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_options(), 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:pg_query.TableLikeClause)
  return target;
}

size_t TableLikeClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TableLikeClause)
  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;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // uint32 options = 2 [json_name = "options"];
  if (this->options() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_options());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TableLikeClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.TableLikeClause)
  GOOGLE_DCHECK_NE(&from, this);
  const TableLikeClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TableLikeClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.TableLikeClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.TableLikeClause)
    MergeFrom(*source);
  }
}

void TableLikeClause::MergeFrom(const TableLikeClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableLikeClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.options() != 0) {
    _internal_set_options(from._internal_options());
  }
}

void TableLikeClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.TableLikeClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TableLikeClause::CopyFrom(const TableLikeClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.TableLikeClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TableLikeClause::IsInitialized() const {
  return true;
}

void TableLikeClause::InternalSwap(TableLikeClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableLikeClause, options_)
      + sizeof(TableLikeClause::options_)
      - PROTOBUF_FIELD_OFFSET(TableLikeClause, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TableLikeClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class FunctionParameter::_Internal {
 public:
  static const ::pg_query::TypeName& arg_type(const FunctionParameter* msg);
  static const ::pg_query::Node& defexpr(const FunctionParameter* msg);
};

const ::pg_query::TypeName&
FunctionParameter::_Internal::arg_type(const FunctionParameter* msg) {
  return *msg->arg_type_;
}
const ::pg_query::Node&
FunctionParameter::_Internal::defexpr(const FunctionParameter* msg) {
  return *msg->defexpr_;
}
FunctionParameter::FunctionParameter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FunctionParameter)
}
FunctionParameter::FunctionParameter(const FunctionParameter& 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(), 
      GetArena());
  }
  if (from._internal_has_arg_type()) {
    arg_type_ = new ::pg_query::TypeName(*from.arg_type_);
  } else {
    arg_type_ = nullptr;
  }
  if (from._internal_has_defexpr()) {
    defexpr_ = new ::pg_query::Node(*from.defexpr_);
  } else {
    defexpr_ = nullptr;
  }
  mode_ = from.mode_;
  // @@protoc_insertion_point(copy_constructor:pg_query.FunctionParameter)
}

void FunctionParameter::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&arg_type_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&mode_) -
      reinterpret_cast<char*>(&arg_type_)) + sizeof(mode_));
}

FunctionParameter::~FunctionParameter() {
  // @@protoc_insertion_point(destructor:pg_query.FunctionParameter)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void FunctionParameter::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete arg_type_;
  if (this != internal_default_instance()) delete defexpr_;
}

void FunctionParameter::ArenaDtor(void* object) {
  FunctionParameter* _this = reinterpret_cast< FunctionParameter* >(object);
  (void)_this;
}
void FunctionParameter::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void FunctionParameter::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const FunctionParameter& FunctionParameter::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void FunctionParameter::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FunctionParameter)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.ClearToEmpty();
  if (GetArena() == nullptr && arg_type_ != nullptr) {
    delete arg_type_;
  }
  arg_type_ = nullptr;
  if (GetArena() == nullptr && defexpr_ != nullptr) {
    delete defexpr_;
  }
  defexpr_ = nullptr;
  mode_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FunctionParameter::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.FunctionParameter.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_arg_type(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
      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<::pg_query::FunctionParameterMode>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_defexpr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* FunctionParameter::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FunctionParameter)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.FunctionParameter.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
  if (this->has_arg_type()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::arg_type(this), target, stream);
  }

  // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
  if (this->mode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_mode(), target);
  }

  // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
  if (this->has_defexpr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::defexpr(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:pg_query.FunctionParameter)
  return target;
}

size_t FunctionParameter::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.FunctionParameter)
  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 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
  if (this->has_arg_type()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *arg_type_);
  }

  // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
  if (this->has_defexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *defexpr_);
  }

  // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
  if (this->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;
}

void FunctionParameter::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.FunctionParameter)
  GOOGLE_DCHECK_NE(&from, this);
  const FunctionParameter* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<FunctionParameter>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.FunctionParameter)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.FunctionParameter)
    MergeFrom(*source);
  }
}

void FunctionParameter::MergeFrom(const FunctionParameter& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FunctionParameter)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_arg_type()) {
    _internal_mutable_arg_type()->::pg_query::TypeName::MergeFrom(from._internal_arg_type());
  }
  if (from.has_defexpr()) {
    _internal_mutable_defexpr()->::pg_query::Node::MergeFrom(from._internal_defexpr());
  }
  if (from.mode() != 0) {
    _internal_set_mode(from._internal_mode());
  }
}

void FunctionParameter::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.FunctionParameter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void FunctionParameter::CopyFrom(const FunctionParameter& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.FunctionParameter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FunctionParameter::IsInitialized() const {
  return true;
}

void FunctionParameter::InternalSwap(FunctionParameter* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FunctionParameter, mode_)
      + sizeof(FunctionParameter::mode_)
      - PROTOBUF_FIELD_OFFSET(FunctionParameter, arg_type_)>(
          reinterpret_cast<char*>(&arg_type_),
          reinterpret_cast<char*>(&other->arg_type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FunctionParameter::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class LockingClause::_Internal {
 public:
};

LockingClause::LockingClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  locked_rels_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.LockingClause)
}
LockingClause::LockingClause(const LockingClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      locked_rels_(from.locked_rels_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&strength_, &from.strength_,
    static_cast<size_t>(reinterpret_cast<char*>(&wait_policy_) -
    reinterpret_cast<char*>(&strength_)) + sizeof(wait_policy_));
  // @@protoc_insertion_point(copy_constructor:pg_query.LockingClause)
}

void LockingClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&strength_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&wait_policy_) -
      reinterpret_cast<char*>(&strength_)) + sizeof(wait_policy_));
}

LockingClause::~LockingClause() {
  // @@protoc_insertion_point(destructor:pg_query.LockingClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void LockingClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void LockingClause::ArenaDtor(void* object) {
  LockingClause* _this = reinterpret_cast< LockingClause* >(object);
  (void)_this;
}
void LockingClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void LockingClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const LockingClause& LockingClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void LockingClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LockingClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  locked_rels_.Clear();
  ::memset(&strength_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&wait_policy_) -
      reinterpret_cast<char*>(&strength_)) + sizeof(wait_policy_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LockingClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_locked_rels(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
      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_strength(static_cast<::pg_query::LockClauseStrength>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
      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_wait_policy(static_cast<::pg_query::LockWaitPolicy>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* LockingClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LockingClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_locked_rels_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_locked_rels(i), target, stream);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->strength() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_strength(), target);
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->wait_policy() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_wait_policy(), 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:pg_query.LockingClause)
  return target;
}

size_t LockingClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.LockingClause)
  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 .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
  total_size += 1UL * this->_internal_locked_rels_size();
  for (const auto& msg : this->locked_rels_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->strength() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_strength());
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->wait_policy() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_wait_policy());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void LockingClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.LockingClause)
  GOOGLE_DCHECK_NE(&from, this);
  const LockingClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LockingClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.LockingClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.LockingClause)
    MergeFrom(*source);
  }
}

void LockingClause::MergeFrom(const LockingClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LockingClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  locked_rels_.MergeFrom(from.locked_rels_);
  if (from.strength() != 0) {
    _internal_set_strength(from._internal_strength());
  }
  if (from.wait_policy() != 0) {
    _internal_set_wait_policy(from._internal_wait_policy());
  }
}

void LockingClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.LockingClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void LockingClause::CopyFrom(const LockingClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.LockingClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LockingClause::IsInitialized() const {
  return true;
}

void LockingClause::InternalSwap(LockingClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  locked_rels_.InternalSwap(&other->locked_rels_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LockingClause, wait_policy_)
      + sizeof(LockingClause::wait_policy_)
      - PROTOBUF_FIELD_OFFSET(LockingClause, strength_)>(
          reinterpret_cast<char*>(&strength_),
          reinterpret_cast<char*>(&other->strength_));
}

::PROTOBUF_NAMESPACE_ID::Metadata LockingClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RowMarkClause::_Internal {
 public:
};

RowMarkClause::RowMarkClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowMarkClause)
}
RowMarkClause::RowMarkClause(const RowMarkClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&rti_, &from.rti_,
    static_cast<size_t>(reinterpret_cast<char*>(&pushed_down_) -
    reinterpret_cast<char*>(&rti_)) + sizeof(pushed_down_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RowMarkClause)
}

void RowMarkClause::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&rti_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&pushed_down_) -
      reinterpret_cast<char*>(&rti_)) + sizeof(pushed_down_));
}

RowMarkClause::~RowMarkClause() {
  // @@protoc_insertion_point(destructor:pg_query.RowMarkClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RowMarkClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void RowMarkClause::ArenaDtor(void* object) {
  RowMarkClause* _this = reinterpret_cast< RowMarkClause* >(object);
  (void)_this;
}
void RowMarkClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RowMarkClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RowMarkClause& RowMarkClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_RowMarkClause_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RowMarkClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RowMarkClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&rti_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&pushed_down_) -
      reinterpret_cast<char*>(&rti_)) + sizeof(pushed_down_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RowMarkClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // uint32 rti = 1 [json_name = "rti"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          rti_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
      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_strength(static_cast<::pg_query::LockClauseStrength>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
      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_wait_policy(static_cast<::pg_query::LockWaitPolicy>(val));
        } else goto handle_unusual;
        continue;
      // bool pushed_down = 4 [json_name = "pushedDown"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          pushed_down_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RowMarkClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RowMarkClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // uint32 rti = 1 [json_name = "rti"];
  if (this->rti() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(1, this->_internal_rti(), target);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->strength() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_strength(), target);
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->wait_policy() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_wait_policy(), target);
  }

  // bool pushed_down = 4 [json_name = "pushedDown"];
  if (this->pushed_down() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_pushed_down(), 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:pg_query.RowMarkClause)
  return target;
}

size_t RowMarkClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RowMarkClause)
  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;

  // uint32 rti = 1 [json_name = "rti"];
  if (this->rti() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_rti());
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->strength() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_strength());
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->wait_policy() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_wait_policy());
  }

  // bool pushed_down = 4 [json_name = "pushedDown"];
  if (this->pushed_down() != 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;
}

void RowMarkClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RowMarkClause)
  GOOGLE_DCHECK_NE(&from, this);
  const RowMarkClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RowMarkClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RowMarkClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RowMarkClause)
    MergeFrom(*source);
  }
}

void RowMarkClause::MergeFrom(const RowMarkClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RowMarkClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.rti() != 0) {
    _internal_set_rti(from._internal_rti());
  }
  if (from.strength() != 0) {
    _internal_set_strength(from._internal_strength());
  }
  if (from.wait_policy() != 0) {
    _internal_set_wait_policy(from._internal_wait_policy());
  }
  if (from.pushed_down() != 0) {
    _internal_set_pushed_down(from._internal_pushed_down());
  }
}

void RowMarkClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RowMarkClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RowMarkClause::CopyFrom(const RowMarkClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RowMarkClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RowMarkClause::IsInitialized() const {
  return true;
}

void RowMarkClause::InternalSwap(RowMarkClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowMarkClause, pushed_down_)
      + sizeof(RowMarkClause::pushed_down_)
      - PROTOBUF_FIELD_OFFSET(RowMarkClause, rti_)>(
          reinterpret_cast<char*>(&rti_),
          reinterpret_cast<char*>(&other->rti_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RowMarkClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class XmlSerialize::_Internal {
 public:
  static const ::pg_query::Node& expr(const XmlSerialize* msg);
  static const ::pg_query::TypeName& type_name(const XmlSerialize* msg);
};

const ::pg_query::Node&
XmlSerialize::_Internal::expr(const XmlSerialize* msg) {
  return *msg->expr_;
}
const ::pg_query::TypeName&
XmlSerialize::_Internal::type_name(const XmlSerialize* msg) {
  return *msg->type_name_;
}
XmlSerialize::XmlSerialize(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.XmlSerialize)
}
XmlSerialize::XmlSerialize(const XmlSerialize& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_expr()) {
    expr_ = new ::pg_query::Node(*from.expr_);
  } else {
    expr_ = nullptr;
  }
  if (from._internal_has_type_name()) {
    type_name_ = new ::pg_query::TypeName(*from.type_name_);
  } else {
    type_name_ = nullptr;
  }
  ::memcpy(&xmloption_, &from.xmloption_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&xmloption_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.XmlSerialize)
}

void XmlSerialize::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&expr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&expr_)) + sizeof(location_));
}

XmlSerialize::~XmlSerialize() {
  // @@protoc_insertion_point(destructor:pg_query.XmlSerialize)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void XmlSerialize::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete expr_;
  if (this != internal_default_instance()) delete type_name_;
}

void XmlSerialize::ArenaDtor(void* object) {
  XmlSerialize* _this = reinterpret_cast< XmlSerialize* >(object);
  (void)_this;
}
void XmlSerialize::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void XmlSerialize::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const XmlSerialize& XmlSerialize::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void XmlSerialize::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.XmlSerialize)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && expr_ != nullptr) {
    delete expr_;
  }
  expr_ = nullptr;
  if (GetArena() == nullptr && type_name_ != nullptr) {
    delete type_name_;
  }
  type_name_ = nullptr;
  ::memset(&xmloption_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&xmloption_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* XmlSerialize::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
      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);
          _internal_set_xmloption(static_cast<::pg_query::XmlOptionType>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* XmlSerialize::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.XmlSerialize)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
  if (this->xmloption() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_xmloption(), target);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::expr(this), target, stream);
  }

  // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
  if (this->has_type_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::type_name(this), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), 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:pg_query.XmlSerialize)
  return target;
}

size_t XmlSerialize::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.XmlSerialize)
  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;

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *expr_);
  }

  // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
  if (this->has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *type_name_);
  }

  // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
  if (this->xmloption() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_xmloption());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void XmlSerialize::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.XmlSerialize)
  GOOGLE_DCHECK_NE(&from, this);
  const XmlSerialize* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<XmlSerialize>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.XmlSerialize)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.XmlSerialize)
    MergeFrom(*source);
  }
}

void XmlSerialize::MergeFrom(const XmlSerialize& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.XmlSerialize)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_expr()) {
    _internal_mutable_expr()->::pg_query::Node::MergeFrom(from._internal_expr());
  }
  if (from.has_type_name()) {
    _internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(from._internal_type_name());
  }
  if (from.xmloption() != 0) {
    _internal_set_xmloption(from._internal_xmloption());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void XmlSerialize::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.XmlSerialize)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void XmlSerialize::CopyFrom(const XmlSerialize& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.XmlSerialize)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool XmlSerialize::IsInitialized() const {
  return true;
}

void XmlSerialize::InternalSwap(XmlSerialize* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(XmlSerialize, location_)
      + sizeof(XmlSerialize::location_)
      - PROTOBUF_FIELD_OFFSET(XmlSerialize, expr_)>(
          reinterpret_cast<char*>(&expr_),
          reinterpret_cast<char*>(&other->expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata XmlSerialize::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class WithClause::_Internal {
 public:
};

WithClause::WithClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  ctes_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WithClause)
}
WithClause::WithClause(const WithClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      ctes_(from.ctes_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&recursive_, &from.recursive_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&recursive_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WithClause)
}

void WithClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&recursive_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&recursive_)) + sizeof(location_));
}

WithClause::~WithClause() {
  // @@protoc_insertion_point(destructor:pg_query.WithClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void WithClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void WithClause::ArenaDtor(void* object) {
  WithClause* _this = reinterpret_cast< WithClause* >(object);
  (void)_this;
}
void WithClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void WithClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const WithClause& WithClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void WithClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WithClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ctes_.Clear();
  ::memset(&recursive_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&recursive_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WithClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_ctes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // bool recursive = 2 [json_name = "recursive"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          recursive_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* WithClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WithClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_ctes_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_ctes(i), target, stream);
  }

  // bool recursive = 2 [json_name = "recursive"];
  if (this->recursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_recursive(), target);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), 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:pg_query.WithClause)
  return target;
}

size_t WithClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.WithClause)
  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 .pg_query.Node ctes = 1 [json_name = "ctes"];
  total_size += 1UL * this->_internal_ctes_size();
  for (const auto& msg : this->ctes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool recursive = 2 [json_name = "recursive"];
  if (this->recursive() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void WithClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.WithClause)
  GOOGLE_DCHECK_NE(&from, this);
  const WithClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<WithClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.WithClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.WithClause)
    MergeFrom(*source);
  }
}

void WithClause::MergeFrom(const WithClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WithClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  ctes_.MergeFrom(from.ctes_);
  if (from.recursive() != 0) {
    _internal_set_recursive(from._internal_recursive());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void WithClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.WithClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void WithClause::CopyFrom(const WithClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.WithClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool WithClause::IsInitialized() const {
  return true;
}

void WithClause::InternalSwap(WithClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ctes_.InternalSwap(&other->ctes_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WithClause, location_)
      + sizeof(WithClause::location_)
      - PROTOBUF_FIELD_OFFSET(WithClause, recursive_)>(
          reinterpret_cast<char*>(&recursive_),
          reinterpret_cast<char*>(&other->recursive_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WithClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class InferClause::_Internal {
 public:
  static const ::pg_query::Node& where_clause(const InferClause* msg);
};

const ::pg_query::Node&
InferClause::_Internal::where_clause(const InferClause* msg) {
  return *msg->where_clause_;
}
InferClause::InferClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  index_elems_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InferClause)
}
InferClause::InferClause(const InferClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      index_elems_(from.index_elems_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  conname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_conname().empty()) {
    conname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_conname(), 
      GetArena());
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.InferClause)
}

void InferClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  conname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&where_clause_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&where_clause_)) + sizeof(location_));
}

InferClause::~InferClause() {
  // @@protoc_insertion_point(destructor:pg_query.InferClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void InferClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  conname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete where_clause_;
}

void InferClause::ArenaDtor(void* object) {
  InferClause* _this = reinterpret_cast< InferClause* >(object);
  (void)_this;
}
void InferClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void InferClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const InferClause& InferClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void InferClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InferClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  index_elems_.Clear();
  conname_.ClearToEmpty();
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InferClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_index_elems(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string conname = 3 [json_name = "conname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_conname();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.InferClause.conname"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* InferClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InferClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_index_elems_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_index_elems(i), target, stream);
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::where_clause(this), target, stream);
  }

  // string conname = 3 [json_name = "conname"];
  if (this->conname().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_conname().data(), static_cast<int>(this->_internal_conname().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.InferClause.conname");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_conname(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), 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:pg_query.InferClause)
  return target;
}

size_t InferClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.InferClause)
  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 .pg_query.Node index_elems = 1 [json_name = "indexElems"];
  total_size += 1UL * this->_internal_index_elems_size();
  for (const auto& msg : this->index_elems_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string conname = 3 [json_name = "conname"];
  if (this->conname().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conname());
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void InferClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.InferClause)
  GOOGLE_DCHECK_NE(&from, this);
  const InferClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<InferClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.InferClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.InferClause)
    MergeFrom(*source);
  }
}

void InferClause::MergeFrom(const InferClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InferClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  index_elems_.MergeFrom(from.index_elems_);
  if (from.conname().size() > 0) {
    _internal_set_conname(from._internal_conname());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void InferClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.InferClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void InferClause::CopyFrom(const InferClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.InferClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool InferClause::IsInitialized() const {
  return true;
}

void InferClause::InternalSwap(InferClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  index_elems_.InternalSwap(&other->index_elems_);
  conname_.Swap(&other->conname_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InferClause, location_)
      + sizeof(InferClause::location_)
      - PROTOBUF_FIELD_OFFSET(InferClause, where_clause_)>(
          reinterpret_cast<char*>(&where_clause_),
          reinterpret_cast<char*>(&other->where_clause_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InferClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class OnConflictClause::_Internal {
 public:
  static const ::pg_query::InferClause& infer(const OnConflictClause* msg);
  static const ::pg_query::Node& where_clause(const OnConflictClause* msg);
};

const ::pg_query::InferClause&
OnConflictClause::_Internal::infer(const OnConflictClause* msg) {
  return *msg->infer_;
}
const ::pg_query::Node&
OnConflictClause::_Internal::where_clause(const OnConflictClause* msg) {
  return *msg->where_clause_;
}
OnConflictClause::OnConflictClause(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  target_list_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.OnConflictClause)
}
OnConflictClause::OnConflictClause(const OnConflictClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      target_list_(from.target_list_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_infer()) {
    infer_ = new ::pg_query::InferClause(*from.infer_);
  } else {
    infer_ = nullptr;
  }
  if (from._internal_has_where_clause()) {
    where_clause_ = new ::pg_query::Node(*from.where_clause_);
  } else {
    where_clause_ = nullptr;
  }
  ::memcpy(&action_, &from.action_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&action_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.OnConflictClause)
}

void OnConflictClause::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&infer_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&infer_)) + sizeof(location_));
}

OnConflictClause::~OnConflictClause() {
  // @@protoc_insertion_point(destructor:pg_query.OnConflictClause)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void OnConflictClause::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete infer_;
  if (this != internal_default_instance()) delete where_clause_;
}

void OnConflictClause::ArenaDtor(void* object) {
  OnConflictClause* _this = reinterpret_cast< OnConflictClause* >(object);
  (void)_this;
}
void OnConflictClause::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void OnConflictClause::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const OnConflictClause& OnConflictClause::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void OnConflictClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.OnConflictClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  target_list_.Clear();
  if (GetArena() == nullptr && infer_ != nullptr) {
    delete infer_;
  }
  infer_ = nullptr;
  if (GetArena() == nullptr && where_clause_ != nullptr) {
    delete where_clause_;
  }
  where_clause_ = nullptr;
  ::memset(&action_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&action_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* OnConflictClause::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.OnConflictAction action = 1 [json_name = "action"];
      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);
          _internal_set_action(static_cast<::pg_query::OnConflictAction>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.InferClause infer = 2 [json_name = "infer"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_infer(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_target_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* OnConflictClause::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OnConflictClause)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_action(), target);
  }

  // .pg_query.InferClause infer = 2 [json_name = "infer"];
  if (this->has_infer()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::infer(this), target, stream);
  }

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_target_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_target_list(i), target, stream);
  }

  // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::where_clause(this), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.OnConflictClause)
  return target;
}

size_t OnConflictClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.OnConflictClause)
  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 .pg_query.Node target_list = 3 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->target_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.InferClause infer = 2 [json_name = "infer"];
  if (this->has_infer()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *infer_);
  }

  // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
  if (this->has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *where_clause_);
  }

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->action() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_action());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void OnConflictClause::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.OnConflictClause)
  GOOGLE_DCHECK_NE(&from, this);
  const OnConflictClause* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<OnConflictClause>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.OnConflictClause)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.OnConflictClause)
    MergeFrom(*source);
  }
}

void OnConflictClause::MergeFrom(const OnConflictClause& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OnConflictClause)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  target_list_.MergeFrom(from.target_list_);
  if (from.has_infer()) {
    _internal_mutable_infer()->::pg_query::InferClause::MergeFrom(from._internal_infer());
  }
  if (from.has_where_clause()) {
    _internal_mutable_where_clause()->::pg_query::Node::MergeFrom(from._internal_where_clause());
  }
  if (from.action() != 0) {
    _internal_set_action(from._internal_action());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void OnConflictClause::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.OnConflictClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void OnConflictClause::CopyFrom(const OnConflictClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.OnConflictClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool OnConflictClause::IsInitialized() const {
  return true;
}

void OnConflictClause::InternalSwap(OnConflictClause* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  target_list_.InternalSwap(&other->target_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OnConflictClause, location_)
      + sizeof(OnConflictClause::location_)
      - PROTOBUF_FIELD_OFFSET(OnConflictClause, infer_)>(
          reinterpret_cast<char*>(&infer_),
          reinterpret_cast<char*>(&other->infer_));
}

::PROTOBUF_NAMESPACE_ID::Metadata OnConflictClause::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CommonTableExpr::_Internal {
 public:
  static const ::pg_query::Node& ctequery(const CommonTableExpr* msg);
};

const ::pg_query::Node&
CommonTableExpr::_Internal::ctequery(const CommonTableExpr* msg) {
  return *msg->ctequery_;
}
CommonTableExpr::CommonTableExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  aliascolnames_(arena),
  ctecolnames_(arena),
  ctecoltypes_(arena),
  ctecoltypmods_(arena),
  ctecolcollations_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CommonTableExpr)
}
CommonTableExpr::CommonTableExpr(const CommonTableExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      aliascolnames_(from.aliascolnames_),
      ctecolnames_(from.ctecolnames_),
      ctecoltypes_(from.ctecoltypes_),
      ctecoltypmods_(from.ctecoltypmods_),
      ctecolcollations_(from.ctecolcollations_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ctename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_ctename().empty()) {
    ctename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_ctename(), 
      GetArena());
  }
  if (from._internal_has_ctequery()) {
    ctequery_ = new ::pg_query::Node(*from.ctequery_);
  } else {
    ctequery_ = nullptr;
  }
  ::memcpy(&ctematerialized_, &from.ctematerialized_,
    static_cast<size_t>(reinterpret_cast<char*>(&cterefcount_) -
    reinterpret_cast<char*>(&ctematerialized_)) + sizeof(cterefcount_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CommonTableExpr)
}

void CommonTableExpr::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ctename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&ctequery_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&cterefcount_) -
      reinterpret_cast<char*>(&ctequery_)) + sizeof(cterefcount_));
}

CommonTableExpr::~CommonTableExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CommonTableExpr)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CommonTableExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  ctename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete ctequery_;
}

void CommonTableExpr::ArenaDtor(void* object) {
  CommonTableExpr* _this = reinterpret_cast< CommonTableExpr* >(object);
  (void)_this;
}
void CommonTableExpr::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CommonTableExpr::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CommonTableExpr& CommonTableExpr::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CommonTableExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CommonTableExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  aliascolnames_.Clear();
  ctecolnames_.Clear();
  ctecoltypes_.Clear();
  ctecoltypmods_.Clear();
  ctecolcollations_.Clear();
  ctename_.ClearToEmpty();
  if (GetArena() == nullptr && ctequery_ != nullptr) {
    delete ctequery_;
  }
  ctequery_ = nullptr;
  ::memset(&ctematerialized_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&cterefcount_) -
      reinterpret_cast<char*>(&ctematerialized_)) + sizeof(cterefcount_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CommonTableExpr::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string ctename = 1 [json_name = "ctename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_ctename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.CommonTableExpr.ctename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_aliascolnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
      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_ctematerialized(static_cast<::pg_query::CTEMaterialize>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_ctequery(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool cterecursive = 6 [json_name = "cterecursive"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          cterecursive_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 cterefcount = 7 [json_name = "cterefcount"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          cterefcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecolnames = 8 [json_name = "ctecolnames"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_ctecolnames(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecoltypes = 9 [json_name = "ctecoltypes"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_ctecoltypes(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecoltypmods = 10 [json_name = "ctecoltypmods"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_ctecoltypmods(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecolcollations = 11 [json_name = "ctecolcollations"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_ctecolcollations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CommonTableExpr::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CommonTableExpr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string ctename = 1 [json_name = "ctename"];
  if (this->ctename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_ctename().data(), static_cast<int>(this->_internal_ctename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CommonTableExpr.ctename");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_ctename(), target);
  }

  // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_aliascolnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_aliascolnames(i), target, stream);
  }

  // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
  if (this->ctematerialized() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_ctematerialized(), target);
  }

  // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
  if (this->has_ctequery()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::ctequery(this), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  // bool cterecursive = 6 [json_name = "cterecursive"];
  if (this->cterecursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_cterecursive(), target);
  }

  // int32 cterefcount = 7 [json_name = "cterefcount"];
  if (this->cterefcount() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_cterefcount(), target);
  }

  // repeated .pg_query.Node ctecolnames = 8 [json_name = "ctecolnames"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_ctecolnames_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_ctecolnames(i), target, stream);
  }

  // repeated .pg_query.Node ctecoltypes = 9 [json_name = "ctecoltypes"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_ctecoltypes_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, this->_internal_ctecoltypes(i), target, stream);
  }

  // repeated .pg_query.Node ctecoltypmods = 10 [json_name = "ctecoltypmods"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_ctecoltypmods_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, this->_internal_ctecoltypmods(i), target, stream);
  }

  // repeated .pg_query.Node ctecolcollations = 11 [json_name = "ctecolcollations"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_ctecolcollations_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, this->_internal_ctecolcollations(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:pg_query.CommonTableExpr)
  return target;
}

size_t CommonTableExpr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CommonTableExpr)
  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 .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
  total_size += 1UL * this->_internal_aliascolnames_size();
  for (const auto& msg : this->aliascolnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecolnames = 8 [json_name = "ctecolnames"];
  total_size += 1UL * this->_internal_ctecolnames_size();
  for (const auto& msg : this->ctecolnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecoltypes = 9 [json_name = "ctecoltypes"];
  total_size += 1UL * this->_internal_ctecoltypes_size();
  for (const auto& msg : this->ctecoltypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecoltypmods = 10 [json_name = "ctecoltypmods"];
  total_size += 1UL * this->_internal_ctecoltypmods_size();
  for (const auto& msg : this->ctecoltypmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecolcollations = 11 [json_name = "ctecolcollations"];
  total_size += 1UL * this->_internal_ctecolcollations_size();
  for (const auto& msg : this->ctecolcollations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string ctename = 1 [json_name = "ctename"];
  if (this->ctename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_ctename());
  }

  // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
  if (this->has_ctequery()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *ctequery_);
  }

  // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
  if (this->ctematerialized() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_ctematerialized());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  // bool cterecursive = 6 [json_name = "cterecursive"];
  if (this->cterecursive() != 0) {
    total_size += 1 + 1;
  }

  // int32 cterefcount = 7 [json_name = "cterefcount"];
  if (this->cterefcount() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_cterefcount());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CommonTableExpr::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CommonTableExpr)
  GOOGLE_DCHECK_NE(&from, this);
  const CommonTableExpr* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CommonTableExpr>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CommonTableExpr)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CommonTableExpr)
    MergeFrom(*source);
  }
}

void CommonTableExpr::MergeFrom(const CommonTableExpr& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CommonTableExpr)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  aliascolnames_.MergeFrom(from.aliascolnames_);
  ctecolnames_.MergeFrom(from.ctecolnames_);
  ctecoltypes_.MergeFrom(from.ctecoltypes_);
  ctecoltypmods_.MergeFrom(from.ctecoltypmods_);
  ctecolcollations_.MergeFrom(from.ctecolcollations_);
  if (from.ctename().size() > 0) {
    _internal_set_ctename(from._internal_ctename());
  }
  if (from.has_ctequery()) {
    _internal_mutable_ctequery()->::pg_query::Node::MergeFrom(from._internal_ctequery());
  }
  if (from.ctematerialized() != 0) {
    _internal_set_ctematerialized(from._internal_ctematerialized());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
  if (from.cterecursive() != 0) {
    _internal_set_cterecursive(from._internal_cterecursive());
  }
  if (from.cterefcount() != 0) {
    _internal_set_cterefcount(from._internal_cterefcount());
  }
}

void CommonTableExpr::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CommonTableExpr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CommonTableExpr::CopyFrom(const CommonTableExpr& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CommonTableExpr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CommonTableExpr::IsInitialized() const {
  return true;
}

void CommonTableExpr::InternalSwap(CommonTableExpr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  aliascolnames_.InternalSwap(&other->aliascolnames_);
  ctecolnames_.InternalSwap(&other->ctecolnames_);
  ctecoltypes_.InternalSwap(&other->ctecoltypes_);
  ctecoltypmods_.InternalSwap(&other->ctecoltypmods_);
  ctecolcollations_.InternalSwap(&other->ctecolcollations_);
  ctename_.Swap(&other->ctename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CommonTableExpr, cterefcount_)
      + sizeof(CommonTableExpr::cterefcount_)
      - PROTOBUF_FIELD_OFFSET(CommonTableExpr, ctequery_)>(
          reinterpret_cast<char*>(&ctequery_),
          reinterpret_cast<char*>(&other->ctequery_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CommonTableExpr::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class RoleSpec::_Internal {
 public:
};

RoleSpec::RoleSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RoleSpec)
}
RoleSpec::RoleSpec(const RoleSpec& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  rolename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_rolename().empty()) {
    rolename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_rolename(), 
      GetArena());
  }
  ::memcpy(&roletype_, &from.roletype_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&roletype_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RoleSpec)
}

void RoleSpec::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto.base);
  rolename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&roletype_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&roletype_)) + sizeof(location_));
}

RoleSpec::~RoleSpec() {
  // @@protoc_insertion_point(destructor:pg_query.RoleSpec)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RoleSpec::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  rolename_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void RoleSpec::ArenaDtor(void* object) {
  RoleSpec* _this = reinterpret_cast< RoleSpec* >(object);
  (void)_this;
}
void RoleSpec::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RoleSpec::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const RoleSpec& RoleSpec::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_RoleSpec_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void RoleSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RoleSpec)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  rolename_.ClearToEmpty();
  ::memset(&roletype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&roletype_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RoleSpec::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
      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);
          _internal_set_roletype(static_cast<::pg_query::RoleSpecType>(val));
        } else goto handle_unusual;
        continue;
      // string rolename = 2 [json_name = "rolename"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_rolename();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.RoleSpec.rolename"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* RoleSpec::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RoleSpec)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
  if (this->roletype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_roletype(), target);
  }

  // string rolename = 2 [json_name = "rolename"];
  if (this->rolename().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_rolename().data(), static_cast<int>(this->_internal_rolename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.RoleSpec.rolename");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_rolename(), target);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), 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:pg_query.RoleSpec)
  return target;
}

size_t RoleSpec::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.RoleSpec)
  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 rolename = 2 [json_name = "rolename"];
  if (this->rolename().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_rolename());
  }

  // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
  if (this->roletype() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_roletype());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RoleSpec::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.RoleSpec)
  GOOGLE_DCHECK_NE(&from, this);
  const RoleSpec* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RoleSpec>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.RoleSpec)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.RoleSpec)
    MergeFrom(*source);
  }
}

void RoleSpec::MergeFrom(const RoleSpec& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RoleSpec)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.rolename().size() > 0) {
    _internal_set_rolename(from._internal_rolename());
  }
  if (from.roletype() != 0) {
    _internal_set_roletype(from._internal_roletype());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void RoleSpec::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.RoleSpec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RoleSpec::CopyFrom(const RoleSpec& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.RoleSpec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RoleSpec::IsInitialized() const {
  return true;
}

void RoleSpec::InternalSwap(RoleSpec* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  rolename_.Swap(&other->rolename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RoleSpec, location_)
      + sizeof(RoleSpec::location_)
      - PROTOBUF_FIELD_OFFSET(RoleSpec, roletype_)>(
          reinterpret_cast<char*>(&roletype_),
          reinterpret_cast<char*>(&other->roletype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RoleSpec::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class TriggerTransition::_Internal {
 public:
};

TriggerTransition::TriggerTransition(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TriggerTransition)
}
TriggerTransition::TriggerTransition(const TriggerTransition& 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(), 
      GetArena());
  }
  ::memcpy(&is_new_, &from.is_new_,
    static_cast<size_t>(reinterpret_cast<char*>(&is_table_) -
    reinterpret_cast<char*>(&is_new_)) + sizeof(is_table_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TriggerTransition)
}

void TriggerTransition::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&is_new_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&is_table_) -
      reinterpret_cast<char*>(&is_new_)) + sizeof(is_table_));
}

TriggerTransition::~TriggerTransition() {
  // @@protoc_insertion_point(destructor:pg_query.TriggerTransition)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TriggerTransition::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void TriggerTransition::ArenaDtor(void* object) {
  TriggerTransition* _this = reinterpret_cast< TriggerTransition* >(object);
  (void)_this;
}
void TriggerTransition::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TriggerTransition::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const TriggerTransition& TriggerTransition::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TriggerTransition_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void TriggerTransition::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TriggerTransition)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.ClearToEmpty();
  ::memset(&is_new_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&is_table_) -
      reinterpret_cast<char*>(&is_new_)) + sizeof(is_table_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TriggerTransition::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.TriggerTransition.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_new = 2 [json_name = "isNew"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          is_new_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_table = 3 [json_name = "isTable"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          is_table_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* TriggerTransition::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TriggerTransition)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.TriggerTransition.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // bool is_new = 2 [json_name = "isNew"];
  if (this->is_new() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_is_new(), target);
  }

  // bool is_table = 3 [json_name = "isTable"];
  if (this->is_table() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_is_table(), 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:pg_query.TriggerTransition)
  return target;
}

size_t TriggerTransition::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.TriggerTransition)
  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 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // bool is_new = 2 [json_name = "isNew"];
  if (this->is_new() != 0) {
    total_size += 1 + 1;
  }

  // bool is_table = 3 [json_name = "isTable"];
  if (this->is_table() != 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;
}

void TriggerTransition::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.TriggerTransition)
  GOOGLE_DCHECK_NE(&from, this);
  const TriggerTransition* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TriggerTransition>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.TriggerTransition)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.TriggerTransition)
    MergeFrom(*source);
  }
}

void TriggerTransition::MergeFrom(const TriggerTransition& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TriggerTransition)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.is_new() != 0) {
    _internal_set_is_new(from._internal_is_new());
  }
  if (from.is_table() != 0) {
    _internal_set_is_table(from._internal_is_table());
  }
}

void TriggerTransition::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.TriggerTransition)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TriggerTransition::CopyFrom(const TriggerTransition& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.TriggerTransition)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TriggerTransition::IsInitialized() const {
  return true;
}

void TriggerTransition::InternalSwap(TriggerTransition* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TriggerTransition, is_table_)
      + sizeof(TriggerTransition::is_table_)
      - PROTOBUF_FIELD_OFFSET(TriggerTransition, is_new_)>(
          reinterpret_cast<char*>(&is_new_),
          reinterpret_cast<char*>(&other->is_new_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TriggerTransition::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class PartitionElem::_Internal {
 public:
  static const ::pg_query::Node& expr(const PartitionElem* msg);
};

const ::pg_query::Node&
PartitionElem::_Internal::expr(const PartitionElem* msg) {
  return *msg->expr_;
}
PartitionElem::PartitionElem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  collation_(arena),
  opclass_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionElem)
}
PartitionElem::PartitionElem(const PartitionElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      collation_(from.collation_),
      opclass_(from.opclass_) {
  _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(), 
      GetArena());
  }
  if (from._internal_has_expr()) {
    expr_ = new ::pg_query::Node(*from.expr_);
  } else {
    expr_ = nullptr;
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionElem)
}

void PartitionElem::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&expr_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&expr_)) + sizeof(location_));
}

PartitionElem::~PartitionElem() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionElem)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PartitionElem::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete expr_;
}

void PartitionElem::ArenaDtor(void* object) {
  PartitionElem* _this = reinterpret_cast< PartitionElem* >(object);
  (void)_this;
}
void PartitionElem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PartitionElem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const PartitionElem& PartitionElem::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void PartitionElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionElem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  collation_.Clear();
  opclass_.Clear();
  name_.ClearToEmpty();
  if (GetArena() == nullptr && expr_ != nullptr) {
    delete expr_;
  }
  expr_ = nullptr;
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionElem::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      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, "pg_query.PartitionElem.name"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node collation = 3 [json_name = "collation"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_collation(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_opclass(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* PartitionElem::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionElem)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.PartitionElem.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::expr(this), target, stream);
  }

  // repeated .pg_query.Node collation = 3 [json_name = "collation"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_collation_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_collation(i), target, stream);
  }

  // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_opclass_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_opclass(i), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), 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:pg_query.PartitionElem)
  return target;
}

size_t PartitionElem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PartitionElem)
  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 .pg_query.Node collation = 3 [json_name = "collation"];
  total_size += 1UL * this->_internal_collation_size();
  for (const auto& msg : this->collation_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
  total_size += 1UL * this->_internal_opclass_size();
  for (const auto& msg : this->opclass_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (this->name().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *expr_);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PartitionElem::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.PartitionElem)
  GOOGLE_DCHECK_NE(&from, this);
  const PartitionElem* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PartitionElem>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.PartitionElem)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.PartitionElem)
    MergeFrom(*source);
  }
}

void PartitionElem::MergeFrom(const PartitionElem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionElem)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  collation_.MergeFrom(from.collation_);
  opclass_.MergeFrom(from.opclass_);
  if (from.name().size() > 0) {
    _internal_set_name(from._internal_name());
  }
  if (from.has_expr()) {
    _internal_mutable_expr()->::pg_query::Node::MergeFrom(from._internal_expr());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void PartitionElem::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.PartitionElem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PartitionElem::CopyFrom(const PartitionElem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PartitionElem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PartitionElem::IsInitialized() const {
  return true;
}

void PartitionElem::InternalSwap(PartitionElem* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  collation_.InternalSwap(&other->collation_);
  opclass_.InternalSwap(&other->opclass_);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionElem, location_)
      + sizeof(PartitionElem::location_)
      - PROTOBUF_FIELD_OFFSET(PartitionElem, expr_)>(
          reinterpret_cast<char*>(&expr_),
          reinterpret_cast<char*>(&other->expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionElem::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class PartitionSpec::_Internal {
 public:
};

PartitionSpec::PartitionSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  part_params_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionSpec)
}
PartitionSpec::PartitionSpec(const PartitionSpec& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      part_params_(from.part_params_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  strategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_strategy().empty()) {
    strategy_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_strategy(), 
      GetArena());
  }
  location_ = from.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionSpec)
}

void PartitionSpec::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  strategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  location_ = 0;
}

PartitionSpec::~PartitionSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionSpec)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PartitionSpec::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  strategy_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void PartitionSpec::ArenaDtor(void* object) {
  PartitionSpec* _this = reinterpret_cast< PartitionSpec* >(object);
  (void)_this;
}
void PartitionSpec::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PartitionSpec::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const PartitionSpec& PartitionSpec::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void PartitionSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionSpec)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  part_params_.Clear();
  strategy_.ClearToEmpty();
  location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionSpec::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string strategy = 1 [json_name = "strategy"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_strategy();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.PartitionSpec.strategy"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node part_params = 2 [json_name = "partParams"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_part_params(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* PartitionSpec::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionSpec)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string strategy = 1 [json_name = "strategy"];
  if (this->strategy().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_strategy().data(), static_cast<int>(this->_internal_strategy().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.PartitionSpec.strategy");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_strategy(), target);
  }

  // repeated .pg_query.Node part_params = 2 [json_name = "partParams"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_part_params_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_part_params(i), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), 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:pg_query.PartitionSpec)
  return target;
}

size_t PartitionSpec::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PartitionSpec)
  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 .pg_query.Node part_params = 2 [json_name = "partParams"];
  total_size += 1UL * this->_internal_part_params_size();
  for (const auto& msg : this->part_params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string strategy = 1 [json_name = "strategy"];
  if (this->strategy().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_strategy());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PartitionSpec::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.PartitionSpec)
  GOOGLE_DCHECK_NE(&from, this);
  const PartitionSpec* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PartitionSpec>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.PartitionSpec)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.PartitionSpec)
    MergeFrom(*source);
  }
}

void PartitionSpec::MergeFrom(const PartitionSpec& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionSpec)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  part_params_.MergeFrom(from.part_params_);
  if (from.strategy().size() > 0) {
    _internal_set_strategy(from._internal_strategy());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void PartitionSpec::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.PartitionSpec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PartitionSpec::CopyFrom(const PartitionSpec& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PartitionSpec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PartitionSpec::IsInitialized() const {
  return true;
}

void PartitionSpec::InternalSwap(PartitionSpec* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  part_params_.InternalSwap(&other->part_params_);
  strategy_.Swap(&other->strategy_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(location_, other->location_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionSpec::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class PartitionBoundSpec::_Internal {
 public:
};

PartitionBoundSpec::PartitionBoundSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  listdatums_(arena),
  lowerdatums_(arena),
  upperdatums_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionBoundSpec)
}
PartitionBoundSpec::PartitionBoundSpec(const PartitionBoundSpec& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      listdatums_(from.listdatums_),
      lowerdatums_(from.lowerdatums_),
      upperdatums_(from.upperdatums_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  strategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_strategy().empty()) {
    strategy_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_strategy(), 
      GetArena());
  }
  ::memcpy(&is_default_, &from.is_default_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&is_default_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionBoundSpec)
}

void PartitionBoundSpec::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  strategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&is_default_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&is_default_)) + sizeof(location_));
}

PartitionBoundSpec::~PartitionBoundSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionBoundSpec)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PartitionBoundSpec::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  strategy_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void PartitionBoundSpec::ArenaDtor(void* object) {
  PartitionBoundSpec* _this = reinterpret_cast< PartitionBoundSpec* >(object);
  (void)_this;
}
void PartitionBoundSpec::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PartitionBoundSpec::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const PartitionBoundSpec& PartitionBoundSpec::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void PartitionBoundSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionBoundSpec)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  listdatums_.Clear();
  lowerdatums_.Clear();
  upperdatums_.Clear();
  strategy_.ClearToEmpty();
  ::memset(&is_default_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&is_default_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionBoundSpec::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string strategy = 1 [json_name = "strategy"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_strategy();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.PartitionBoundSpec.strategy"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool is_default = 2 [json_name = "is_default"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          is_default_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 modulus = 3 [json_name = "modulus"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          modulus_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 remainder = 4 [json_name = "remainder"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          remainder_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_listdatums(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_lowerdatums(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_upperdatums(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // int32 location = 8 [json_name = "location"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* PartitionBoundSpec::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionBoundSpec)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string strategy = 1 [json_name = "strategy"];
  if (this->strategy().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_strategy().data(), static_cast<int>(this->_internal_strategy().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.PartitionBoundSpec.strategy");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_strategy(), target);
  }

  // bool is_default = 2 [json_name = "is_default"];
  if (this->is_default() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_is_default(), target);
  }

  // int32 modulus = 3 [json_name = "modulus"];
  if (this->modulus() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_modulus(), target);
  }

  // int32 remainder = 4 [json_name = "remainder"];
  if (this->remainder() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_remainder(), target);
  }

  // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_listdatums_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, this->_internal_listdatums(i), target, stream);
  }

  // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_lowerdatums_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, this->_internal_lowerdatums(i), target, stream);
  }

  // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_upperdatums_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, this->_internal_upperdatums(i), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), 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:pg_query.PartitionBoundSpec)
  return target;
}

size_t PartitionBoundSpec::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PartitionBoundSpec)
  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 .pg_query.Node listdatums = 5 [json_name = "listdatums"];
  total_size += 1UL * this->_internal_listdatums_size();
  for (const auto& msg : this->listdatums_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
  total_size += 1UL * this->_internal_lowerdatums_size();
  for (const auto& msg : this->lowerdatums_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
  total_size += 1UL * this->_internal_upperdatums_size();
  for (const auto& msg : this->upperdatums_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string strategy = 1 [json_name = "strategy"];
  if (this->strategy().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_strategy());
  }

  // bool is_default = 2 [json_name = "is_default"];
  if (this->is_default() != 0) {
    total_size += 1 + 1;
  }

  // int32 modulus = 3 [json_name = "modulus"];
  if (this->modulus() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_modulus());
  }

  // int32 remainder = 4 [json_name = "remainder"];
  if (this->remainder() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_remainder());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PartitionBoundSpec::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.PartitionBoundSpec)
  GOOGLE_DCHECK_NE(&from, this);
  const PartitionBoundSpec* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PartitionBoundSpec>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.PartitionBoundSpec)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.PartitionBoundSpec)
    MergeFrom(*source);
  }
}

void PartitionBoundSpec::MergeFrom(const PartitionBoundSpec& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionBoundSpec)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  listdatums_.MergeFrom(from.listdatums_);
  lowerdatums_.MergeFrom(from.lowerdatums_);
  upperdatums_.MergeFrom(from.upperdatums_);
  if (from.strategy().size() > 0) {
    _internal_set_strategy(from._internal_strategy());
  }
  if (from.is_default() != 0) {
    _internal_set_is_default(from._internal_is_default());
  }
  if (from.modulus() != 0) {
    _internal_set_modulus(from._internal_modulus());
  }
  if (from.remainder() != 0) {
    _internal_set_remainder(from._internal_remainder());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void PartitionBoundSpec::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.PartitionBoundSpec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PartitionBoundSpec::CopyFrom(const PartitionBoundSpec& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PartitionBoundSpec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PartitionBoundSpec::IsInitialized() const {
  return true;
}

void PartitionBoundSpec::InternalSwap(PartitionBoundSpec* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  listdatums_.InternalSwap(&other->listdatums_);
  lowerdatums_.InternalSwap(&other->lowerdatums_);
  upperdatums_.InternalSwap(&other->upperdatums_);
  strategy_.Swap(&other->strategy_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, location_)
      + sizeof(PartitionBoundSpec::location_)
      - PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, is_default_)>(
          reinterpret_cast<char*>(&is_default_),
          reinterpret_cast<char*>(&other->is_default_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionBoundSpec::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class PartitionRangeDatum::_Internal {
 public:
  static const ::pg_query::Node& value(const PartitionRangeDatum* msg);
};

const ::pg_query::Node&
PartitionRangeDatum::_Internal::value(const PartitionRangeDatum* msg) {
  return *msg->value_;
}
PartitionRangeDatum::PartitionRangeDatum(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionRangeDatum)
}
PartitionRangeDatum::PartitionRangeDatum(const PartitionRangeDatum& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_value()) {
    value_ = new ::pg_query::Node(*from.value_);
  } else {
    value_ = nullptr;
  }
  ::memcpy(&kind_, &from.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&location_) -
    reinterpret_cast<char*>(&kind_)) + sizeof(location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionRangeDatum)
}

void PartitionRangeDatum::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&value_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&value_)) + sizeof(location_));
}

PartitionRangeDatum::~PartitionRangeDatum() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionRangeDatum)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PartitionRangeDatum::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete value_;
}

void PartitionRangeDatum::ArenaDtor(void* object) {
  PartitionRangeDatum* _this = reinterpret_cast< PartitionRangeDatum* >(object);
  (void)_this;
}
void PartitionRangeDatum::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PartitionRangeDatum::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const PartitionRangeDatum& PartitionRangeDatum::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void PartitionRangeDatum::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionRangeDatum)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && value_ != nullptr) {
    delete value_;
  }
  value_ = nullptr;
  ::memset(&kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&location_) -
      reinterpret_cast<char*>(&kind_)) + sizeof(location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionRangeDatum::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
      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);
          _internal_set_kind(static_cast<::pg_query::PartitionRangeDatumKind>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.Node value = 2 [json_name = "value"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_value(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* PartitionRangeDatum::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionRangeDatum)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // .pg_query.Node value = 2 [json_name = "value"];
  if (this->has_value()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::value(this), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), 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:pg_query.PartitionRangeDatum)
  return target;
}

size_t PartitionRangeDatum::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PartitionRangeDatum)
  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;

  // .pg_query.Node value = 2 [json_name = "value"];
  if (this->has_value()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *value_);
  }

  // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
  if (this->kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->location() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PartitionRangeDatum::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.PartitionRangeDatum)
  GOOGLE_DCHECK_NE(&from, this);
  const PartitionRangeDatum* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PartitionRangeDatum>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.PartitionRangeDatum)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.PartitionRangeDatum)
    MergeFrom(*source);
  }
}

void PartitionRangeDatum::MergeFrom(const PartitionRangeDatum& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionRangeDatum)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_value()) {
    _internal_mutable_value()->::pg_query::Node::MergeFrom(from._internal_value());
  }
  if (from.kind() != 0) {
    _internal_set_kind(from._internal_kind());
  }
  if (from.location() != 0) {
    _internal_set_location(from._internal_location());
  }
}

void PartitionRangeDatum::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.PartitionRangeDatum)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PartitionRangeDatum::CopyFrom(const PartitionRangeDatum& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PartitionRangeDatum)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PartitionRangeDatum::IsInitialized() const {
  return true;
}

void PartitionRangeDatum::InternalSwap(PartitionRangeDatum* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, location_)
      + sizeof(PartitionRangeDatum::location_)
      - PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, value_)>(
          reinterpret_cast<char*>(&value_),
          reinterpret_cast<char*>(&other->value_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionRangeDatum::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class PartitionCmd::_Internal {
 public:
  static const ::pg_query::RangeVar& name(const PartitionCmd* msg);
  static const ::pg_query::PartitionBoundSpec& bound(const PartitionCmd* msg);
};

const ::pg_query::RangeVar&
PartitionCmd::_Internal::name(const PartitionCmd* msg) {
  return *msg->name_;
}
const ::pg_query::PartitionBoundSpec&
PartitionCmd::_Internal::bound(const PartitionCmd* msg) {
  return *msg->bound_;
}
PartitionCmd::PartitionCmd(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionCmd)
}
PartitionCmd::PartitionCmd(const PartitionCmd& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_name()) {
    name_ = new ::pg_query::RangeVar(*from.name_);
  } else {
    name_ = nullptr;
  }
  if (from._internal_has_bound()) {
    bound_ = new ::pg_query::PartitionBoundSpec(*from.bound_);
  } else {
    bound_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionCmd)
}

void PartitionCmd::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&name_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&bound_) -
      reinterpret_cast<char*>(&name_)) + sizeof(bound_));
}

PartitionCmd::~PartitionCmd() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionCmd)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PartitionCmd::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete name_;
  if (this != internal_default_instance()) delete bound_;
}

void PartitionCmd::ArenaDtor(void* object) {
  PartitionCmd* _this = reinterpret_cast< PartitionCmd* >(object);
  (void)_this;
}
void PartitionCmd::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PartitionCmd::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const PartitionCmd& PartitionCmd::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void PartitionCmd::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionCmd)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArena() == nullptr && name_ != nullptr) {
    delete name_;
  }
  name_ = nullptr;
  if (GetArena() == nullptr && bound_ != nullptr) {
    delete bound_;
  }
  bound_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionCmd::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_name(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_bound(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* PartitionCmd::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionCmd)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar name = 1 [json_name = "name"];
  if (this->has_name()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::name(this), target, stream);
  }

  // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
  if (this->has_bound()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::bound(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:pg_query.PartitionCmd)
  return target;
}

size_t PartitionCmd::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PartitionCmd)
  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;

  // .pg_query.RangeVar name = 1 [json_name = "name"];
  if (this->has_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *name_);
  }

  // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
  if (this->has_bound()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *bound_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PartitionCmd::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.PartitionCmd)
  GOOGLE_DCHECK_NE(&from, this);
  const PartitionCmd* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PartitionCmd>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.PartitionCmd)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.PartitionCmd)
    MergeFrom(*source);
  }
}

void PartitionCmd::MergeFrom(const PartitionCmd& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionCmd)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_name()) {
    _internal_mutable_name()->::pg_query::RangeVar::MergeFrom(from._internal_name());
  }
  if (from.has_bound()) {
    _internal_mutable_bound()->::pg_query::PartitionBoundSpec::MergeFrom(from._internal_bound());
  }
}

void PartitionCmd::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.PartitionCmd)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PartitionCmd::CopyFrom(const PartitionCmd& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PartitionCmd)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PartitionCmd::IsInitialized() const {
  return true;
}

void PartitionCmd::InternalSwap(PartitionCmd* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionCmd, bound_)
      + sizeof(PartitionCmd::bound_)
      - PROTOBUF_FIELD_OFFSET(PartitionCmd, name_)>(
          reinterpret_cast<char*>(&name_),
          reinterpret_cast<char*>(&other->name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionCmd::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class VacuumRelation::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const VacuumRelation* msg);
};

const ::pg_query::RangeVar&
VacuumRelation::_Internal::relation(const VacuumRelation* msg) {
  return *msg->relation_;
}
VacuumRelation::VacuumRelation(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  va_cols_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VacuumRelation)
}
VacuumRelation::VacuumRelation(const VacuumRelation& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      va_cols_(from.va_cols_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    relation_ = new ::pg_query::RangeVar(*from.relation_);
  } else {
    relation_ = nullptr;
  }
  oid_ = from.oid_;
  // @@protoc_insertion_point(copy_constructor:pg_query.VacuumRelation)
}

void VacuumRelation::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&relation_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&oid_) -
      reinterpret_cast<char*>(&relation_)) + sizeof(oid_));
}

VacuumRelation::~VacuumRelation() {
  // @@protoc_insertion_point(destructor:pg_query.VacuumRelation)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void VacuumRelation::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete relation_;
}

void VacuumRelation::ArenaDtor(void* object) {
  VacuumRelation* _this = reinterpret_cast< VacuumRelation* >(object);
  (void)_this;
}
void VacuumRelation::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void VacuumRelation::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const VacuumRelation& VacuumRelation::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_A_ArrayExpr_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void VacuumRelation::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VacuumRelation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  va_cols_.Clear();
  if (GetArena() == nullptr && relation_ != nullptr) {
    delete relation_;
  }
  relation_ = nullptr;
  oid_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VacuumRelation::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 oid = 2 [json_name = "oid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_va_cols(), 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 & 7) == 4 || tag == 0) {
          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* VacuumRelation::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VacuumRelation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::relation(this), target, stream);
  }

  // uint32 oid = 2 [json_name = "oid"];
  if (this->oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_oid(), target);
  }

  // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"];
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_va_cols_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_va_cols(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:pg_query.VacuumRelation)
  return target;
}

size_t VacuumRelation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.VacuumRelation)
  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 .pg_query.Node va_cols = 3 [json_name = "va_cols"];
  total_size += 1UL * this->_internal_va_cols_size();
  for (const auto& msg : this->va_cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *relation_);
  }

  // uint32 oid = 2 [json_name = "oid"];
  if (this->oid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_oid());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void VacuumRelation::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.VacuumRelation)
  GOOGLE_DCHECK_NE(&from, this);
  const VacuumRelation* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<VacuumRelation>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.VacuumRelation)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.VacuumRelation)
    MergeFrom(*source);
  }
}

void VacuumRelation::MergeFrom(const VacuumRelation& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VacuumRelation)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  va_cols_.MergeFrom(from.va_cols_);
  if (from.has_relation()) {
    _internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(from._internal_relation());
  }
  if (from.oid() != 0) {
    _internal_set_oid(from._internal_oid());
  }
}

void VacuumRelation::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.VacuumRelation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VacuumRelation::CopyFrom(const VacuumRelation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.VacuumRelation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VacuumRelation::IsInitialized() const {
  return true;
}

void VacuumRelation::InternalSwap(VacuumRelation* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  va_cols_.InternalSwap(&other->va_cols_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(VacuumRelation, oid_)
      + sizeof(VacuumRelation::oid_)
      - PROTOBUF_FIELD_OFFSET(VacuumRelation, relation_)>(
          reinterpret_cast<char*>(&relation_),
          reinterpret_cast<char*>(&other->relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata VacuumRelation::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class InlineCodeBlock::_Internal {
 public:
};

InlineCodeBlock::InlineCodeBlock(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InlineCodeBlock)
}
InlineCodeBlock::InlineCodeBlock(const InlineCodeBlock& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  source_text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_source_text().empty()) {
    source_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_source_text(), 
      GetArena());
  }
  ::memcpy(&lang_oid_, &from.lang_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&atomic_) -
    reinterpret_cast<char*>(&lang_oid_)) + sizeof(atomic_));
  // @@protoc_insertion_point(copy_constructor:pg_query.InlineCodeBlock)
}

void InlineCodeBlock::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto.base);
  source_text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&lang_oid_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&atomic_) -
      reinterpret_cast<char*>(&lang_oid_)) + sizeof(atomic_));
}

InlineCodeBlock::~InlineCodeBlock() {
  // @@protoc_insertion_point(destructor:pg_query.InlineCodeBlock)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void InlineCodeBlock::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  source_text_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void InlineCodeBlock::ArenaDtor(void* object) {
  InlineCodeBlock* _this = reinterpret_cast< InlineCodeBlock* >(object);
  (void)_this;
}
void InlineCodeBlock::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void InlineCodeBlock::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const InlineCodeBlock& InlineCodeBlock::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_InlineCodeBlock_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void InlineCodeBlock::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InlineCodeBlock)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  source_text_.ClearToEmpty();
  ::memset(&lang_oid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&atomic_) -
      reinterpret_cast<char*>(&lang_oid_)) + sizeof(atomic_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InlineCodeBlock::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // string source_text = 1 [json_name = "source_text"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_source_text();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "pg_query.InlineCodeBlock.source_text"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // uint32 lang_oid = 2 [json_name = "langOid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          lang_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          lang_is_trusted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool atomic = 4 [json_name = "atomic"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          atomic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* InlineCodeBlock::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InlineCodeBlock)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string source_text = 1 [json_name = "source_text"];
  if (this->source_text().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_source_text().data(), static_cast<int>(this->_internal_source_text().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.InlineCodeBlock.source_text");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_source_text(), target);
  }

  // uint32 lang_oid = 2 [json_name = "langOid"];
  if (this->lang_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_lang_oid(), target);
  }

  // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
  if (this->lang_is_trusted() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_lang_is_trusted(), target);
  }

  // bool atomic = 4 [json_name = "atomic"];
  if (this->atomic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_atomic(), 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:pg_query.InlineCodeBlock)
  return target;
}

size_t InlineCodeBlock::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.InlineCodeBlock)
  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 source_text = 1 [json_name = "source_text"];
  if (this->source_text().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_source_text());
  }

  // uint32 lang_oid = 2 [json_name = "langOid"];
  if (this->lang_oid() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_lang_oid());
  }

  // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
  if (this->lang_is_trusted() != 0) {
    total_size += 1 + 1;
  }

  // bool atomic = 4 [json_name = "atomic"];
  if (this->atomic() != 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;
}

void InlineCodeBlock::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.InlineCodeBlock)
  GOOGLE_DCHECK_NE(&from, this);
  const InlineCodeBlock* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<InlineCodeBlock>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.InlineCodeBlock)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.InlineCodeBlock)
    MergeFrom(*source);
  }
}

void InlineCodeBlock::MergeFrom(const InlineCodeBlock& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InlineCodeBlock)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.source_text().size() > 0) {
    _internal_set_source_text(from._internal_source_text());
  }
  if (from.lang_oid() != 0) {
    _internal_set_lang_oid(from._internal_lang_oid());
  }
  if (from.lang_is_trusted() != 0) {
    _internal_set_lang_is_trusted(from._internal_lang_is_trusted());
  }
  if (from.atomic() != 0) {
    _internal_set_atomic(from._internal_atomic());
  }
}

void InlineCodeBlock::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.InlineCodeBlock)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void InlineCodeBlock::CopyFrom(const InlineCodeBlock& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.InlineCodeBlock)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool InlineCodeBlock::IsInitialized() const {
  return true;
}

void InlineCodeBlock::InternalSwap(InlineCodeBlock* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  source_text_.Swap(&other->source_text_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InlineCodeBlock, atomic_)
      + sizeof(InlineCodeBlock::atomic_)
      - PROTOBUF_FIELD_OFFSET(InlineCodeBlock, lang_oid_)>(
          reinterpret_cast<char*>(&lang_oid_),
          reinterpret_cast<char*>(&other->lang_oid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InlineCodeBlock::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class CallContext::_Internal {
 public:
};

CallContext::CallContext(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CallContext)
}
CallContext::CallContext(const CallContext& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  atomic_ = from.atomic_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CallContext)
}

void CallContext::SharedCtor() {
  atomic_ = false;
}

CallContext::~CallContext() {
  // @@protoc_insertion_point(destructor:pg_query.CallContext)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CallContext::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void CallContext::ArenaDtor(void* object) {
  CallContext* _this = reinterpret_cast< CallContext* >(object);
  (void)_this;
}
void CallContext::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CallContext::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const CallContext& CallContext::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CallContext_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void CallContext::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CallContext)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  atomic_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CallContext::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // bool atomic = 1 [json_name = "atomic"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          atomic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* CallContext::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CallContext)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool atomic = 1 [json_name = "atomic"];
  if (this->atomic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_atomic(), 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:pg_query.CallContext)
  return target;
}

size_t CallContext::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CallContext)
  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;

  // bool atomic = 1 [json_name = "atomic"];
  if (this->atomic() != 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;
}

void CallContext::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.CallContext)
  GOOGLE_DCHECK_NE(&from, this);
  const CallContext* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CallContext>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.CallContext)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.CallContext)
    MergeFrom(*source);
  }
}

void CallContext::MergeFrom(const CallContext& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CallContext)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.atomic() != 0) {
    _internal_set_atomic(from._internal_atomic());
  }
}

void CallContext::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.CallContext)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CallContext::CopyFrom(const CallContext& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CallContext)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CallContext::IsInitialized() const {
  return true;
}

void CallContext::InternalSwap(CallContext* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(atomic_, other->atomic_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CallContext::GetMetadata() const {
  return GetMetadataStatic();
}


// ===================================================================

class ScanToken::_Internal {
 public:
};

ScanToken::ScanToken(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScanToken)
}
ScanToken::ScanToken(const ScanToken& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&start_, &from.start_,
    static_cast<size_t>(reinterpret_cast<char*>(&keyword_kind_) -
    reinterpret_cast<char*>(&start_)) + sizeof(keyword_kind_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ScanToken)
}

void ScanToken::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&start_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&keyword_kind_) -
      reinterpret_cast<char*>(&start_)) + sizeof(keyword_kind_));
}

ScanToken::~ScanToken() {
  // @@protoc_insertion_point(destructor:pg_query.ScanToken)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ScanToken::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void ScanToken::ArenaDtor(void* object) {
  ScanToken* _this = reinterpret_cast< ScanToken* >(object);
  (void)_this;
}
void ScanToken::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ScanToken::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ScanToken& ScanToken::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ScanToken_protobuf_2fpg_5fquery_2eproto.base);
  return *internal_default_instance();
}


void ScanToken::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ScanToken)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&start_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&keyword_kind_) -
      reinterpret_cast<char*>(&start_)) + sizeof(keyword_kind_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ScanToken::_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);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 start = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 end = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .pg_query.Token token = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_token(static_cast<::pg_query::Token>(val));
        } else goto handle_unusual;
        continue;
      // .pg_query.KeywordKind keyword_kind = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_keyword_kind(static_cast<::pg_query::KeywordKind>(val));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          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* ScanToken::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ScanToken)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 start = 1;
  if (this->start() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_start(), target);
  }

  // int32 end = 2;
  if (this->end() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_end(), target);
  }

  // .pg_query.Token token = 4;
  if (this->token() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_token(), target);
  }

  // .pg_query.KeywordKind keyword_kind = 5;
  if (this->keyword_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      5, this->_internal_keyword_kind(), 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:pg_query.ScanToken)
  return target;
}

size_t ScanToken::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ScanToken)
  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;

  // int32 start = 1;
  if (this->start() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_start());
  }

  // int32 end = 2;
  if (this->end() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_end());
  }

  // .pg_query.Token token = 4;
  if (this->token() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_token());
  }

  // .pg_query.KeywordKind keyword_kind = 5;
  if (this->keyword_kind() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_keyword_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;
}

void ScanToken::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:pg_query.ScanToken)
  GOOGLE_DCHECK_NE(&from, this);
  const ScanToken* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ScanToken>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:pg_query.ScanToken)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:pg_query.ScanToken)
    MergeFrom(*source);
  }
}

void ScanToken::MergeFrom(const ScanToken& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ScanToken)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.start() != 0) {
    _internal_set_start(from._internal_start());
  }
  if (from.end() != 0) {
    _internal_set_end(from._internal_end());
  }
  if (from.token() != 0) {
    _internal_set_token(from._internal_token());
  }
  if (from.keyword_kind() != 0) {
    _internal_set_keyword_kind(from._internal_keyword_kind());
  }
}

void ScanToken::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:pg_query.ScanToken)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ScanToken::CopyFrom(const ScanToken& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ScanToken)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ScanToken::IsInitialized() const {
  return true;
}

void ScanToken::InternalSwap(ScanToken* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScanToken, keyword_kind_)
      + sizeof(ScanToken::keyword_kind_)
      - PROTOBUF_FIELD_OFFSET(ScanToken, start_)>(
          reinterpret_cast<char*>(&start_),
          reinterpret_cast<char*>(&other->start_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ScanToken::GetMetadata() const {
  return GetMetadataStatic();
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace pg_query
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::pg_query::ParseResult* Arena::CreateMaybeMessage< ::pg_query::ParseResult >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ParseResult >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ScanResult* Arena::CreateMaybeMessage< ::pg_query::ScanResult >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ScanResult >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Node* Arena::CreateMaybeMessage< ::pg_query::Node >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Node >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Integer* Arena::CreateMaybeMessage< ::pg_query::Integer >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Integer >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Float* Arena::CreateMaybeMessage< ::pg_query::Float >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Float >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::String* Arena::CreateMaybeMessage< ::pg_query::String >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::String >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::BitString* Arena::CreateMaybeMessage< ::pg_query::BitString >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::BitString >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Null* Arena::CreateMaybeMessage< ::pg_query::Null >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Null >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::List* Arena::CreateMaybeMessage< ::pg_query::List >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::List >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::OidList* Arena::CreateMaybeMessage< ::pg_query::OidList >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::OidList >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::IntList* Arena::CreateMaybeMessage< ::pg_query::IntList >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::IntList >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Bitmapset* Arena::CreateMaybeMessage< ::pg_query::Bitmapset >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Bitmapset >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Alias* Arena::CreateMaybeMessage< ::pg_query::Alias >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Alias >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeVar* Arena::CreateMaybeMessage< ::pg_query::RangeVar >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeVar >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TableFunc* Arena::CreateMaybeMessage< ::pg_query::TableFunc >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TableFunc >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Expr* Arena::CreateMaybeMessage< ::pg_query::Expr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Expr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Var* Arena::CreateMaybeMessage< ::pg_query::Var >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Var >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Param* Arena::CreateMaybeMessage< ::pg_query::Param >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Param >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Aggref* Arena::CreateMaybeMessage< ::pg_query::Aggref >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Aggref >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::GroupingFunc* Arena::CreateMaybeMessage< ::pg_query::GroupingFunc >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::GroupingFunc >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::WindowFunc* Arena::CreateMaybeMessage< ::pg_query::WindowFunc >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::WindowFunc >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SubscriptingRef* Arena::CreateMaybeMessage< ::pg_query::SubscriptingRef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SubscriptingRef >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::FuncExpr* Arena::CreateMaybeMessage< ::pg_query::FuncExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::FuncExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::NamedArgExpr* Arena::CreateMaybeMessage< ::pg_query::NamedArgExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::NamedArgExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::OpExpr* Arena::CreateMaybeMessage< ::pg_query::OpExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::OpExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DistinctExpr* Arena::CreateMaybeMessage< ::pg_query::DistinctExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DistinctExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::NullIfExpr* Arena::CreateMaybeMessage< ::pg_query::NullIfExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::NullIfExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ScalarArrayOpExpr* Arena::CreateMaybeMessage< ::pg_query::ScalarArrayOpExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ScalarArrayOpExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::BoolExpr* Arena::CreateMaybeMessage< ::pg_query::BoolExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::BoolExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SubLink* Arena::CreateMaybeMessage< ::pg_query::SubLink >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SubLink >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SubPlan* Arena::CreateMaybeMessage< ::pg_query::SubPlan >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SubPlan >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlternativeSubPlan* Arena::CreateMaybeMessage< ::pg_query::AlternativeSubPlan >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlternativeSubPlan >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::FieldSelect* Arena::CreateMaybeMessage< ::pg_query::FieldSelect >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::FieldSelect >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::FieldStore* Arena::CreateMaybeMessage< ::pg_query::FieldStore >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::FieldStore >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RelabelType* Arena::CreateMaybeMessage< ::pg_query::RelabelType >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RelabelType >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CoerceViaIO* Arena::CreateMaybeMessage< ::pg_query::CoerceViaIO >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CoerceViaIO >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ArrayCoerceExpr* Arena::CreateMaybeMessage< ::pg_query::ArrayCoerceExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ArrayCoerceExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ConvertRowtypeExpr* Arena::CreateMaybeMessage< ::pg_query::ConvertRowtypeExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ConvertRowtypeExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CollateExpr* Arena::CreateMaybeMessage< ::pg_query::CollateExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CollateExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CaseExpr* Arena::CreateMaybeMessage< ::pg_query::CaseExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CaseExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CaseWhen* Arena::CreateMaybeMessage< ::pg_query::CaseWhen >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CaseWhen >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CaseTestExpr* Arena::CreateMaybeMessage< ::pg_query::CaseTestExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CaseTestExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ArrayExpr* Arena::CreateMaybeMessage< ::pg_query::ArrayExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ArrayExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RowExpr* Arena::CreateMaybeMessage< ::pg_query::RowExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RowExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RowCompareExpr* Arena::CreateMaybeMessage< ::pg_query::RowCompareExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RowCompareExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CoalesceExpr* Arena::CreateMaybeMessage< ::pg_query::CoalesceExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CoalesceExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::MinMaxExpr* Arena::CreateMaybeMessage< ::pg_query::MinMaxExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::MinMaxExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SQLValueFunction* Arena::CreateMaybeMessage< ::pg_query::SQLValueFunction >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SQLValueFunction >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::XmlExpr* Arena::CreateMaybeMessage< ::pg_query::XmlExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::XmlExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::NullTest* Arena::CreateMaybeMessage< ::pg_query::NullTest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::NullTest >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::BooleanTest* Arena::CreateMaybeMessage< ::pg_query::BooleanTest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::BooleanTest >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CoerceToDomain* Arena::CreateMaybeMessage< ::pg_query::CoerceToDomain >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CoerceToDomain >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CoerceToDomainValue* Arena::CreateMaybeMessage< ::pg_query::CoerceToDomainValue >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CoerceToDomainValue >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SetToDefault* Arena::CreateMaybeMessage< ::pg_query::SetToDefault >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SetToDefault >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CurrentOfExpr* Arena::CreateMaybeMessage< ::pg_query::CurrentOfExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CurrentOfExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::NextValueExpr* Arena::CreateMaybeMessage< ::pg_query::NextValueExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::NextValueExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::InferenceElem* Arena::CreateMaybeMessage< ::pg_query::InferenceElem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::InferenceElem >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TargetEntry* Arena::CreateMaybeMessage< ::pg_query::TargetEntry >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TargetEntry >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeTblRef* Arena::CreateMaybeMessage< ::pg_query::RangeTblRef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeTblRef >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::JoinExpr* Arena::CreateMaybeMessage< ::pg_query::JoinExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::JoinExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::FromExpr* Arena::CreateMaybeMessage< ::pg_query::FromExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::FromExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::OnConflictExpr* Arena::CreateMaybeMessage< ::pg_query::OnConflictExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::OnConflictExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::IntoClause* Arena::CreateMaybeMessage< ::pg_query::IntoClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::IntoClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RawStmt* Arena::CreateMaybeMessage< ::pg_query::RawStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RawStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Query* Arena::CreateMaybeMessage< ::pg_query::Query >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Query >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::InsertStmt* Arena::CreateMaybeMessage< ::pg_query::InsertStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::InsertStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DeleteStmt* Arena::CreateMaybeMessage< ::pg_query::DeleteStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DeleteStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::UpdateStmt* Arena::CreateMaybeMessage< ::pg_query::UpdateStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::UpdateStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SelectStmt* Arena::CreateMaybeMessage< ::pg_query::SelectStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SelectStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterTableStmt* Arena::CreateMaybeMessage< ::pg_query::AlterTableStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterTableStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterTableCmd* Arena::CreateMaybeMessage< ::pg_query::AlterTableCmd >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterTableCmd >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterDomainStmt* Arena::CreateMaybeMessage< ::pg_query::AlterDomainStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterDomainStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SetOperationStmt* Arena::CreateMaybeMessage< ::pg_query::SetOperationStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SetOperationStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::GrantStmt* Arena::CreateMaybeMessage< ::pg_query::GrantStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::GrantStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::GrantRoleStmt* Arena::CreateMaybeMessage< ::pg_query::GrantRoleStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::GrantRoleStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterDefaultPrivilegesStmt* Arena::CreateMaybeMessage< ::pg_query::AlterDefaultPrivilegesStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterDefaultPrivilegesStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ClosePortalStmt* Arena::CreateMaybeMessage< ::pg_query::ClosePortalStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ClosePortalStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ClusterStmt* Arena::CreateMaybeMessage< ::pg_query::ClusterStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ClusterStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CopyStmt* Arena::CreateMaybeMessage< ::pg_query::CopyStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CopyStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateStmt* Arena::CreateMaybeMessage< ::pg_query::CreateStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DefineStmt* Arena::CreateMaybeMessage< ::pg_query::DefineStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DefineStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DropStmt* Arena::CreateMaybeMessage< ::pg_query::DropStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DropStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TruncateStmt* Arena::CreateMaybeMessage< ::pg_query::TruncateStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TruncateStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CommentStmt* Arena::CreateMaybeMessage< ::pg_query::CommentStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CommentStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::FetchStmt* Arena::CreateMaybeMessage< ::pg_query::FetchStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::FetchStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::IndexStmt* Arena::CreateMaybeMessage< ::pg_query::IndexStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::IndexStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateFunctionStmt* Arena::CreateMaybeMessage< ::pg_query::CreateFunctionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateFunctionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterFunctionStmt* Arena::CreateMaybeMessage< ::pg_query::AlterFunctionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterFunctionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DoStmt* Arena::CreateMaybeMessage< ::pg_query::DoStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DoStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RenameStmt* Arena::CreateMaybeMessage< ::pg_query::RenameStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RenameStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RuleStmt* Arena::CreateMaybeMessage< ::pg_query::RuleStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RuleStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::NotifyStmt* Arena::CreateMaybeMessage< ::pg_query::NotifyStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::NotifyStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ListenStmt* Arena::CreateMaybeMessage< ::pg_query::ListenStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ListenStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::UnlistenStmt* Arena::CreateMaybeMessage< ::pg_query::UnlistenStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::UnlistenStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TransactionStmt* Arena::CreateMaybeMessage< ::pg_query::TransactionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TransactionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ViewStmt* Arena::CreateMaybeMessage< ::pg_query::ViewStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ViewStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::LoadStmt* Arena::CreateMaybeMessage< ::pg_query::LoadStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::LoadStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateDomainStmt* Arena::CreateMaybeMessage< ::pg_query::CreateDomainStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateDomainStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreatedbStmt* Arena::CreateMaybeMessage< ::pg_query::CreatedbStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreatedbStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DropdbStmt* Arena::CreateMaybeMessage< ::pg_query::DropdbStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DropdbStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::VacuumStmt* Arena::CreateMaybeMessage< ::pg_query::VacuumStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::VacuumStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ExplainStmt* Arena::CreateMaybeMessage< ::pg_query::ExplainStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ExplainStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateTableAsStmt* Arena::CreateMaybeMessage< ::pg_query::CreateTableAsStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateTableAsStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateSeqStmt* Arena::CreateMaybeMessage< ::pg_query::CreateSeqStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateSeqStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterSeqStmt* Arena::CreateMaybeMessage< ::pg_query::AlterSeqStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterSeqStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::VariableSetStmt* Arena::CreateMaybeMessage< ::pg_query::VariableSetStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::VariableSetStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::VariableShowStmt* Arena::CreateMaybeMessage< ::pg_query::VariableShowStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::VariableShowStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DiscardStmt* Arena::CreateMaybeMessage< ::pg_query::DiscardStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DiscardStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateTrigStmt* Arena::CreateMaybeMessage< ::pg_query::CreateTrigStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateTrigStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreatePLangStmt* Arena::CreateMaybeMessage< ::pg_query::CreatePLangStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreatePLangStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateRoleStmt* Arena::CreateMaybeMessage< ::pg_query::CreateRoleStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateRoleStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterRoleStmt* Arena::CreateMaybeMessage< ::pg_query::AlterRoleStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterRoleStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DropRoleStmt* Arena::CreateMaybeMessage< ::pg_query::DropRoleStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DropRoleStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::LockStmt* Arena::CreateMaybeMessage< ::pg_query::LockStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::LockStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ConstraintsSetStmt* Arena::CreateMaybeMessage< ::pg_query::ConstraintsSetStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ConstraintsSetStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ReindexStmt* Arena::CreateMaybeMessage< ::pg_query::ReindexStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ReindexStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CheckPointStmt* Arena::CreateMaybeMessage< ::pg_query::CheckPointStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CheckPointStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateSchemaStmt* Arena::CreateMaybeMessage< ::pg_query::CreateSchemaStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateSchemaStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterDatabaseStmt* Arena::CreateMaybeMessage< ::pg_query::AlterDatabaseStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterDatabaseStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterDatabaseSetStmt* Arena::CreateMaybeMessage< ::pg_query::AlterDatabaseSetStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterDatabaseSetStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterRoleSetStmt* Arena::CreateMaybeMessage< ::pg_query::AlterRoleSetStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterRoleSetStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateConversionStmt* Arena::CreateMaybeMessage< ::pg_query::CreateConversionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateConversionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateCastStmt* Arena::CreateMaybeMessage< ::pg_query::CreateCastStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateCastStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateOpClassStmt* Arena::CreateMaybeMessage< ::pg_query::CreateOpClassStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateOpClassStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateOpFamilyStmt* Arena::CreateMaybeMessage< ::pg_query::CreateOpFamilyStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateOpFamilyStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterOpFamilyStmt* Arena::CreateMaybeMessage< ::pg_query::AlterOpFamilyStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterOpFamilyStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PrepareStmt* Arena::CreateMaybeMessage< ::pg_query::PrepareStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PrepareStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ExecuteStmt* Arena::CreateMaybeMessage< ::pg_query::ExecuteStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ExecuteStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DeallocateStmt* Arena::CreateMaybeMessage< ::pg_query::DeallocateStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DeallocateStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DeclareCursorStmt* Arena::CreateMaybeMessage< ::pg_query::DeclareCursorStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DeclareCursorStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateTableSpaceStmt* Arena::CreateMaybeMessage< ::pg_query::CreateTableSpaceStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateTableSpaceStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DropTableSpaceStmt* Arena::CreateMaybeMessage< ::pg_query::DropTableSpaceStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DropTableSpaceStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterObjectDependsStmt* Arena::CreateMaybeMessage< ::pg_query::AlterObjectDependsStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterObjectDependsStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterObjectSchemaStmt* Arena::CreateMaybeMessage< ::pg_query::AlterObjectSchemaStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterObjectSchemaStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterOwnerStmt* Arena::CreateMaybeMessage< ::pg_query::AlterOwnerStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterOwnerStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterOperatorStmt* Arena::CreateMaybeMessage< ::pg_query::AlterOperatorStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterOperatorStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterTypeStmt* Arena::CreateMaybeMessage< ::pg_query::AlterTypeStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterTypeStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DropOwnedStmt* Arena::CreateMaybeMessage< ::pg_query::DropOwnedStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DropOwnedStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ReassignOwnedStmt* Arena::CreateMaybeMessage< ::pg_query::ReassignOwnedStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ReassignOwnedStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CompositeTypeStmt* Arena::CreateMaybeMessage< ::pg_query::CompositeTypeStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CompositeTypeStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateEnumStmt* Arena::CreateMaybeMessage< ::pg_query::CreateEnumStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateEnumStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateRangeStmt* Arena::CreateMaybeMessage< ::pg_query::CreateRangeStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateRangeStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterEnumStmt* Arena::CreateMaybeMessage< ::pg_query::AlterEnumStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterEnumStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterTSDictionaryStmt* Arena::CreateMaybeMessage< ::pg_query::AlterTSDictionaryStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterTSDictionaryStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterTSConfigurationStmt* Arena::CreateMaybeMessage< ::pg_query::AlterTSConfigurationStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterTSConfigurationStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateFdwStmt* Arena::CreateMaybeMessage< ::pg_query::CreateFdwStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateFdwStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterFdwStmt* Arena::CreateMaybeMessage< ::pg_query::AlterFdwStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterFdwStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateForeignServerStmt* Arena::CreateMaybeMessage< ::pg_query::CreateForeignServerStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateForeignServerStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterForeignServerStmt* Arena::CreateMaybeMessage< ::pg_query::AlterForeignServerStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterForeignServerStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateUserMappingStmt* Arena::CreateMaybeMessage< ::pg_query::CreateUserMappingStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateUserMappingStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterUserMappingStmt* Arena::CreateMaybeMessage< ::pg_query::AlterUserMappingStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterUserMappingStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DropUserMappingStmt* Arena::CreateMaybeMessage< ::pg_query::DropUserMappingStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DropUserMappingStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterTableSpaceOptionsStmt* Arena::CreateMaybeMessage< ::pg_query::AlterTableSpaceOptionsStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterTableSpaceOptionsStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterTableMoveAllStmt* Arena::CreateMaybeMessage< ::pg_query::AlterTableMoveAllStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterTableMoveAllStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SecLabelStmt* Arena::CreateMaybeMessage< ::pg_query::SecLabelStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SecLabelStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateForeignTableStmt* Arena::CreateMaybeMessage< ::pg_query::CreateForeignTableStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateForeignTableStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ImportForeignSchemaStmt* Arena::CreateMaybeMessage< ::pg_query::ImportForeignSchemaStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ImportForeignSchemaStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateExtensionStmt* Arena::CreateMaybeMessage< ::pg_query::CreateExtensionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateExtensionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterExtensionStmt* Arena::CreateMaybeMessage< ::pg_query::AlterExtensionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterExtensionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterExtensionContentsStmt* Arena::CreateMaybeMessage< ::pg_query::AlterExtensionContentsStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterExtensionContentsStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateEventTrigStmt* Arena::CreateMaybeMessage< ::pg_query::CreateEventTrigStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateEventTrigStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterEventTrigStmt* Arena::CreateMaybeMessage< ::pg_query::AlterEventTrigStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterEventTrigStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RefreshMatViewStmt* Arena::CreateMaybeMessage< ::pg_query::RefreshMatViewStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RefreshMatViewStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ReplicaIdentityStmt* Arena::CreateMaybeMessage< ::pg_query::ReplicaIdentityStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ReplicaIdentityStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterSystemStmt* Arena::CreateMaybeMessage< ::pg_query::AlterSystemStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterSystemStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreatePolicyStmt* Arena::CreateMaybeMessage< ::pg_query::CreatePolicyStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreatePolicyStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterPolicyStmt* Arena::CreateMaybeMessage< ::pg_query::AlterPolicyStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterPolicyStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateTransformStmt* Arena::CreateMaybeMessage< ::pg_query::CreateTransformStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateTransformStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateAmStmt* Arena::CreateMaybeMessage< ::pg_query::CreateAmStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateAmStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreatePublicationStmt* Arena::CreateMaybeMessage< ::pg_query::CreatePublicationStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreatePublicationStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterPublicationStmt* Arena::CreateMaybeMessage< ::pg_query::AlterPublicationStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterPublicationStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateSubscriptionStmt* Arena::CreateMaybeMessage< ::pg_query::CreateSubscriptionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateSubscriptionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterSubscriptionStmt* Arena::CreateMaybeMessage< ::pg_query::AlterSubscriptionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterSubscriptionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DropSubscriptionStmt* Arena::CreateMaybeMessage< ::pg_query::DropSubscriptionStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DropSubscriptionStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateStatsStmt* Arena::CreateMaybeMessage< ::pg_query::CreateStatsStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateStatsStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterCollationStmt* Arena::CreateMaybeMessage< ::pg_query::AlterCollationStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterCollationStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CallStmt* Arena::CreateMaybeMessage< ::pg_query::CallStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CallStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AlterStatsStmt* Arena::CreateMaybeMessage< ::pg_query::AlterStatsStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterStatsStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::A_Expr* Arena::CreateMaybeMessage< ::pg_query::A_Expr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::A_Expr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ColumnRef* Arena::CreateMaybeMessage< ::pg_query::ColumnRef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ColumnRef >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ParamRef* Arena::CreateMaybeMessage< ::pg_query::ParamRef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ParamRef >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::A_Const* Arena::CreateMaybeMessage< ::pg_query::A_Const >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::A_Const >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::FuncCall* Arena::CreateMaybeMessage< ::pg_query::FuncCall >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::FuncCall >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::A_Star* Arena::CreateMaybeMessage< ::pg_query::A_Star >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::A_Star >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::A_Indices* Arena::CreateMaybeMessage< ::pg_query::A_Indices >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::A_Indices >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::A_Indirection* Arena::CreateMaybeMessage< ::pg_query::A_Indirection >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::A_Indirection >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::A_ArrayExpr* Arena::CreateMaybeMessage< ::pg_query::A_ArrayExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::A_ArrayExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ResTarget* Arena::CreateMaybeMessage< ::pg_query::ResTarget >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ResTarget >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::MultiAssignRef* Arena::CreateMaybeMessage< ::pg_query::MultiAssignRef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::MultiAssignRef >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TypeCast* Arena::CreateMaybeMessage< ::pg_query::TypeCast >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TypeCast >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CollateClause* Arena::CreateMaybeMessage< ::pg_query::CollateClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CollateClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SortBy* Arena::CreateMaybeMessage< ::pg_query::SortBy >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SortBy >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::WindowDef* Arena::CreateMaybeMessage< ::pg_query::WindowDef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::WindowDef >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeSubselect* Arena::CreateMaybeMessage< ::pg_query::RangeSubselect >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeSubselect >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeFunction* Arena::CreateMaybeMessage< ::pg_query::RangeFunction >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeFunction >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeTableSample* Arena::CreateMaybeMessage< ::pg_query::RangeTableSample >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeTableSample >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeTableFunc* Arena::CreateMaybeMessage< ::pg_query::RangeTableFunc >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeTableFunc >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeTableFuncCol* Arena::CreateMaybeMessage< ::pg_query::RangeTableFuncCol >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeTableFuncCol >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TypeName* Arena::CreateMaybeMessage< ::pg_query::TypeName >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TypeName >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ColumnDef* Arena::CreateMaybeMessage< ::pg_query::ColumnDef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ColumnDef >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::IndexElem* Arena::CreateMaybeMessage< ::pg_query::IndexElem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::IndexElem >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::Constraint* Arena::CreateMaybeMessage< ::pg_query::Constraint >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Constraint >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::DefElem* Arena::CreateMaybeMessage< ::pg_query::DefElem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::DefElem >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeTblEntry* Arena::CreateMaybeMessage< ::pg_query::RangeTblEntry >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeTblEntry >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RangeTblFunction* Arena::CreateMaybeMessage< ::pg_query::RangeTblFunction >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RangeTblFunction >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TableSampleClause* Arena::CreateMaybeMessage< ::pg_query::TableSampleClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TableSampleClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::WithCheckOption* Arena::CreateMaybeMessage< ::pg_query::WithCheckOption >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::WithCheckOption >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::SortGroupClause* Arena::CreateMaybeMessage< ::pg_query::SortGroupClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::SortGroupClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::GroupingSet* Arena::CreateMaybeMessage< ::pg_query::GroupingSet >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::GroupingSet >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::WindowClause* Arena::CreateMaybeMessage< ::pg_query::WindowClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::WindowClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ObjectWithArgs* Arena::CreateMaybeMessage< ::pg_query::ObjectWithArgs >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ObjectWithArgs >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::AccessPriv* Arena::CreateMaybeMessage< ::pg_query::AccessPriv >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AccessPriv >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CreateOpClassItem* Arena::CreateMaybeMessage< ::pg_query::CreateOpClassItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CreateOpClassItem >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TableLikeClause* Arena::CreateMaybeMessage< ::pg_query::TableLikeClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TableLikeClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::FunctionParameter* Arena::CreateMaybeMessage< ::pg_query::FunctionParameter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::FunctionParameter >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::LockingClause* Arena::CreateMaybeMessage< ::pg_query::LockingClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::LockingClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RowMarkClause* Arena::CreateMaybeMessage< ::pg_query::RowMarkClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RowMarkClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::XmlSerialize* Arena::CreateMaybeMessage< ::pg_query::XmlSerialize >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::XmlSerialize >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::WithClause* Arena::CreateMaybeMessage< ::pg_query::WithClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::WithClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::InferClause* Arena::CreateMaybeMessage< ::pg_query::InferClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::InferClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::OnConflictClause* Arena::CreateMaybeMessage< ::pg_query::OnConflictClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::OnConflictClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CommonTableExpr* Arena::CreateMaybeMessage< ::pg_query::CommonTableExpr >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CommonTableExpr >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::RoleSpec* Arena::CreateMaybeMessage< ::pg_query::RoleSpec >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::RoleSpec >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::TriggerTransition* Arena::CreateMaybeMessage< ::pg_query::TriggerTransition >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::TriggerTransition >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PartitionElem* Arena::CreateMaybeMessage< ::pg_query::PartitionElem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PartitionElem >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PartitionSpec* Arena::CreateMaybeMessage< ::pg_query::PartitionSpec >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PartitionSpec >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PartitionBoundSpec* Arena::CreateMaybeMessage< ::pg_query::PartitionBoundSpec >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PartitionBoundSpec >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PartitionRangeDatum* Arena::CreateMaybeMessage< ::pg_query::PartitionRangeDatum >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PartitionRangeDatum >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PartitionCmd* Arena::CreateMaybeMessage< ::pg_query::PartitionCmd >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PartitionCmd >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::VacuumRelation* Arena::CreateMaybeMessage< ::pg_query::VacuumRelation >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::VacuumRelation >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::InlineCodeBlock* Arena::CreateMaybeMessage< ::pg_query::InlineCodeBlock >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::InlineCodeBlock >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CallContext* Arena::CreateMaybeMessage< ::pg_query::CallContext >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CallContext >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::ScanToken* Arena::CreateMaybeMessage< ::pg_query::ScanToken >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ScanToken >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
