// 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>

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

namespace pg_query {
PROTOBUF_CONSTEXPR ParseResult::ParseResult(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.stmts_)*/{}
  , /*decltype(_impl_.version_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ParseResultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ParseResultDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ParseResultDefaultTypeInternal() {}
  union {
    ParseResult _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParseResultDefaultTypeInternal _ParseResult_default_instance_;
PROTOBUF_CONSTEXPR ScanResult::ScanResult(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.tokens_)*/{}
  , /*decltype(_impl_.version_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ScanResultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ScanResultDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ScanResultDefaultTypeInternal() {}
  union {
    ScanResult _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ScanResultDefaultTypeInternal _ScanResult_default_instance_;
PROTOBUF_CONSTEXPR Node::Node(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.node_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct NodeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NodeDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~NodeDefaultTypeInternal() {}
  union {
    Node _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NodeDefaultTypeInternal _Node_default_instance_;
PROTOBUF_CONSTEXPR Integer::Integer(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.ival_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct IntegerDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IntegerDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~IntegerDefaultTypeInternal() {}
  union {
    Integer _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntegerDefaultTypeInternal _Integer_default_instance_;
PROTOBUF_CONSTEXPR Float::Float(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.fval_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FloatDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FloatDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FloatDefaultTypeInternal() {}
  union {
    Float _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FloatDefaultTypeInternal _Float_default_instance_;
PROTOBUF_CONSTEXPR Boolean::Boolean(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.boolval_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct BooleanDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BooleanDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~BooleanDefaultTypeInternal() {}
  union {
    Boolean _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BooleanDefaultTypeInternal _Boolean_default_instance_;
PROTOBUF_CONSTEXPR String::String(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.sval_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct StringDefaultTypeInternal {
  PROTOBUF_CONSTEXPR StringDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~StringDefaultTypeInternal() {}
  union {
    String _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StringDefaultTypeInternal _String_default_instance_;
PROTOBUF_CONSTEXPR BitString::BitString(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.bsval_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct BitStringDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BitStringDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~BitStringDefaultTypeInternal() {}
  union {
    BitString _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BitStringDefaultTypeInternal _BitString_default_instance_;
PROTOBUF_CONSTEXPR List::List(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ListDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ListDefaultTypeInternal() {}
  union {
    List _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListDefaultTypeInternal _List_default_instance_;
PROTOBUF_CONSTEXPR OidList::OidList(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct OidListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OidListDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~OidListDefaultTypeInternal() {}
  union {
    OidList _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OidListDefaultTypeInternal _OidList_default_instance_;
PROTOBUF_CONSTEXPR IntList::IntList(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct IntListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IntListDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~IntListDefaultTypeInternal() {}
  union {
    IntList _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntListDefaultTypeInternal _IntList_default_instance_;
PROTOBUF_CONSTEXPR A_Const::A_Const(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.isnull_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_.val_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct A_ConstDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_ConstDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_ConstDefaultTypeInternal() {}
  union {
    A_Const _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_ConstDefaultTypeInternal _A_Const_default_instance_;
PROTOBUF_CONSTEXPR Alias::Alias(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.colnames_)*/{}
  , /*decltype(_impl_.aliasname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AliasDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AliasDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AliasDefaultTypeInternal() {}
  union {
    Alias _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AliasDefaultTypeInternal _Alias_default_instance_;
PROTOBUF_CONSTEXPR RangeVar::RangeVar(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.catalogname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.schemaname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relpersistence_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.alias_)*/nullptr
  , /*decltype(_impl_.inh_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeVarDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeVarDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeVarDefaultTypeInternal() {}
  union {
    RangeVar _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeVarDefaultTypeInternal _RangeVar_default_instance_;
PROTOBUF_CONSTEXPR TableFunc::TableFunc(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.ns_uris_)*/{}
  , /*decltype(_impl_.ns_names_)*/{}
  , /*decltype(_impl_.colnames_)*/{}
  , /*decltype(_impl_.coltypes_)*/{}
  , /*decltype(_impl_.coltypmods_)*/{}
  , /*decltype(_impl_.colcollations_)*/{}
  , /*decltype(_impl_.colexprs_)*/{}
  , /*decltype(_impl_.coldefexprs_)*/{}
  , /*decltype(_impl_.notnulls_)*/{}
  , /*decltype(_impl_._notnulls_cached_byte_size_)*/{0}
  , /*decltype(_impl_.docexpr_)*/nullptr
  , /*decltype(_impl_.rowexpr_)*/nullptr
  , /*decltype(_impl_.ordinalitycol_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TableFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TableFuncDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TableFuncDefaultTypeInternal() {}
  union {
    TableFunc _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableFuncDefaultTypeInternal _TableFunc_default_instance_;
PROTOBUF_CONSTEXPR Var::Var(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.varno_)*/0
  , /*decltype(_impl_.varattno_)*/0
  , /*decltype(_impl_.vartype_)*/0u
  , /*decltype(_impl_.vartypmod_)*/0
  , /*decltype(_impl_.varcollid_)*/0u
  , /*decltype(_impl_.varlevelsup_)*/0u
  , /*decltype(_impl_.varnosyn_)*/0u
  , /*decltype(_impl_.varattnosyn_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct VarDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VarDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~VarDefaultTypeInternal() {}
  union {
    Var _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VarDefaultTypeInternal _Var_default_instance_;
PROTOBUF_CONSTEXPR Param::Param(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.paramkind_)*/0
  , /*decltype(_impl_.paramid_)*/0
  , /*decltype(_impl_.paramtype_)*/0u
  , /*decltype(_impl_.paramtypmod_)*/0
  , /*decltype(_impl_.paramcollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ParamDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ParamDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ParamDefaultTypeInternal() {}
  union {
    Param _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParamDefaultTypeInternal _Param_default_instance_;
PROTOBUF_CONSTEXPR Aggref::Aggref(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.aggargtypes_)*/{}
  , /*decltype(_impl_.aggdirectargs_)*/{}
  , /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.aggorder_)*/{}
  , /*decltype(_impl_.aggdistinct_)*/{}
  , /*decltype(_impl_.aggkind_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.aggfilter_)*/nullptr
  , /*decltype(_impl_.aggfnoid_)*/0u
  , /*decltype(_impl_.aggtype_)*/0u
  , /*decltype(_impl_.aggcollid_)*/0u
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.aggtranstype_)*/0u
  , /*decltype(_impl_.aggstar_)*/false
  , /*decltype(_impl_.aggvariadic_)*/false
  , /*decltype(_impl_.agglevelsup_)*/0u
  , /*decltype(_impl_.aggsplit_)*/0
  , /*decltype(_impl_.aggno_)*/0
  , /*decltype(_impl_.aggtransno_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AggrefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AggrefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AggrefDefaultTypeInternal() {}
  union {
    Aggref _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AggrefDefaultTypeInternal _Aggref_default_instance_;
PROTOBUF_CONSTEXPR GroupingFunc::GroupingFunc(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.refs_)*/{}
  , /*decltype(_impl_.cols_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.agglevelsup_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GroupingFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GroupingFuncDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~GroupingFuncDefaultTypeInternal() {}
  union {
    GroupingFunc _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GroupingFuncDefaultTypeInternal _GroupingFunc_default_instance_;
PROTOBUF_CONSTEXPR WindowFunc::WindowFunc(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.aggfilter_)*/nullptr
  , /*decltype(_impl_.winfnoid_)*/0u
  , /*decltype(_impl_.wintype_)*/0u
  , /*decltype(_impl_.wincollid_)*/0u
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.winref_)*/0u
  , /*decltype(_impl_.winstar_)*/false
  , /*decltype(_impl_.winagg_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct WindowFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WindowFuncDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~WindowFuncDefaultTypeInternal() {}
  union {
    WindowFunc _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WindowFuncDefaultTypeInternal _WindowFunc_default_instance_;
PROTOBUF_CONSTEXPR SubscriptingRef::SubscriptingRef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.refupperindexpr_)*/{}
  , /*decltype(_impl_.reflowerindexpr_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.refexpr_)*/nullptr
  , /*decltype(_impl_.refassgnexpr_)*/nullptr
  , /*decltype(_impl_.refcontainertype_)*/0u
  , /*decltype(_impl_.refelemtype_)*/0u
  , /*decltype(_impl_.refrestype_)*/0u
  , /*decltype(_impl_.reftypmod_)*/0
  , /*decltype(_impl_.refcollid_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SubscriptingRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubscriptingRefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubscriptingRefDefaultTypeInternal() {}
  union {
    SubscriptingRef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubscriptingRefDefaultTypeInternal _SubscriptingRef_default_instance_;
PROTOBUF_CONSTEXPR FuncExpr::FuncExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.funcid_)*/0u
  , /*decltype(_impl_.funcresulttype_)*/0u
  , /*decltype(_impl_.funcretset_)*/false
  , /*decltype(_impl_.funcvariadic_)*/false
  , /*decltype(_impl_.funcformat_)*/0
  , /*decltype(_impl_.funccollid_)*/0u
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FuncExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FuncExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FuncExprDefaultTypeInternal() {}
  union {
    FuncExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FuncExprDefaultTypeInternal _FuncExpr_default_instance_;
PROTOBUF_CONSTEXPR NamedArgExpr::NamedArgExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.argnumber_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct NamedArgExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NamedArgExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~NamedArgExprDefaultTypeInternal() {}
  union {
    NamedArgExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NamedArgExprDefaultTypeInternal _NamedArgExpr_default_instance_;
PROTOBUF_CONSTEXPR OpExpr::OpExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.opno_)*/0u
  , /*decltype(_impl_.opfuncid_)*/0u
  , /*decltype(_impl_.opresulttype_)*/0u
  , /*decltype(_impl_.opretset_)*/false
  , /*decltype(_impl_.opcollid_)*/0u
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct OpExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OpExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~OpExprDefaultTypeInternal() {}
  union {
    OpExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OpExprDefaultTypeInternal _OpExpr_default_instance_;
PROTOBUF_CONSTEXPR DistinctExpr::DistinctExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.opno_)*/0u
  , /*decltype(_impl_.opfuncid_)*/0u
  , /*decltype(_impl_.opresulttype_)*/0u
  , /*decltype(_impl_.opretset_)*/false
  , /*decltype(_impl_.opcollid_)*/0u
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DistinctExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DistinctExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DistinctExprDefaultTypeInternal() {}
  union {
    DistinctExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DistinctExprDefaultTypeInternal _DistinctExpr_default_instance_;
PROTOBUF_CONSTEXPR NullIfExpr::NullIfExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.opno_)*/0u
  , /*decltype(_impl_.opfuncid_)*/0u
  , /*decltype(_impl_.opresulttype_)*/0u
  , /*decltype(_impl_.opretset_)*/false
  , /*decltype(_impl_.opcollid_)*/0u
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct NullIfExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NullIfExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~NullIfExprDefaultTypeInternal() {}
  union {
    NullIfExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NullIfExprDefaultTypeInternal _NullIfExpr_default_instance_;
PROTOBUF_CONSTEXPR ScalarArrayOpExpr::ScalarArrayOpExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.opno_)*/0u
  , /*decltype(_impl_.opfuncid_)*/0u
  , /*decltype(_impl_.hashfuncid_)*/0u
  , /*decltype(_impl_.negfuncid_)*/0u
  , /*decltype(_impl_.use_or_)*/false
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ScalarArrayOpExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ScalarArrayOpExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ScalarArrayOpExprDefaultTypeInternal() {}
  union {
    ScalarArrayOpExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ScalarArrayOpExprDefaultTypeInternal _ScalarArrayOpExpr_default_instance_;
PROTOBUF_CONSTEXPR BoolExpr::BoolExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.boolop_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct BoolExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BoolExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~BoolExprDefaultTypeInternal() {}
  union {
    BoolExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BoolExprDefaultTypeInternal _BoolExpr_default_instance_;
PROTOBUF_CONSTEXPR SubLink::SubLink(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.oper_name_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.testexpr_)*/nullptr
  , /*decltype(_impl_.subselect_)*/nullptr
  , /*decltype(_impl_.sub_link_type_)*/0
  , /*decltype(_impl_.sub_link_id_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SubLinkDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubLinkDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubLinkDefaultTypeInternal() {}
  union {
    SubLink _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubLinkDefaultTypeInternal _SubLink_default_instance_;
PROTOBUF_CONSTEXPR SubPlan::SubPlan(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.param_ids_)*/{}
  , /*decltype(_impl_.set_param_)*/{}
  , /*decltype(_impl_.par_param_)*/{}
  , /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.plan_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.testexpr_)*/nullptr
  , /*decltype(_impl_.sub_link_type_)*/0
  , /*decltype(_impl_.plan_id_)*/0
  , /*decltype(_impl_.first_col_type_)*/0u
  , /*decltype(_impl_.first_col_typmod_)*/0
  , /*decltype(_impl_.first_col_collation_)*/0u
  , /*decltype(_impl_.use_hash_table_)*/false
  , /*decltype(_impl_.unknown_eq_false_)*/false
  , /*decltype(_impl_.parallel_safe_)*/false
  , /*decltype(_impl_.startup_cost_)*/0
  , /*decltype(_impl_.per_call_cost_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SubPlanDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubPlanDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubPlanDefaultTypeInternal() {}
  union {
    SubPlan _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubPlanDefaultTypeInternal _SubPlan_default_instance_;
PROTOBUF_CONSTEXPR AlternativeSubPlan::AlternativeSubPlan(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.subplans_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlternativeSubPlanDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlternativeSubPlanDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlternativeSubPlanDefaultTypeInternal() {}
  union {
    AlternativeSubPlan _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlternativeSubPlanDefaultTypeInternal _AlternativeSubPlan_default_instance_;
PROTOBUF_CONSTEXPR FieldSelect::FieldSelect(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.fieldnum_)*/0
  , /*decltype(_impl_.resulttype_)*/0u
  , /*decltype(_impl_.resulttypmod_)*/0
  , /*decltype(_impl_.resultcollid_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FieldSelectDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FieldSelectDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FieldSelectDefaultTypeInternal() {}
  union {
    FieldSelect _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldSelectDefaultTypeInternal _FieldSelect_default_instance_;
PROTOBUF_CONSTEXPR FieldStore::FieldStore(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.newvals_)*/{}
  , /*decltype(_impl_.fieldnums_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.resulttype_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FieldStoreDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FieldStoreDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FieldStoreDefaultTypeInternal() {}
  union {
    FieldStore _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldStoreDefaultTypeInternal _FieldStore_default_instance_;
PROTOBUF_CONSTEXPR RelabelType::RelabelType(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.resulttype_)*/0u
  , /*decltype(_impl_.resulttypmod_)*/0
  , /*decltype(_impl_.resultcollid_)*/0u
  , /*decltype(_impl_.relabelformat_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RelabelTypeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RelabelTypeDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RelabelTypeDefaultTypeInternal() {}
  union {
    RelabelType _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RelabelTypeDefaultTypeInternal _RelabelType_default_instance_;
PROTOBUF_CONSTEXPR CoerceViaIO::CoerceViaIO(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.resulttype_)*/0u
  , /*decltype(_impl_.resultcollid_)*/0u
  , /*decltype(_impl_.coerceformat_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CoerceViaIODefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoerceViaIODefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoerceViaIODefaultTypeInternal() {}
  union {
    CoerceViaIO _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoerceViaIODefaultTypeInternal _CoerceViaIO_default_instance_;
PROTOBUF_CONSTEXPR ArrayCoerceExpr::ArrayCoerceExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.elemexpr_)*/nullptr
  , /*decltype(_impl_.resulttype_)*/0u
  , /*decltype(_impl_.resulttypmod_)*/0
  , /*decltype(_impl_.resultcollid_)*/0u
  , /*decltype(_impl_.coerceformat_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ArrayCoerceExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ArrayCoerceExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ArrayCoerceExprDefaultTypeInternal() {}
  union {
    ArrayCoerceExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArrayCoerceExprDefaultTypeInternal _ArrayCoerceExpr_default_instance_;
PROTOBUF_CONSTEXPR ConvertRowtypeExpr::ConvertRowtypeExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.resulttype_)*/0u
  , /*decltype(_impl_.convertformat_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ConvertRowtypeExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ConvertRowtypeExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ConvertRowtypeExprDefaultTypeInternal() {}
  union {
    ConvertRowtypeExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConvertRowtypeExprDefaultTypeInternal _ConvertRowtypeExpr_default_instance_;
PROTOBUF_CONSTEXPR CollateExpr::CollateExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.coll_oid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CollateExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CollateExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CollateExprDefaultTypeInternal() {}
  union {
    CollateExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CollateExprDefaultTypeInternal _CollateExpr_default_instance_;
PROTOBUF_CONSTEXPR CaseExpr::CaseExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.defresult_)*/nullptr
  , /*decltype(_impl_.casetype_)*/0u
  , /*decltype(_impl_.casecollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CaseExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CaseExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CaseExprDefaultTypeInternal() {}
  union {
    CaseExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CaseExprDefaultTypeInternal _CaseExpr_default_instance_;
PROTOBUF_CONSTEXPR CaseWhen::CaseWhen(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.expr_)*/nullptr
  , /*decltype(_impl_.result_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CaseWhenDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CaseWhenDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CaseWhenDefaultTypeInternal() {}
  union {
    CaseWhen _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CaseWhenDefaultTypeInternal _CaseWhen_default_instance_;
PROTOBUF_CONSTEXPR CaseTestExpr::CaseTestExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.type_id_)*/0u
  , /*decltype(_impl_.type_mod_)*/0
  , /*decltype(_impl_.collation_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CaseTestExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CaseTestExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CaseTestExprDefaultTypeInternal() {}
  union {
    CaseTestExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CaseTestExprDefaultTypeInternal _CaseTestExpr_default_instance_;
PROTOBUF_CONSTEXPR ArrayExpr::ArrayExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.elements_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.array_typeid_)*/0u
  , /*decltype(_impl_.array_collid_)*/0u
  , /*decltype(_impl_.element_typeid_)*/0u
  , /*decltype(_impl_.multidims_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ArrayExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ArrayExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ArrayExprDefaultTypeInternal() {}
  union {
    ArrayExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArrayExprDefaultTypeInternal _ArrayExpr_default_instance_;
PROTOBUF_CONSTEXPR RowExpr::RowExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.colnames_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.row_typeid_)*/0u
  , /*decltype(_impl_.row_format_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RowExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RowExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RowExprDefaultTypeInternal() {}
  union {
    RowExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowExprDefaultTypeInternal _RowExpr_default_instance_;
PROTOBUF_CONSTEXPR RowCompareExpr::RowCompareExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.opnos_)*/{}
  , /*decltype(_impl_.opfamilies_)*/{}
  , /*decltype(_impl_.inputcollids_)*/{}
  , /*decltype(_impl_.largs_)*/{}
  , /*decltype(_impl_.rargs_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.rctype_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RowCompareExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RowCompareExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RowCompareExprDefaultTypeInternal() {}
  union {
    RowCompareExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowCompareExprDefaultTypeInternal _RowCompareExpr_default_instance_;
PROTOBUF_CONSTEXPR CoalesceExpr::CoalesceExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.coalescetype_)*/0u
  , /*decltype(_impl_.coalescecollid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CoalesceExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoalesceExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoalesceExprDefaultTypeInternal() {}
  union {
    CoalesceExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoalesceExprDefaultTypeInternal _CoalesceExpr_default_instance_;
PROTOBUF_CONSTEXPR MinMaxExpr::MinMaxExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.minmaxtype_)*/0u
  , /*decltype(_impl_.minmaxcollid_)*/0u
  , /*decltype(_impl_.inputcollid_)*/0u
  , /*decltype(_impl_.op_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct MinMaxExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MinMaxExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~MinMaxExprDefaultTypeInternal() {}
  union {
    MinMaxExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MinMaxExprDefaultTypeInternal _MinMaxExpr_default_instance_;
PROTOBUF_CONSTEXPR SQLValueFunction::SQLValueFunction(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.op_)*/0
  , /*decltype(_impl_.type_)*/0u
  , /*decltype(_impl_.typmod_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SQLValueFunctionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SQLValueFunctionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SQLValueFunctionDefaultTypeInternal() {}
  union {
    SQLValueFunction _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SQLValueFunctionDefaultTypeInternal _SQLValueFunction_default_instance_;
PROTOBUF_CONSTEXPR XmlExpr::XmlExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.named_args_)*/{}
  , /*decltype(_impl_.arg_names_)*/{}
  , /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.op_)*/0
  , /*decltype(_impl_.xmloption_)*/0
  , /*decltype(_impl_.type_)*/0u
  , /*decltype(_impl_.typmod_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct XmlExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR XmlExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~XmlExprDefaultTypeInternal() {}
  union {
    XmlExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 XmlExprDefaultTypeInternal _XmlExpr_default_instance_;
PROTOBUF_CONSTEXPR NullTest::NullTest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.nulltesttype_)*/0
  , /*decltype(_impl_.argisrow_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct NullTestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NullTestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~NullTestDefaultTypeInternal() {}
  union {
    NullTest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NullTestDefaultTypeInternal _NullTest_default_instance_;
PROTOBUF_CONSTEXPR BooleanTest::BooleanTest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.booltesttype_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct BooleanTestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BooleanTestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~BooleanTestDefaultTypeInternal() {}
  union {
    BooleanTest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BooleanTestDefaultTypeInternal _BooleanTest_default_instance_;
PROTOBUF_CONSTEXPR CoerceToDomain::CoerceToDomain(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.resulttype_)*/0u
  , /*decltype(_impl_.resulttypmod_)*/0
  , /*decltype(_impl_.resultcollid_)*/0u
  , /*decltype(_impl_.coercionformat_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CoerceToDomainDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoerceToDomainDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoerceToDomainDefaultTypeInternal() {}
  union {
    CoerceToDomain _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoerceToDomainDefaultTypeInternal _CoerceToDomain_default_instance_;
PROTOBUF_CONSTEXPR CoerceToDomainValue::CoerceToDomainValue(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.type_id_)*/0u
  , /*decltype(_impl_.type_mod_)*/0
  , /*decltype(_impl_.collation_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CoerceToDomainValueDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoerceToDomainValueDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoerceToDomainValueDefaultTypeInternal() {}
  union {
    CoerceToDomainValue _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoerceToDomainValueDefaultTypeInternal _CoerceToDomainValue_default_instance_;
PROTOBUF_CONSTEXPR SetToDefault::SetToDefault(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.type_id_)*/0u
  , /*decltype(_impl_.type_mod_)*/0
  , /*decltype(_impl_.collation_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SetToDefaultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SetToDefaultDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SetToDefaultDefaultTypeInternal() {}
  union {
    SetToDefault _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetToDefaultDefaultTypeInternal _SetToDefault_default_instance_;
PROTOBUF_CONSTEXPR CurrentOfExpr::CurrentOfExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.cursor_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.cvarno_)*/0u
  , /*decltype(_impl_.cursor_param_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CurrentOfExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CurrentOfExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CurrentOfExprDefaultTypeInternal() {}
  union {
    CurrentOfExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CurrentOfExprDefaultTypeInternal _CurrentOfExpr_default_instance_;
PROTOBUF_CONSTEXPR NextValueExpr::NextValueExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.seqid_)*/0u
  , /*decltype(_impl_.type_id_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct NextValueExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NextValueExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~NextValueExprDefaultTypeInternal() {}
  union {
    NextValueExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NextValueExprDefaultTypeInternal _NextValueExpr_default_instance_;
PROTOBUF_CONSTEXPR InferenceElem::InferenceElem(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.expr_)*/nullptr
  , /*decltype(_impl_.infercollid_)*/0u
  , /*decltype(_impl_.inferopclass_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct InferenceElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InferenceElemDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~InferenceElemDefaultTypeInternal() {}
  union {
    InferenceElem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InferenceElemDefaultTypeInternal _InferenceElem_default_instance_;
PROTOBUF_CONSTEXPR TargetEntry::TargetEntry(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.resname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.xpr_)*/nullptr
  , /*decltype(_impl_.expr_)*/nullptr
  , /*decltype(_impl_.resno_)*/0
  , /*decltype(_impl_.ressortgroupref_)*/0u
  , /*decltype(_impl_.resorigtbl_)*/0u
  , /*decltype(_impl_.resorigcol_)*/0
  , /*decltype(_impl_.resjunk_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TargetEntryDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TargetEntryDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TargetEntryDefaultTypeInternal() {}
  union {
    TargetEntry _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TargetEntryDefaultTypeInternal _TargetEntry_default_instance_;
PROTOBUF_CONSTEXPR RangeTblRef::RangeTblRef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.rtindex_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeTblRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTblRefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTblRefDefaultTypeInternal() {}
  union {
    RangeTblRef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTblRefDefaultTypeInternal _RangeTblRef_default_instance_;
PROTOBUF_CONSTEXPR JoinExpr::JoinExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.using_clause_)*/{}
  , /*decltype(_impl_.larg_)*/nullptr
  , /*decltype(_impl_.rarg_)*/nullptr
  , /*decltype(_impl_.join_using_alias_)*/nullptr
  , /*decltype(_impl_.quals_)*/nullptr
  , /*decltype(_impl_.alias_)*/nullptr
  , /*decltype(_impl_.jointype_)*/0
  , /*decltype(_impl_.is_natural_)*/false
  , /*decltype(_impl_.rtindex_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct JoinExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JoinExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~JoinExprDefaultTypeInternal() {}
  union {
    JoinExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JoinExprDefaultTypeInternal _JoinExpr_default_instance_;
PROTOBUF_CONSTEXPR FromExpr::FromExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.fromlist_)*/{}
  , /*decltype(_impl_.quals_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FromExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FromExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FromExprDefaultTypeInternal() {}
  union {
    FromExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FromExprDefaultTypeInternal _FromExpr_default_instance_;
PROTOBUF_CONSTEXPR OnConflictExpr::OnConflictExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.arbiter_elems_)*/{}
  , /*decltype(_impl_.on_conflict_set_)*/{}
  , /*decltype(_impl_.excl_rel_tlist_)*/{}
  , /*decltype(_impl_.arbiter_where_)*/nullptr
  , /*decltype(_impl_.on_conflict_where_)*/nullptr
  , /*decltype(_impl_.action_)*/0
  , /*decltype(_impl_.constraint_)*/0u
  , /*decltype(_impl_.excl_rel_index_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct OnConflictExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OnConflictExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~OnConflictExprDefaultTypeInternal() {}
  union {
    OnConflictExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OnConflictExprDefaultTypeInternal _OnConflictExpr_default_instance_;
PROTOBUF_CONSTEXPR IntoClause::IntoClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.col_names_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.access_method_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_space_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.rel_)*/nullptr
  , /*decltype(_impl_.view_query_)*/nullptr
  , /*decltype(_impl_.on_commit_)*/0
  , /*decltype(_impl_.skip_data_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct IntoClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IntoClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~IntoClauseDefaultTypeInternal() {}
  union {
    IntoClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntoClauseDefaultTypeInternal _IntoClause_default_instance_;
PROTOBUF_CONSTEXPR MergeAction::MergeAction(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.target_list_)*/{}
  , /*decltype(_impl_.update_colnos_)*/{}
  , /*decltype(_impl_.qual_)*/nullptr
  , /*decltype(_impl_.matched_)*/false
  , /*decltype(_impl_.command_type_)*/0
  , /*decltype(_impl_.override_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct MergeActionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MergeActionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~MergeActionDefaultTypeInternal() {}
  union {
    MergeAction _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MergeActionDefaultTypeInternal _MergeAction_default_instance_;
PROTOBUF_CONSTEXPR RawStmt::RawStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.stmt_)*/nullptr
  , /*decltype(_impl_.stmt_location_)*/0
  , /*decltype(_impl_.stmt_len_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RawStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RawStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RawStmtDefaultTypeInternal() {}
  union {
    RawStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RawStmtDefaultTypeInternal _RawStmt_default_instance_;
PROTOBUF_CONSTEXPR Query::Query(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.cte_list_)*/{}
  , /*decltype(_impl_.rtable_)*/{}
  , /*decltype(_impl_.merge_action_list_)*/{}
  , /*decltype(_impl_.target_list_)*/{}
  , /*decltype(_impl_.returning_list_)*/{}
  , /*decltype(_impl_.group_clause_)*/{}
  , /*decltype(_impl_.grouping_sets_)*/{}
  , /*decltype(_impl_.window_clause_)*/{}
  , /*decltype(_impl_.distinct_clause_)*/{}
  , /*decltype(_impl_.sort_clause_)*/{}
  , /*decltype(_impl_.row_marks_)*/{}
  , /*decltype(_impl_.constraint_deps_)*/{}
  , /*decltype(_impl_.with_check_options_)*/{}
  , /*decltype(_impl_.utility_stmt_)*/nullptr
  , /*decltype(_impl_.jointree_)*/nullptr
  , /*decltype(_impl_.on_conflict_)*/nullptr
  , /*decltype(_impl_.having_qual_)*/nullptr
  , /*decltype(_impl_.limit_offset_)*/nullptr
  , /*decltype(_impl_.limit_count_)*/nullptr
  , /*decltype(_impl_.set_operations_)*/nullptr
  , /*decltype(_impl_.command_type_)*/0
  , /*decltype(_impl_.query_source_)*/0
  , /*decltype(_impl_.result_relation_)*/0
  , /*decltype(_impl_.can_set_tag_)*/false
  , /*decltype(_impl_.has_aggs_)*/false
  , /*decltype(_impl_.has_window_funcs_)*/false
  , /*decltype(_impl_.has_target_srfs_)*/false
  , /*decltype(_impl_.has_sub_links_)*/false
  , /*decltype(_impl_.has_distinct_on_)*/false
  , /*decltype(_impl_.has_recursive_)*/false
  , /*decltype(_impl_.has_modifying_cte_)*/false
  , /*decltype(_impl_.has_for_update_)*/false
  , /*decltype(_impl_.has_row_security_)*/false
  , /*decltype(_impl_.is_return_)*/false
  , /*decltype(_impl_.merge_use_outer_join_)*/false
  , /*decltype(_impl_.override_)*/0
  , /*decltype(_impl_.group_distinct_)*/false
  , /*decltype(_impl_.limit_option_)*/0
  , /*decltype(_impl_.stmt_location_)*/0
  , /*decltype(_impl_.stmt_len_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct QueryDefaultTypeInternal {
  PROTOBUF_CONSTEXPR QueryDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~QueryDefaultTypeInternal() {}
  union {
    Query _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 QueryDefaultTypeInternal _Query_default_instance_;
PROTOBUF_CONSTEXPR InsertStmt::InsertStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.cols_)*/{}
  , /*decltype(_impl_.returning_list_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.select_stmt_)*/nullptr
  , /*decltype(_impl_.on_conflict_clause_)*/nullptr
  , /*decltype(_impl_.with_clause_)*/nullptr
  , /*decltype(_impl_.override_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct InsertStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InsertStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~InsertStmtDefaultTypeInternal() {}
  union {
    InsertStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InsertStmtDefaultTypeInternal _InsertStmt_default_instance_;
PROTOBUF_CONSTEXPR DeleteStmt::DeleteStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.using_clause_)*/{}
  , /*decltype(_impl_.returning_list_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.with_clause_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DeleteStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteStmtDefaultTypeInternal() {}
  union {
    DeleteStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteStmtDefaultTypeInternal _DeleteStmt_default_instance_;
PROTOBUF_CONSTEXPR UpdateStmt::UpdateStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.target_list_)*/{}
  , /*decltype(_impl_.from_clause_)*/{}
  , /*decltype(_impl_.returning_list_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.with_clause_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct UpdateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR UpdateStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~UpdateStmtDefaultTypeInternal() {}
  union {
    UpdateStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UpdateStmtDefaultTypeInternal _UpdateStmt_default_instance_;
PROTOBUF_CONSTEXPR MergeStmt::MergeStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.merge_when_clauses_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.source_relation_)*/nullptr
  , /*decltype(_impl_.join_condition_)*/nullptr
  , /*decltype(_impl_.with_clause_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct MergeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MergeStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~MergeStmtDefaultTypeInternal() {}
  union {
    MergeStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MergeStmtDefaultTypeInternal _MergeStmt_default_instance_;
PROTOBUF_CONSTEXPR SelectStmt::SelectStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.distinct_clause_)*/{}
  , /*decltype(_impl_.target_list_)*/{}
  , /*decltype(_impl_.from_clause_)*/{}
  , /*decltype(_impl_.group_clause_)*/{}
  , /*decltype(_impl_.window_clause_)*/{}
  , /*decltype(_impl_.values_lists_)*/{}
  , /*decltype(_impl_.sort_clause_)*/{}
  , /*decltype(_impl_.locking_clause_)*/{}
  , /*decltype(_impl_.into_clause_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.having_clause_)*/nullptr
  , /*decltype(_impl_.limit_offset_)*/nullptr
  , /*decltype(_impl_.limit_count_)*/nullptr
  , /*decltype(_impl_.with_clause_)*/nullptr
  , /*decltype(_impl_.larg_)*/nullptr
  , /*decltype(_impl_.rarg_)*/nullptr
  , /*decltype(_impl_.group_distinct_)*/false
  , /*decltype(_impl_.all_)*/false
  , /*decltype(_impl_.limit_option_)*/0
  , /*decltype(_impl_.op_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SelectStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SelectStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SelectStmtDefaultTypeInternal() {}
  union {
    SelectStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SelectStmtDefaultTypeInternal _SelectStmt_default_instance_;
PROTOBUF_CONSTEXPR ReturnStmt::ReturnStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.returnval_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ReturnStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReturnStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReturnStmtDefaultTypeInternal() {}
  union {
    ReturnStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReturnStmtDefaultTypeInternal _ReturnStmt_default_instance_;
PROTOBUF_CONSTEXPR PLAssignStmt::PLAssignStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.indirection_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.val_)*/nullptr
  , /*decltype(_impl_.nnames_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PLAssignStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PLAssignStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PLAssignStmtDefaultTypeInternal() {}
  union {
    PLAssignStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PLAssignStmtDefaultTypeInternal _PLAssignStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterTableStmt::AlterTableStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.cmds_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterTableStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableStmtDefaultTypeInternal() {}
  union {
    AlterTableStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableStmtDefaultTypeInternal _AlterTableStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterTableCmd::AlterTableCmd(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.newowner_)*/nullptr
  , /*decltype(_impl_.def_)*/nullptr
  , /*decltype(_impl_.subtype_)*/0
  , /*decltype(_impl_.num_)*/0
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_.recurse_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterTableCmdDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableCmdDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableCmdDefaultTypeInternal() {}
  union {
    AlterTableCmd _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableCmdDefaultTypeInternal _AlterTableCmd_default_instance_;
PROTOBUF_CONSTEXPR AlterDomainStmt::AlterDomainStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_name_)*/{}
  , /*decltype(_impl_.subtype_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.def_)*/nullptr
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterDomainStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDomainStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDomainStmtDefaultTypeInternal() {}
  union {
    AlterDomainStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDomainStmtDefaultTypeInternal _AlterDomainStmt_default_instance_;
PROTOBUF_CONSTEXPR SetOperationStmt::SetOperationStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.col_types_)*/{}
  , /*decltype(_impl_.col_typmods_)*/{}
  , /*decltype(_impl_.col_collations_)*/{}
  , /*decltype(_impl_.group_clauses_)*/{}
  , /*decltype(_impl_.larg_)*/nullptr
  , /*decltype(_impl_.rarg_)*/nullptr
  , /*decltype(_impl_.op_)*/0
  , /*decltype(_impl_.all_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SetOperationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SetOperationStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SetOperationStmtDefaultTypeInternal() {}
  union {
    SetOperationStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetOperationStmtDefaultTypeInternal _SetOperationStmt_default_instance_;
PROTOBUF_CONSTEXPR GrantStmt::GrantStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.objects_)*/{}
  , /*decltype(_impl_.privileges_)*/{}
  , /*decltype(_impl_.grantees_)*/{}
  , /*decltype(_impl_.grantor_)*/nullptr
  , /*decltype(_impl_.targtype_)*/0
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_.is_grant_)*/false
  , /*decltype(_impl_.grant_option_)*/false
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GrantStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GrantStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~GrantStmtDefaultTypeInternal() {}
  union {
    GrantStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GrantStmtDefaultTypeInternal _GrantStmt_default_instance_;
PROTOBUF_CONSTEXPR GrantRoleStmt::GrantRoleStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.granted_roles_)*/{}
  , /*decltype(_impl_.grantee_roles_)*/{}
  , /*decltype(_impl_.grantor_)*/nullptr
  , /*decltype(_impl_.is_grant_)*/false
  , /*decltype(_impl_.admin_opt_)*/false
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GrantRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GrantRoleStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~GrantRoleStmtDefaultTypeInternal() {}
  union {
    GrantRoleStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GrantRoleStmtDefaultTypeInternal _GrantRoleStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.action_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterDefaultPrivilegesStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDefaultPrivilegesStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDefaultPrivilegesStmtDefaultTypeInternal() {}
  union {
    AlterDefaultPrivilegesStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDefaultPrivilegesStmtDefaultTypeInternal _AlterDefaultPrivilegesStmt_default_instance_;
PROTOBUF_CONSTEXPR ClosePortalStmt::ClosePortalStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.portalname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ClosePortalStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ClosePortalStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ClosePortalStmtDefaultTypeInternal() {}
  union {
    ClosePortalStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ClosePortalStmtDefaultTypeInternal _ClosePortalStmt_default_instance_;
PROTOBUF_CONSTEXPR ClusterStmt::ClusterStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.params_)*/{}
  , /*decltype(_impl_.indexname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ClusterStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ClusterStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ClusterStmtDefaultTypeInternal() {}
  union {
    ClusterStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ClusterStmtDefaultTypeInternal _ClusterStmt_default_instance_;
PROTOBUF_CONSTEXPR CopyStmt::CopyStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.attlist_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.filename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.query_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.is_from_)*/false
  , /*decltype(_impl_.is_program_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CopyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CopyStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CopyStmtDefaultTypeInternal() {}
  union {
    CopyStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CopyStmtDefaultTypeInternal _CopyStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateStmt::CreateStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.table_elts_)*/{}
  , /*decltype(_impl_.inh_relations_)*/{}
  , /*decltype(_impl_.constraints_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.tablespacename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.access_method_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.partbound_)*/nullptr
  , /*decltype(_impl_.partspec_)*/nullptr
  , /*decltype(_impl_.of_typename_)*/nullptr
  , /*decltype(_impl_.oncommit_)*/0
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateStmtDefaultTypeInternal() {}
  union {
    CreateStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateStmtDefaultTypeInternal _CreateStmt_default_instance_;
PROTOBUF_CONSTEXPR DefineStmt::DefineStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.defnames_)*/{}
  , /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.definition_)*/{}
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.oldstyle_)*/false
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DefineStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DefineStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DefineStmtDefaultTypeInternal() {}
  union {
    DefineStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DefineStmtDefaultTypeInternal _DefineStmt_default_instance_;
PROTOBUF_CONSTEXPR DropStmt::DropStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.objects_)*/{}
  , /*decltype(_impl_.remove_type_)*/0
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_.concurrent_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropStmtDefaultTypeInternal() {}
  union {
    DropStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropStmtDefaultTypeInternal _DropStmt_default_instance_;
PROTOBUF_CONSTEXPR TruncateStmt::TruncateStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.relations_)*/{}
  , /*decltype(_impl_.restart_seqs_)*/false
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TruncateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TruncateStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TruncateStmtDefaultTypeInternal() {}
  union {
    TruncateStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TruncateStmtDefaultTypeInternal _TruncateStmt_default_instance_;
PROTOBUF_CONSTEXPR CommentStmt::CommentStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.comment_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.object_)*/nullptr
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CommentStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CommentStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CommentStmtDefaultTypeInternal() {}
  union {
    CommentStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CommentStmtDefaultTypeInternal _CommentStmt_default_instance_;
PROTOBUF_CONSTEXPR FetchStmt::FetchStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.portalname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.how_many_)*/int64_t{0}
  , /*decltype(_impl_.direction_)*/0
  , /*decltype(_impl_.ismove_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FetchStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FetchStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FetchStmtDefaultTypeInternal() {}
  union {
    FetchStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FetchStmtDefaultTypeInternal _FetchStmt_default_instance_;
PROTOBUF_CONSTEXPR IndexStmt::IndexStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.index_params_)*/{}
  , /*decltype(_impl_.index_including_params_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.exclude_op_names_)*/{}
  , /*decltype(_impl_.idxname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.access_method_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_space_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.idxcomment_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.index_oid_)*/0u
  , /*decltype(_impl_.old_node_)*/0u
  , /*decltype(_impl_.old_create_subid_)*/0u
  , /*decltype(_impl_.old_first_relfilenode_subid_)*/0u
  , /*decltype(_impl_.unique_)*/false
  , /*decltype(_impl_.nulls_not_distinct_)*/false
  , /*decltype(_impl_.primary_)*/false
  , /*decltype(_impl_.isconstraint_)*/false
  , /*decltype(_impl_.deferrable_)*/false
  , /*decltype(_impl_.initdeferred_)*/false
  , /*decltype(_impl_.transformed_)*/false
  , /*decltype(_impl_.concurrent_)*/false
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_.reset_default_tblspc_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct IndexStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IndexStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~IndexStmtDefaultTypeInternal() {}
  union {
    IndexStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IndexStmtDefaultTypeInternal _IndexStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateFunctionStmt::CreateFunctionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.funcname_)*/{}
  , /*decltype(_impl_.parameters_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.return_type_)*/nullptr
  , /*decltype(_impl_.sql_body_)*/nullptr
  , /*decltype(_impl_.is_procedure_)*/false
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateFunctionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateFunctionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateFunctionStmtDefaultTypeInternal() {}
  union {
    CreateFunctionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateFunctionStmtDefaultTypeInternal _CreateFunctionStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterFunctionStmt::AlterFunctionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.actions_)*/{}
  , /*decltype(_impl_.func_)*/nullptr
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterFunctionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterFunctionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterFunctionStmtDefaultTypeInternal() {}
  union {
    AlterFunctionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterFunctionStmtDefaultTypeInternal _AlterFunctionStmt_default_instance_;
PROTOBUF_CONSTEXPR DoStmt::DoStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DoStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DoStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DoStmtDefaultTypeInternal() {}
  union {
    DoStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DoStmtDefaultTypeInternal _DoStmt_default_instance_;
PROTOBUF_CONSTEXPR RenameStmt::RenameStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.subname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.newname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.object_)*/nullptr
  , /*decltype(_impl_.rename_type_)*/0
  , /*decltype(_impl_.relation_type_)*/0
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RenameStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RenameStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RenameStmtDefaultTypeInternal() {}
  union {
    RenameStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RenameStmtDefaultTypeInternal _RenameStmt_default_instance_;
PROTOBUF_CONSTEXPR RuleStmt::RuleStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.actions_)*/{}
  , /*decltype(_impl_.rulename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.event_)*/0
  , /*decltype(_impl_.instead_)*/false
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RuleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RuleStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RuleStmtDefaultTypeInternal() {}
  union {
    RuleStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuleStmtDefaultTypeInternal _RuleStmt_default_instance_;
PROTOBUF_CONSTEXPR NotifyStmt::NotifyStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.conditionname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.payload_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct NotifyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NotifyStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~NotifyStmtDefaultTypeInternal() {}
  union {
    NotifyStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NotifyStmtDefaultTypeInternal _NotifyStmt_default_instance_;
PROTOBUF_CONSTEXPR ListenStmt::ListenStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.conditionname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ListenStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ListenStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ListenStmtDefaultTypeInternal() {}
  union {
    ListenStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListenStmtDefaultTypeInternal _ListenStmt_default_instance_;
PROTOBUF_CONSTEXPR UnlistenStmt::UnlistenStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.conditionname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct UnlistenStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR UnlistenStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~UnlistenStmtDefaultTypeInternal() {}
  union {
    UnlistenStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UnlistenStmtDefaultTypeInternal _UnlistenStmt_default_instance_;
PROTOBUF_CONSTEXPR TransactionStmt::TransactionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.savepoint_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.gid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.chain_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TransactionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TransactionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TransactionStmtDefaultTypeInternal() {}
  union {
    TransactionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TransactionStmtDefaultTypeInternal _TransactionStmt_default_instance_;
PROTOBUF_CONSTEXPR ViewStmt::ViewStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.aliases_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.view_)*/nullptr
  , /*decltype(_impl_.query_)*/nullptr
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_.with_check_option_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ViewStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ViewStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ViewStmtDefaultTypeInternal() {}
  union {
    ViewStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ViewStmtDefaultTypeInternal _ViewStmt_default_instance_;
PROTOBUF_CONSTEXPR LoadStmt::LoadStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.filename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct LoadStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LoadStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~LoadStmtDefaultTypeInternal() {}
  union {
    LoadStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LoadStmtDefaultTypeInternal _LoadStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateDomainStmt::CreateDomainStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.domainname_)*/{}
  , /*decltype(_impl_.constraints_)*/{}
  , /*decltype(_impl_.type_name_)*/nullptr
  , /*decltype(_impl_.coll_clause_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateDomainStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateDomainStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateDomainStmtDefaultTypeInternal() {}
  union {
    CreateDomainStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateDomainStmtDefaultTypeInternal _CreateDomainStmt_default_instance_;
PROTOBUF_CONSTEXPR CreatedbStmt::CreatedbStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.dbname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreatedbStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatedbStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatedbStmtDefaultTypeInternal() {}
  union {
    CreatedbStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatedbStmtDefaultTypeInternal _CreatedbStmt_default_instance_;
PROTOBUF_CONSTEXPR DropdbStmt::DropdbStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.dbname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropdbStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropdbStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropdbStmtDefaultTypeInternal() {}
  union {
    DropdbStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropdbStmtDefaultTypeInternal _DropdbStmt_default_instance_;
PROTOBUF_CONSTEXPR VacuumStmt::VacuumStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.rels_)*/{}
  , /*decltype(_impl_.is_vacuumcmd_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct VacuumStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VacuumStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~VacuumStmtDefaultTypeInternal() {}
  union {
    VacuumStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VacuumStmtDefaultTypeInternal _VacuumStmt_default_instance_;
PROTOBUF_CONSTEXPR ExplainStmt::ExplainStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.query_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ExplainStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ExplainStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ExplainStmtDefaultTypeInternal() {}
  union {
    ExplainStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExplainStmtDefaultTypeInternal _ExplainStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateTableAsStmt::CreateTableAsStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.query_)*/nullptr
  , /*decltype(_impl_.into_)*/nullptr
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_.is_select_into_)*/false
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateTableAsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTableAsStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTableAsStmtDefaultTypeInternal() {}
  union {
    CreateTableAsStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTableAsStmtDefaultTypeInternal _CreateTableAsStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateSeqStmt::CreateSeqStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.sequence_)*/nullptr
  , /*decltype(_impl_.owner_id_)*/0u
  , /*decltype(_impl_.for_identity_)*/false
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateSeqStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateSeqStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateSeqStmtDefaultTypeInternal() {}
  union {
    CreateSeqStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateSeqStmtDefaultTypeInternal _CreateSeqStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterSeqStmt::AlterSeqStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.sequence_)*/nullptr
  , /*decltype(_impl_.for_identity_)*/false
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterSeqStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterSeqStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterSeqStmtDefaultTypeInternal() {}
  union {
    AlterSeqStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterSeqStmtDefaultTypeInternal _AlterSeqStmt_default_instance_;
PROTOBUF_CONSTEXPR VariableSetStmt::VariableSetStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.is_local_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct VariableSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VariableSetStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~VariableSetStmtDefaultTypeInternal() {}
  union {
    VariableSetStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VariableSetStmtDefaultTypeInternal _VariableSetStmt_default_instance_;
PROTOBUF_CONSTEXPR VariableShowStmt::VariableShowStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct VariableShowStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VariableShowStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~VariableShowStmtDefaultTypeInternal() {}
  union {
    VariableShowStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VariableShowStmtDefaultTypeInternal _VariableShowStmt_default_instance_;
PROTOBUF_CONSTEXPR DiscardStmt::DiscardStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.target_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DiscardStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DiscardStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DiscardStmtDefaultTypeInternal() {}
  union {
    DiscardStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DiscardStmtDefaultTypeInternal _DiscardStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateTrigStmt::CreateTrigStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.funcname_)*/{}
  , /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.columns_)*/{}
  , /*decltype(_impl_.transition_rels_)*/{}
  , /*decltype(_impl_.trigname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.when_clause_)*/nullptr
  , /*decltype(_impl_.constrrel_)*/nullptr
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_.isconstraint_)*/false
  , /*decltype(_impl_.row_)*/false
  , /*decltype(_impl_.deferrable_)*/false
  , /*decltype(_impl_.timing_)*/0
  , /*decltype(_impl_.events_)*/0
  , /*decltype(_impl_.initdeferred_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateTrigStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTrigStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTrigStmtDefaultTypeInternal() {}
  union {
    CreateTrigStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTrigStmtDefaultTypeInternal _CreateTrigStmt_default_instance_;
PROTOBUF_CONSTEXPR CreatePLangStmt::CreatePLangStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.plhandler_)*/{}
  , /*decltype(_impl_.plinline_)*/{}
  , /*decltype(_impl_.plvalidator_)*/{}
  , /*decltype(_impl_.plname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_.pltrusted_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreatePLangStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatePLangStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatePLangStmtDefaultTypeInternal() {}
  union {
    CreatePLangStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatePLangStmtDefaultTypeInternal _CreatePLangStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateRoleStmt::CreateRoleStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.role_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.stmt_type_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateRoleStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateRoleStmtDefaultTypeInternal() {}
  union {
    CreateRoleStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateRoleStmtDefaultTypeInternal _CreateRoleStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterRoleStmt::AlterRoleStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.role_)*/nullptr
  , /*decltype(_impl_.action_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterRoleStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterRoleStmtDefaultTypeInternal() {}
  union {
    AlterRoleStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterRoleStmtDefaultTypeInternal _AlterRoleStmt_default_instance_;
PROTOBUF_CONSTEXPR DropRoleStmt::DropRoleStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.roles_)*/{}
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropRoleStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropRoleStmtDefaultTypeInternal() {}
  union {
    DropRoleStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropRoleStmtDefaultTypeInternal _DropRoleStmt_default_instance_;
PROTOBUF_CONSTEXPR LockStmt::LockStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.relations_)*/{}
  , /*decltype(_impl_.mode_)*/0
  , /*decltype(_impl_.nowait_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct LockStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LockStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~LockStmtDefaultTypeInternal() {}
  union {
    LockStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LockStmtDefaultTypeInternal _LockStmt_default_instance_;
PROTOBUF_CONSTEXPR ConstraintsSetStmt::ConstraintsSetStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.constraints_)*/{}
  , /*decltype(_impl_.deferred_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ConstraintsSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ConstraintsSetStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ConstraintsSetStmtDefaultTypeInternal() {}
  union {
    ConstraintsSetStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintsSetStmtDefaultTypeInternal _ConstraintsSetStmt_default_instance_;
PROTOBUF_CONSTEXPR ReindexStmt::ReindexStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.params_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ReindexStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReindexStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReindexStmtDefaultTypeInternal() {}
  union {
    ReindexStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReindexStmtDefaultTypeInternal _ReindexStmt_default_instance_;
PROTOBUF_CONSTEXPR CheckPointStmt::CheckPointStmt(
    ::_pbi::ConstantInitialized) {}
struct CheckPointStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CheckPointStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CheckPointStmtDefaultTypeInternal() {}
  union {
    CheckPointStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CheckPointStmtDefaultTypeInternal _CheckPointStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateSchemaStmt::CreateSchemaStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.schema_elts_)*/{}
  , /*decltype(_impl_.schemaname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.authrole_)*/nullptr
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateSchemaStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateSchemaStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateSchemaStmtDefaultTypeInternal() {}
  union {
    CreateSchemaStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateSchemaStmtDefaultTypeInternal _CreateSchemaStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterDatabaseStmt::AlterDatabaseStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.dbname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterDatabaseStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDatabaseStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDatabaseStmtDefaultTypeInternal() {}
  union {
    AlterDatabaseStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDatabaseStmtDefaultTypeInternal _AlterDatabaseStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterDatabaseRefreshCollStmt::AlterDatabaseRefreshCollStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.dbname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterDatabaseRefreshCollStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDatabaseRefreshCollStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDatabaseRefreshCollStmtDefaultTypeInternal() {}
  union {
    AlterDatabaseRefreshCollStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDatabaseRefreshCollStmtDefaultTypeInternal _AlterDatabaseRefreshCollStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterDatabaseSetStmt::AlterDatabaseSetStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.dbname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.setstmt_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterDatabaseSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDatabaseSetStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDatabaseSetStmtDefaultTypeInternal() {}
  union {
    AlterDatabaseSetStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDatabaseSetStmtDefaultTypeInternal _AlterDatabaseSetStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterRoleSetStmt::AlterRoleSetStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.database_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.role_)*/nullptr
  , /*decltype(_impl_.setstmt_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterRoleSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterRoleSetStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterRoleSetStmtDefaultTypeInternal() {}
  union {
    AlterRoleSetStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterRoleSetStmtDefaultTypeInternal _AlterRoleSetStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateConversionStmt::CreateConversionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.conversion_name_)*/{}
  , /*decltype(_impl_.func_name_)*/{}
  , /*decltype(_impl_.for_encoding_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.to_encoding_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.def_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateConversionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateConversionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateConversionStmtDefaultTypeInternal() {}
  union {
    CreateConversionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateConversionStmtDefaultTypeInternal _CreateConversionStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateCastStmt::CreateCastStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.sourcetype_)*/nullptr
  , /*decltype(_impl_.targettype_)*/nullptr
  , /*decltype(_impl_.func_)*/nullptr
  , /*decltype(_impl_.context_)*/0
  , /*decltype(_impl_.inout_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateCastStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateCastStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateCastStmtDefaultTypeInternal() {}
  union {
    CreateCastStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateCastStmtDefaultTypeInternal _CreateCastStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateOpClassStmt::CreateOpClassStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.opclassname_)*/{}
  , /*decltype(_impl_.opfamilyname_)*/{}
  , /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_.amname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.datatype_)*/nullptr
  , /*decltype(_impl_.is_default_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateOpClassStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateOpClassStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateOpClassStmtDefaultTypeInternal() {}
  union {
    CreateOpClassStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateOpClassStmtDefaultTypeInternal _CreateOpClassStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateOpFamilyStmt::CreateOpFamilyStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.opfamilyname_)*/{}
  , /*decltype(_impl_.amname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateOpFamilyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateOpFamilyStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateOpFamilyStmtDefaultTypeInternal() {}
  union {
    CreateOpFamilyStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateOpFamilyStmtDefaultTypeInternal _CreateOpFamilyStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterOpFamilyStmt::AlterOpFamilyStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.opfamilyname_)*/{}
  , /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_.amname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.is_drop_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterOpFamilyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterOpFamilyStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterOpFamilyStmtDefaultTypeInternal() {}
  union {
    AlterOpFamilyStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterOpFamilyStmtDefaultTypeInternal _AlterOpFamilyStmt_default_instance_;
PROTOBUF_CONSTEXPR PrepareStmt::PrepareStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.argtypes_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.query_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PrepareStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PrepareStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PrepareStmtDefaultTypeInternal() {}
  union {
    PrepareStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PrepareStmtDefaultTypeInternal _PrepareStmt_default_instance_;
PROTOBUF_CONSTEXPR ExecuteStmt::ExecuteStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.params_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ExecuteStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ExecuteStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ExecuteStmtDefaultTypeInternal() {}
  union {
    ExecuteStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExecuteStmtDefaultTypeInternal _ExecuteStmt_default_instance_;
PROTOBUF_CONSTEXPR DeallocateStmt::DeallocateStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DeallocateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeallocateStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeallocateStmtDefaultTypeInternal() {}
  union {
    DeallocateStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeallocateStmtDefaultTypeInternal _DeallocateStmt_default_instance_;
PROTOBUF_CONSTEXPR DeclareCursorStmt::DeclareCursorStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.portalname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.query_)*/nullptr
  , /*decltype(_impl_.options_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DeclareCursorStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeclareCursorStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeclareCursorStmtDefaultTypeInternal() {}
  union {
    DeclareCursorStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeclareCursorStmtDefaultTypeInternal _DeclareCursorStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateTableSpaceStmt::CreateTableSpaceStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.tablespacename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.location_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.owner_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateTableSpaceStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTableSpaceStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTableSpaceStmtDefaultTypeInternal() {}
  union {
    CreateTableSpaceStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTableSpaceStmtDefaultTypeInternal _CreateTableSpaceStmt_default_instance_;
PROTOBUF_CONSTEXPR DropTableSpaceStmt::DropTableSpaceStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.tablespacename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropTableSpaceStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropTableSpaceStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropTableSpaceStmtDefaultTypeInternal() {}
  union {
    DropTableSpaceStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropTableSpaceStmtDefaultTypeInternal _DropTableSpaceStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterObjectDependsStmt::AlterObjectDependsStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.object_)*/nullptr
  , /*decltype(_impl_.extname_)*/nullptr
  , /*decltype(_impl_.object_type_)*/0
  , /*decltype(_impl_.remove_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterObjectDependsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterObjectDependsStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterObjectDependsStmtDefaultTypeInternal() {}
  union {
    AlterObjectDependsStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterObjectDependsStmtDefaultTypeInternal _AlterObjectDependsStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterObjectSchemaStmt::AlterObjectSchemaStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.newschema_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.object_)*/nullptr
  , /*decltype(_impl_.object_type_)*/0
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterObjectSchemaStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterObjectSchemaStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterObjectSchemaStmtDefaultTypeInternal() {}
  union {
    AlterObjectSchemaStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterObjectSchemaStmtDefaultTypeInternal _AlterObjectSchemaStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterOwnerStmt::AlterOwnerStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.object_)*/nullptr
  , /*decltype(_impl_.newowner_)*/nullptr
  , /*decltype(_impl_.object_type_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterOwnerStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterOwnerStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterOwnerStmtDefaultTypeInternal() {}
  union {
    AlterOwnerStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterOwnerStmtDefaultTypeInternal _AlterOwnerStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterOperatorStmt::AlterOperatorStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.opername_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterOperatorStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterOperatorStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterOperatorStmtDefaultTypeInternal() {}
  union {
    AlterOperatorStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterOperatorStmtDefaultTypeInternal _AlterOperatorStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterTypeStmt::AlterTypeStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_name_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterTypeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTypeStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTypeStmtDefaultTypeInternal() {}
  union {
    AlterTypeStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTypeStmtDefaultTypeInternal _AlterTypeStmt_default_instance_;
PROTOBUF_CONSTEXPR DropOwnedStmt::DropOwnedStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.roles_)*/{}
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropOwnedStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropOwnedStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropOwnedStmtDefaultTypeInternal() {}
  union {
    DropOwnedStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropOwnedStmtDefaultTypeInternal _DropOwnedStmt_default_instance_;
PROTOBUF_CONSTEXPR ReassignOwnedStmt::ReassignOwnedStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.roles_)*/{}
  , /*decltype(_impl_.newrole_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ReassignOwnedStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReassignOwnedStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReassignOwnedStmtDefaultTypeInternal() {}
  union {
    ReassignOwnedStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReassignOwnedStmtDefaultTypeInternal _ReassignOwnedStmt_default_instance_;
PROTOBUF_CONSTEXPR CompositeTypeStmt::CompositeTypeStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.coldeflist_)*/{}
  , /*decltype(_impl_.typevar_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CompositeTypeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CompositeTypeStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CompositeTypeStmtDefaultTypeInternal() {}
  union {
    CompositeTypeStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CompositeTypeStmtDefaultTypeInternal _CompositeTypeStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateEnumStmt::CreateEnumStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_name_)*/{}
  , /*decltype(_impl_.vals_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateEnumStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateEnumStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateEnumStmtDefaultTypeInternal() {}
  union {
    CreateEnumStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateEnumStmtDefaultTypeInternal _CreateEnumStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateRangeStmt::CreateRangeStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_name_)*/{}
  , /*decltype(_impl_.params_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateRangeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateRangeStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateRangeStmtDefaultTypeInternal() {}
  union {
    CreateRangeStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateRangeStmtDefaultTypeInternal _CreateRangeStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterEnumStmt::AlterEnumStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_name_)*/{}
  , /*decltype(_impl_.old_val_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.new_val_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.new_val_neighbor_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.new_val_is_after_)*/false
  , /*decltype(_impl_.skip_if_new_val_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterEnumStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterEnumStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterEnumStmtDefaultTypeInternal() {}
  union {
    AlterEnumStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterEnumStmtDefaultTypeInternal _AlterEnumStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterTSDictionaryStmt::AlterTSDictionaryStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.dictname_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterTSDictionaryStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTSDictionaryStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTSDictionaryStmtDefaultTypeInternal() {}
  union {
    AlterTSDictionaryStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTSDictionaryStmtDefaultTypeInternal _AlterTSDictionaryStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterTSConfigurationStmt::AlterTSConfigurationStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.cfgname_)*/{}
  , /*decltype(_impl_.tokentype_)*/{}
  , /*decltype(_impl_.dicts_)*/{}
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.override_)*/false
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterTSConfigurationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTSConfigurationStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTSConfigurationStmtDefaultTypeInternal() {}
  union {
    AlterTSConfigurationStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTSConfigurationStmtDefaultTypeInternal _AlterTSConfigurationStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateFdwStmt::CreateFdwStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.func_options_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.fdwname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateFdwStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateFdwStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateFdwStmtDefaultTypeInternal() {}
  union {
    CreateFdwStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateFdwStmtDefaultTypeInternal _CreateFdwStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterFdwStmt::AlterFdwStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.func_options_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.fdwname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterFdwStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterFdwStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterFdwStmtDefaultTypeInternal() {}
  union {
    AlterFdwStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterFdwStmtDefaultTypeInternal _AlterFdwStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateForeignServerStmt::CreateForeignServerStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.servername_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.servertype_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.version_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.fdwname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateForeignServerStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateForeignServerStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateForeignServerStmtDefaultTypeInternal() {}
  union {
    CreateForeignServerStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateForeignServerStmtDefaultTypeInternal _CreateForeignServerStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterForeignServerStmt::AlterForeignServerStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.servername_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.version_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.has_version_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterForeignServerStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterForeignServerStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterForeignServerStmtDefaultTypeInternal() {}
  union {
    AlterForeignServerStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterForeignServerStmtDefaultTypeInternal _AlterForeignServerStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateUserMappingStmt::CreateUserMappingStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.servername_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.user_)*/nullptr
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateUserMappingStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateUserMappingStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateUserMappingStmtDefaultTypeInternal() {}
  union {
    CreateUserMappingStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateUserMappingStmtDefaultTypeInternal _CreateUserMappingStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterUserMappingStmt::AlterUserMappingStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.servername_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.user_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterUserMappingStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterUserMappingStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterUserMappingStmtDefaultTypeInternal() {}
  union {
    AlterUserMappingStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterUserMappingStmtDefaultTypeInternal _AlterUserMappingStmt_default_instance_;
PROTOBUF_CONSTEXPR DropUserMappingStmt::DropUserMappingStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.servername_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.user_)*/nullptr
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropUserMappingStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropUserMappingStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropUserMappingStmtDefaultTypeInternal() {}
  union {
    DropUserMappingStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropUserMappingStmtDefaultTypeInternal _DropUserMappingStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.tablespacename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.is_reset_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterTableSpaceOptionsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableSpaceOptionsStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableSpaceOptionsStmtDefaultTypeInternal() {}
  union {
    AlterTableSpaceOptionsStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableSpaceOptionsStmtDefaultTypeInternal _AlterTableSpaceOptionsStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterTableMoveAllStmt::AlterTableMoveAllStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.roles_)*/{}
  , /*decltype(_impl_.orig_tablespacename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.new_tablespacename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_.nowait_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterTableMoveAllStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableMoveAllStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableMoveAllStmtDefaultTypeInternal() {}
  union {
    AlterTableMoveAllStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableMoveAllStmtDefaultTypeInternal _AlterTableMoveAllStmt_default_instance_;
PROTOBUF_CONSTEXPR SecLabelStmt::SecLabelStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.provider_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.label_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.object_)*/nullptr
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SecLabelStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecLabelStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecLabelStmtDefaultTypeInternal() {}
  union {
    SecLabelStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecLabelStmtDefaultTypeInternal _SecLabelStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateForeignTableStmt::CreateForeignTableStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.servername_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.base_stmt_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateForeignTableStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateForeignTableStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateForeignTableStmtDefaultTypeInternal() {}
  union {
    CreateForeignTableStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateForeignTableStmtDefaultTypeInternal _CreateForeignTableStmt_default_instance_;
PROTOBUF_CONSTEXPR ImportForeignSchemaStmt::ImportForeignSchemaStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.table_list_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.server_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.remote_schema_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.local_schema_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.list_type_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ImportForeignSchemaStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ImportForeignSchemaStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ImportForeignSchemaStmtDefaultTypeInternal() {}
  union {
    ImportForeignSchemaStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ImportForeignSchemaStmtDefaultTypeInternal _ImportForeignSchemaStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateExtensionStmt::CreateExtensionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.extname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateExtensionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateExtensionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateExtensionStmtDefaultTypeInternal() {}
  union {
    CreateExtensionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateExtensionStmtDefaultTypeInternal _CreateExtensionStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterExtensionStmt::AlterExtensionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.extname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterExtensionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterExtensionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterExtensionStmtDefaultTypeInternal() {}
  union {
    AlterExtensionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterExtensionStmtDefaultTypeInternal _AlterExtensionStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterExtensionContentsStmt::AlterExtensionContentsStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.extname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.object_)*/nullptr
  , /*decltype(_impl_.action_)*/0
  , /*decltype(_impl_.objtype_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterExtensionContentsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterExtensionContentsStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterExtensionContentsStmtDefaultTypeInternal() {}
  union {
    AlterExtensionContentsStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterExtensionContentsStmtDefaultTypeInternal _AlterExtensionContentsStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateEventTrigStmt::CreateEventTrigStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.whenclause_)*/{}
  , /*decltype(_impl_.funcname_)*/{}
  , /*decltype(_impl_.trigname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.eventname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateEventTrigStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateEventTrigStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateEventTrigStmtDefaultTypeInternal() {}
  union {
    CreateEventTrigStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateEventTrigStmtDefaultTypeInternal _CreateEventTrigStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterEventTrigStmt::AlterEventTrigStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.trigname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.tgenabled_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterEventTrigStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterEventTrigStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterEventTrigStmtDefaultTypeInternal() {}
  union {
    AlterEventTrigStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterEventTrigStmtDefaultTypeInternal _AlterEventTrigStmt_default_instance_;
PROTOBUF_CONSTEXPR RefreshMatViewStmt::RefreshMatViewStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.concurrent_)*/false
  , /*decltype(_impl_.skip_data_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RefreshMatViewStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RefreshMatViewStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RefreshMatViewStmtDefaultTypeInternal() {}
  union {
    RefreshMatViewStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RefreshMatViewStmtDefaultTypeInternal _RefreshMatViewStmt_default_instance_;
PROTOBUF_CONSTEXPR ReplicaIdentityStmt::ReplicaIdentityStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.identity_type_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ReplicaIdentityStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReplicaIdentityStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReplicaIdentityStmtDefaultTypeInternal() {}
  union {
    ReplicaIdentityStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReplicaIdentityStmtDefaultTypeInternal _ReplicaIdentityStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterSystemStmt::AlterSystemStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.setstmt_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterSystemStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterSystemStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterSystemStmtDefaultTypeInternal() {}
  union {
    AlterSystemStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterSystemStmtDefaultTypeInternal _AlterSystemStmt_default_instance_;
PROTOBUF_CONSTEXPR CreatePolicyStmt::CreatePolicyStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.roles_)*/{}
  , /*decltype(_impl_.policy_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.cmd_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_)*/nullptr
  , /*decltype(_impl_.qual_)*/nullptr
  , /*decltype(_impl_.with_check_)*/nullptr
  , /*decltype(_impl_.permissive_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreatePolicyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatePolicyStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatePolicyStmtDefaultTypeInternal() {}
  union {
    CreatePolicyStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatePolicyStmtDefaultTypeInternal _CreatePolicyStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterPolicyStmt::AlterPolicyStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.roles_)*/{}
  , /*decltype(_impl_.policy_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.table_)*/nullptr
  , /*decltype(_impl_.qual_)*/nullptr
  , /*decltype(_impl_.with_check_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterPolicyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterPolicyStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterPolicyStmtDefaultTypeInternal() {}
  union {
    AlterPolicyStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterPolicyStmtDefaultTypeInternal _AlterPolicyStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateTransformStmt::CreateTransformStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.lang_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.type_name_)*/nullptr
  , /*decltype(_impl_.fromsql_)*/nullptr
  , /*decltype(_impl_.tosql_)*/nullptr
  , /*decltype(_impl_.replace_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateTransformStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTransformStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTransformStmtDefaultTypeInternal() {}
  union {
    CreateTransformStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTransformStmtDefaultTypeInternal _CreateTransformStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateAmStmt::CreateAmStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.handler_name_)*/{}
  , /*decltype(_impl_.amname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.amtype_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateAmStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateAmStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateAmStmtDefaultTypeInternal() {}
  union {
    CreateAmStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateAmStmtDefaultTypeInternal _CreateAmStmt_default_instance_;
PROTOBUF_CONSTEXPR CreatePublicationStmt::CreatePublicationStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.pubobjects_)*/{}
  , /*decltype(_impl_.pubname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.for_all_tables_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreatePublicationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatePublicationStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatePublicationStmtDefaultTypeInternal() {}
  union {
    CreatePublicationStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatePublicationStmtDefaultTypeInternal _CreatePublicationStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterPublicationStmt::AlterPublicationStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.pubobjects_)*/{}
  , /*decltype(_impl_.pubname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.for_all_tables_)*/false
  , /*decltype(_impl_.action_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterPublicationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterPublicationStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterPublicationStmtDefaultTypeInternal() {}
  union {
    AlterPublicationStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterPublicationStmtDefaultTypeInternal _AlterPublicationStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateSubscriptionStmt::CreateSubscriptionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.publication_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.subname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.conninfo_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateSubscriptionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateSubscriptionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateSubscriptionStmtDefaultTypeInternal() {}
  union {
    CreateSubscriptionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateSubscriptionStmtDefaultTypeInternal _CreateSubscriptionStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterSubscriptionStmt::AlterSubscriptionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.publication_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.subname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.conninfo_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterSubscriptionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterSubscriptionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterSubscriptionStmtDefaultTypeInternal() {}
  union {
    AlterSubscriptionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterSubscriptionStmtDefaultTypeInternal _AlterSubscriptionStmt_default_instance_;
PROTOBUF_CONSTEXPR DropSubscriptionStmt::DropSubscriptionStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.subname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_.behavior_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DropSubscriptionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropSubscriptionStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropSubscriptionStmtDefaultTypeInternal() {}
  union {
    DropSubscriptionStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropSubscriptionStmtDefaultTypeInternal _DropSubscriptionStmt_default_instance_;
PROTOBUF_CONSTEXPR CreateStatsStmt::CreateStatsStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.defnames_)*/{}
  , /*decltype(_impl_.stat_types_)*/{}
  , /*decltype(_impl_.exprs_)*/{}
  , /*decltype(_impl_.relations_)*/{}
  , /*decltype(_impl_.stxcomment_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.transformed_)*/false
  , /*decltype(_impl_.if_not_exists_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateStatsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateStatsStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateStatsStmtDefaultTypeInternal() {}
  union {
    CreateStatsStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateStatsStmtDefaultTypeInternal _CreateStatsStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterCollationStmt::AlterCollationStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.collname_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterCollationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterCollationStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterCollationStmtDefaultTypeInternal() {}
  union {
    AlterCollationStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterCollationStmtDefaultTypeInternal _AlterCollationStmt_default_instance_;
PROTOBUF_CONSTEXPR CallStmt::CallStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.outargs_)*/{}
  , /*decltype(_impl_.funccall_)*/nullptr
  , /*decltype(_impl_.funcexpr_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CallStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CallStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CallStmtDefaultTypeInternal() {}
  union {
    CallStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CallStmtDefaultTypeInternal _CallStmt_default_instance_;
PROTOBUF_CONSTEXPR AlterStatsStmt::AlterStatsStmt(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.defnames_)*/{}
  , /*decltype(_impl_.stxstattarget_)*/0
  , /*decltype(_impl_.missing_ok_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AlterStatsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterStatsStmtDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterStatsStmtDefaultTypeInternal() {}
  union {
    AlterStatsStmt _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterStatsStmtDefaultTypeInternal _AlterStatsStmt_default_instance_;
PROTOBUF_CONSTEXPR A_Expr::A_Expr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{}
  , /*decltype(_impl_.lexpr_)*/nullptr
  , /*decltype(_impl_.rexpr_)*/nullptr
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct A_ExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_ExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_ExprDefaultTypeInternal() {}
  union {
    A_Expr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_ExprDefaultTypeInternal _A_Expr_default_instance_;
PROTOBUF_CONSTEXPR ColumnRef::ColumnRef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.fields_)*/{}
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ColumnRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ColumnRefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ColumnRefDefaultTypeInternal() {}
  union {
    ColumnRef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnRefDefaultTypeInternal _ColumnRef_default_instance_;
PROTOBUF_CONSTEXPR ParamRef::ParamRef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.number_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ParamRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ParamRefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ParamRefDefaultTypeInternal() {}
  union {
    ParamRef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParamRefDefaultTypeInternal _ParamRef_default_instance_;
PROTOBUF_CONSTEXPR FuncCall::FuncCall(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.funcname_)*/{}
  , /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.agg_order_)*/{}
  , /*decltype(_impl_.agg_filter_)*/nullptr
  , /*decltype(_impl_.over_)*/nullptr
  , /*decltype(_impl_.agg_within_group_)*/false
  , /*decltype(_impl_.agg_star_)*/false
  , /*decltype(_impl_.agg_distinct_)*/false
  , /*decltype(_impl_.func_variadic_)*/false
  , /*decltype(_impl_.funcformat_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FuncCallDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FuncCallDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FuncCallDefaultTypeInternal() {}
  union {
    FuncCall _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FuncCallDefaultTypeInternal _FuncCall_default_instance_;
PROTOBUF_CONSTEXPR A_Star::A_Star(
    ::_pbi::ConstantInitialized) {}
struct A_StarDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_StarDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_StarDefaultTypeInternal() {}
  union {
    A_Star _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_StarDefaultTypeInternal _A_Star_default_instance_;
PROTOBUF_CONSTEXPR A_Indices::A_Indices(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.lidx_)*/nullptr
  , /*decltype(_impl_.uidx_)*/nullptr
  , /*decltype(_impl_.is_slice_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct A_IndicesDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_IndicesDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_IndicesDefaultTypeInternal() {}
  union {
    A_Indices _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_IndicesDefaultTypeInternal _A_Indices_default_instance_;
PROTOBUF_CONSTEXPR A_Indirection::A_Indirection(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.indirection_)*/{}
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct A_IndirectionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_IndirectionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_IndirectionDefaultTypeInternal() {}
  union {
    A_Indirection _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_IndirectionDefaultTypeInternal _A_Indirection_default_instance_;
PROTOBUF_CONSTEXPR A_ArrayExpr::A_ArrayExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.elements_)*/{}
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct A_ArrayExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_ArrayExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_ArrayExprDefaultTypeInternal() {}
  union {
    A_ArrayExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_ArrayExprDefaultTypeInternal _A_ArrayExpr_default_instance_;
PROTOBUF_CONSTEXPR ResTarget::ResTarget(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.indirection_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.val_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ResTargetDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ResTargetDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ResTargetDefaultTypeInternal() {}
  union {
    ResTarget _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ResTargetDefaultTypeInternal _ResTarget_default_instance_;
PROTOBUF_CONSTEXPR MultiAssignRef::MultiAssignRef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.source_)*/nullptr
  , /*decltype(_impl_.colno_)*/0
  , /*decltype(_impl_.ncolumns_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct MultiAssignRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MultiAssignRefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~MultiAssignRefDefaultTypeInternal() {}
  union {
    MultiAssignRef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultiAssignRefDefaultTypeInternal _MultiAssignRef_default_instance_;
PROTOBUF_CONSTEXPR TypeCast::TypeCast(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.type_name_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TypeCastDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TypeCastDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TypeCastDefaultTypeInternal() {}
  union {
    TypeCast _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TypeCastDefaultTypeInternal _TypeCast_default_instance_;
PROTOBUF_CONSTEXPR CollateClause::CollateClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.collname_)*/{}
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CollateClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CollateClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CollateClauseDefaultTypeInternal() {}
  union {
    CollateClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CollateClauseDefaultTypeInternal _CollateClause_default_instance_;
PROTOBUF_CONSTEXPR SortBy::SortBy(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.use_op_)*/{}
  , /*decltype(_impl_.node_)*/nullptr
  , /*decltype(_impl_.sortby_dir_)*/0
  , /*decltype(_impl_.sortby_nulls_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SortByDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SortByDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SortByDefaultTypeInternal() {}
  union {
    SortBy _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SortByDefaultTypeInternal _SortBy_default_instance_;
PROTOBUF_CONSTEXPR WindowDef::WindowDef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.partition_clause_)*/{}
  , /*decltype(_impl_.order_clause_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.refname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.start_offset_)*/nullptr
  , /*decltype(_impl_.end_offset_)*/nullptr
  , /*decltype(_impl_.frame_options_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct WindowDefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WindowDefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~WindowDefDefaultTypeInternal() {}
  union {
    WindowDef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WindowDefDefaultTypeInternal _WindowDef_default_instance_;
PROTOBUF_CONSTEXPR RangeSubselect::RangeSubselect(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.subquery_)*/nullptr
  , /*decltype(_impl_.alias_)*/nullptr
  , /*decltype(_impl_.lateral_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeSubselectDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeSubselectDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeSubselectDefaultTypeInternal() {}
  union {
    RangeSubselect _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeSubselectDefaultTypeInternal _RangeSubselect_default_instance_;
PROTOBUF_CONSTEXPR RangeFunction::RangeFunction(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.functions_)*/{}
  , /*decltype(_impl_.coldeflist_)*/{}
  , /*decltype(_impl_.alias_)*/nullptr
  , /*decltype(_impl_.lateral_)*/false
  , /*decltype(_impl_.ordinality_)*/false
  , /*decltype(_impl_.is_rowsfrom_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeFunctionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeFunctionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeFunctionDefaultTypeInternal() {}
  union {
    RangeFunction _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeFunctionDefaultTypeInternal _RangeFunction_default_instance_;
PROTOBUF_CONSTEXPR RangeTableSample::RangeTableSample(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.method_)*/{}
  , /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.repeatable_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeTableSampleDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTableSampleDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTableSampleDefaultTypeInternal() {}
  union {
    RangeTableSample _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTableSampleDefaultTypeInternal _RangeTableSample_default_instance_;
PROTOBUF_CONSTEXPR RangeTableFunc::RangeTableFunc(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.namespaces_)*/{}
  , /*decltype(_impl_.columns_)*/{}
  , /*decltype(_impl_.docexpr_)*/nullptr
  , /*decltype(_impl_.rowexpr_)*/nullptr
  , /*decltype(_impl_.alias_)*/nullptr
  , /*decltype(_impl_.lateral_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeTableFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTableFuncDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTableFuncDefaultTypeInternal() {}
  union {
    RangeTableFunc _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTableFuncDefaultTypeInternal _RangeTableFunc_default_instance_;
PROTOBUF_CONSTEXPR RangeTableFuncCol::RangeTableFuncCol(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.colname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.type_name_)*/nullptr
  , /*decltype(_impl_.colexpr_)*/nullptr
  , /*decltype(_impl_.coldefexpr_)*/nullptr
  , /*decltype(_impl_.for_ordinality_)*/false
  , /*decltype(_impl_.is_not_null_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeTableFuncColDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTableFuncColDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTableFuncColDefaultTypeInternal() {}
  union {
    RangeTableFuncCol _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTableFuncColDefaultTypeInternal _RangeTableFuncCol_default_instance_;
PROTOBUF_CONSTEXPR TypeName::TypeName(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.names_)*/{}
  , /*decltype(_impl_.typmods_)*/{}
  , /*decltype(_impl_.array_bounds_)*/{}
  , /*decltype(_impl_.type_oid_)*/0u
  , /*decltype(_impl_.setof_)*/false
  , /*decltype(_impl_.pct_type_)*/false
  , /*decltype(_impl_.typemod_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TypeNameDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TypeNameDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TypeNameDefaultTypeInternal() {}
  union {
    TypeName _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TypeNameDefaultTypeInternal _TypeName_default_instance_;
PROTOBUF_CONSTEXPR ColumnDef::ColumnDef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.constraints_)*/{}
  , /*decltype(_impl_.fdwoptions_)*/{}
  , /*decltype(_impl_.colname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.compression_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.storage_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.identity_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.generated_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.type_name_)*/nullptr
  , /*decltype(_impl_.raw_default_)*/nullptr
  , /*decltype(_impl_.cooked_default_)*/nullptr
  , /*decltype(_impl_.identity_sequence_)*/nullptr
  , /*decltype(_impl_.coll_clause_)*/nullptr
  , /*decltype(_impl_.inhcount_)*/0
  , /*decltype(_impl_.is_local_)*/false
  , /*decltype(_impl_.is_not_null_)*/false
  , /*decltype(_impl_.is_from_type_)*/false
  , /*decltype(_impl_.coll_oid_)*/0u
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ColumnDefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ColumnDefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ColumnDefDefaultTypeInternal() {}
  union {
    ColumnDef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;
PROTOBUF_CONSTEXPR IndexElem::IndexElem(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.collation_)*/{}
  , /*decltype(_impl_.opclass_)*/{}
  , /*decltype(_impl_.opclassopts_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.indexcolname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.expr_)*/nullptr
  , /*decltype(_impl_.ordering_)*/0
  , /*decltype(_impl_.nulls_ordering_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct IndexElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IndexElemDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~IndexElemDefaultTypeInternal() {}
  union {
    IndexElem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IndexElemDefaultTypeInternal _IndexElem_default_instance_;
PROTOBUF_CONSTEXPR StatsElem::StatsElem(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.expr_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct StatsElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR StatsElemDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~StatsElemDefaultTypeInternal() {}
  union {
    StatsElem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StatsElemDefaultTypeInternal _StatsElem_default_instance_;
PROTOBUF_CONSTEXPR Constraint::Constraint(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.keys_)*/{}
  , /*decltype(_impl_.including_)*/{}
  , /*decltype(_impl_.exclusions_)*/{}
  , /*decltype(_impl_.options_)*/{}
  , /*decltype(_impl_.fk_attrs_)*/{}
  , /*decltype(_impl_.pk_attrs_)*/{}
  , /*decltype(_impl_.fk_del_set_cols_)*/{}
  , /*decltype(_impl_.old_conpfeqop_)*/{}
  , /*decltype(_impl_.conname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.cooked_expr_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.generated_when_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.indexname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.indexspace_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.access_method_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.fk_matchtype_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.fk_upd_action_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.fk_del_action_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.raw_expr_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.pktable_)*/nullptr
  , /*decltype(_impl_.contype_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_.deferrable_)*/false
  , /*decltype(_impl_.initdeferred_)*/false
  , /*decltype(_impl_.is_no_inherit_)*/false
  , /*decltype(_impl_.nulls_not_distinct_)*/false
  , /*decltype(_impl_.reset_default_tblspc_)*/false
  , /*decltype(_impl_.skip_validation_)*/false
  , /*decltype(_impl_.initially_valid_)*/false
  , /*decltype(_impl_.old_pktable_oid_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ConstraintDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ConstraintDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ConstraintDefaultTypeInternal() {}
  union {
    Constraint _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintDefaultTypeInternal _Constraint_default_instance_;
PROTOBUF_CONSTEXPR DefElem::DefElem(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.defnamespace_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.defname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.arg_)*/nullptr
  , /*decltype(_impl_.defaction_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DefElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DefElemDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DefElemDefaultTypeInternal() {}
  union {
    DefElem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DefElemDefaultTypeInternal _DefElem_default_instance_;
PROTOBUF_CONSTEXPR RangeTblEntry::RangeTblEntry(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.joinaliasvars_)*/{}
  , /*decltype(_impl_.joinleftcols_)*/{}
  , /*decltype(_impl_.joinrightcols_)*/{}
  , /*decltype(_impl_.functions_)*/{}
  , /*decltype(_impl_.values_lists_)*/{}
  , /*decltype(_impl_.coltypes_)*/{}
  , /*decltype(_impl_.coltypmods_)*/{}
  , /*decltype(_impl_.colcollations_)*/{}
  , /*decltype(_impl_.selected_cols_)*/{}
  , /*decltype(_impl_._selected_cols_cached_byte_size_)*/{0}
  , /*decltype(_impl_.inserted_cols_)*/{}
  , /*decltype(_impl_._inserted_cols_cached_byte_size_)*/{0}
  , /*decltype(_impl_.updated_cols_)*/{}
  , /*decltype(_impl_._updated_cols_cached_byte_size_)*/{0}
  , /*decltype(_impl_.extra_updated_cols_)*/{}
  , /*decltype(_impl_._extra_updated_cols_cached_byte_size_)*/{0}
  , /*decltype(_impl_.security_quals_)*/{}
  , /*decltype(_impl_.relkind_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.ctename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.enrname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.tablesample_)*/nullptr
  , /*decltype(_impl_.subquery_)*/nullptr
  , /*decltype(_impl_.join_using_alias_)*/nullptr
  , /*decltype(_impl_.tablefunc_)*/nullptr
  , /*decltype(_impl_.alias_)*/nullptr
  , /*decltype(_impl_.eref_)*/nullptr
  , /*decltype(_impl_.rtekind_)*/0
  , /*decltype(_impl_.relid_)*/0u
  , /*decltype(_impl_.rellockmode_)*/0
  , /*decltype(_impl_.jointype_)*/0
  , /*decltype(_impl_.joinmergedcols_)*/0
  , /*decltype(_impl_.security_barrier_)*/false
  , /*decltype(_impl_.funcordinality_)*/false
  , /*decltype(_impl_.self_reference_)*/false
  , /*decltype(_impl_.lateral_)*/false
  , /*decltype(_impl_.enrtuples_)*/0
  , /*decltype(_impl_.ctelevelsup_)*/0u
  , /*decltype(_impl_.inh_)*/false
  , /*decltype(_impl_.in_from_cl_)*/false
  , /*decltype(_impl_.required_perms_)*/0u
  , /*decltype(_impl_.check_as_user_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeTblEntryDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTblEntryDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTblEntryDefaultTypeInternal() {}
  union {
    RangeTblEntry _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTblEntryDefaultTypeInternal _RangeTblEntry_default_instance_;
PROTOBUF_CONSTEXPR RangeTblFunction::RangeTblFunction(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.funccolnames_)*/{}
  , /*decltype(_impl_.funccoltypes_)*/{}
  , /*decltype(_impl_.funccoltypmods_)*/{}
  , /*decltype(_impl_.funccolcollations_)*/{}
  , /*decltype(_impl_.funcparams_)*/{}
  , /*decltype(_impl_._funcparams_cached_byte_size_)*/{0}
  , /*decltype(_impl_.funcexpr_)*/nullptr
  , /*decltype(_impl_.funccolcount_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RangeTblFunctionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTblFunctionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTblFunctionDefaultTypeInternal() {}
  union {
    RangeTblFunction _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTblFunctionDefaultTypeInternal _RangeTblFunction_default_instance_;
PROTOBUF_CONSTEXPR TableSampleClause::TableSampleClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.args_)*/{}
  , /*decltype(_impl_.repeatable_)*/nullptr
  , /*decltype(_impl_.tsmhandler_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TableSampleClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TableSampleClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TableSampleClauseDefaultTypeInternal() {}
  union {
    TableSampleClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableSampleClauseDefaultTypeInternal _TableSampleClause_default_instance_;
PROTOBUF_CONSTEXPR WithCheckOption::WithCheckOption(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.relname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.polname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.qual_)*/nullptr
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.cascaded_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct WithCheckOptionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WithCheckOptionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~WithCheckOptionDefaultTypeInternal() {}
  union {
    WithCheckOption _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WithCheckOptionDefaultTypeInternal _WithCheckOption_default_instance_;
PROTOBUF_CONSTEXPR SortGroupClause::SortGroupClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.tle_sort_group_ref_)*/0u
  , /*decltype(_impl_.eqop_)*/0u
  , /*decltype(_impl_.sortop_)*/0u
  , /*decltype(_impl_.nulls_first_)*/false
  , /*decltype(_impl_.hashable_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct SortGroupClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SortGroupClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~SortGroupClauseDefaultTypeInternal() {}
  union {
    SortGroupClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SortGroupClauseDefaultTypeInternal _SortGroupClause_default_instance_;
PROTOBUF_CONSTEXPR GroupingSet::GroupingSet(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.content_)*/{}
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GroupingSetDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GroupingSetDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~GroupingSetDefaultTypeInternal() {}
  union {
    GroupingSet _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GroupingSetDefaultTypeInternal _GroupingSet_default_instance_;
PROTOBUF_CONSTEXPR WindowClause::WindowClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.partition_clause_)*/{}
  , /*decltype(_impl_.order_clause_)*/{}
  , /*decltype(_impl_.run_condition_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.refname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.start_offset_)*/nullptr
  , /*decltype(_impl_.end_offset_)*/nullptr
  , /*decltype(_impl_.frame_options_)*/0
  , /*decltype(_impl_.start_in_range_func_)*/0u
  , /*decltype(_impl_.end_in_range_func_)*/0u
  , /*decltype(_impl_.in_range_coll_)*/0u
  , /*decltype(_impl_.in_range_asc_)*/false
  , /*decltype(_impl_.in_range_nulls_first_)*/false
  , /*decltype(_impl_.copied_order_)*/false
  , /*decltype(_impl_.winref_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct WindowClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WindowClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~WindowClauseDefaultTypeInternal() {}
  union {
    WindowClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WindowClauseDefaultTypeInternal _WindowClause_default_instance_;
PROTOBUF_CONSTEXPR ObjectWithArgs::ObjectWithArgs(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.objname_)*/{}
  , /*decltype(_impl_.objargs_)*/{}
  , /*decltype(_impl_.objfuncargs_)*/{}
  , /*decltype(_impl_.args_unspecified_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ObjectWithArgsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ObjectWithArgsDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ObjectWithArgsDefaultTypeInternal() {}
  union {
    ObjectWithArgs _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ObjectWithArgsDefaultTypeInternal _ObjectWithArgs_default_instance_;
PROTOBUF_CONSTEXPR AccessPriv::AccessPriv(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.cols_)*/{}
  , /*decltype(_impl_.priv_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct AccessPrivDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AccessPrivDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AccessPrivDefaultTypeInternal() {}
  union {
    AccessPriv _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AccessPrivDefaultTypeInternal _AccessPriv_default_instance_;
PROTOBUF_CONSTEXPR CreateOpClassItem::CreateOpClassItem(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.order_family_)*/{}
  , /*decltype(_impl_.class_args_)*/{}
  , /*decltype(_impl_.name_)*/nullptr
  , /*decltype(_impl_.storedtype_)*/nullptr
  , /*decltype(_impl_.itemtype_)*/0
  , /*decltype(_impl_.number_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CreateOpClassItemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateOpClassItemDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateOpClassItemDefaultTypeInternal() {}
  union {
    CreateOpClassItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateOpClassItemDefaultTypeInternal _CreateOpClassItem_default_instance_;
PROTOBUF_CONSTEXPR TableLikeClause::TableLikeClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.options_)*/0u
  , /*decltype(_impl_.relation_oid_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TableLikeClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TableLikeClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TableLikeClauseDefaultTypeInternal() {}
  union {
    TableLikeClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableLikeClauseDefaultTypeInternal _TableLikeClause_default_instance_;
PROTOBUF_CONSTEXPR FunctionParameter::FunctionParameter(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.arg_type_)*/nullptr
  , /*decltype(_impl_.defexpr_)*/nullptr
  , /*decltype(_impl_.mode_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct FunctionParameterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FunctionParameterDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FunctionParameterDefaultTypeInternal() {}
  union {
    FunctionParameter _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FunctionParameterDefaultTypeInternal _FunctionParameter_default_instance_;
PROTOBUF_CONSTEXPR LockingClause::LockingClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.locked_rels_)*/{}
  , /*decltype(_impl_.strength_)*/0
  , /*decltype(_impl_.wait_policy_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct LockingClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LockingClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~LockingClauseDefaultTypeInternal() {}
  union {
    LockingClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LockingClauseDefaultTypeInternal _LockingClause_default_instance_;
PROTOBUF_CONSTEXPR RowMarkClause::RowMarkClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.rti_)*/0u
  , /*decltype(_impl_.strength_)*/0
  , /*decltype(_impl_.wait_policy_)*/0
  , /*decltype(_impl_.pushed_down_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RowMarkClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RowMarkClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RowMarkClauseDefaultTypeInternal() {}
  union {
    RowMarkClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowMarkClauseDefaultTypeInternal _RowMarkClause_default_instance_;
PROTOBUF_CONSTEXPR XmlSerialize::XmlSerialize(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.expr_)*/nullptr
  , /*decltype(_impl_.type_name_)*/nullptr
  , /*decltype(_impl_.xmloption_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct XmlSerializeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR XmlSerializeDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~XmlSerializeDefaultTypeInternal() {}
  union {
    XmlSerialize _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 XmlSerializeDefaultTypeInternal _XmlSerialize_default_instance_;
PROTOBUF_CONSTEXPR WithClause::WithClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.ctes_)*/{}
  , /*decltype(_impl_.recursive_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct WithClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WithClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~WithClauseDefaultTypeInternal() {}
  union {
    WithClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WithClauseDefaultTypeInternal _WithClause_default_instance_;
PROTOBUF_CONSTEXPR InferClause::InferClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.index_elems_)*/{}
  , /*decltype(_impl_.conname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct InferClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InferClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~InferClauseDefaultTypeInternal() {}
  union {
    InferClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InferClauseDefaultTypeInternal _InferClause_default_instance_;
PROTOBUF_CONSTEXPR OnConflictClause::OnConflictClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.target_list_)*/{}
  , /*decltype(_impl_.infer_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_.action_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct OnConflictClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OnConflictClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~OnConflictClauseDefaultTypeInternal() {}
  union {
    OnConflictClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OnConflictClauseDefaultTypeInternal _OnConflictClause_default_instance_;
PROTOBUF_CONSTEXPR CTESearchClause::CTESearchClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.search_col_list_)*/{}
  , /*decltype(_impl_.search_seq_column_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.search_breadth_first_)*/false
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CTESearchClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CTESearchClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CTESearchClauseDefaultTypeInternal() {}
  union {
    CTESearchClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CTESearchClauseDefaultTypeInternal _CTESearchClause_default_instance_;
PROTOBUF_CONSTEXPR CTECycleClause::CTECycleClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.cycle_col_list_)*/{}
  , /*decltype(_impl_.cycle_mark_column_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.cycle_path_column_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.cycle_mark_value_)*/nullptr
  , /*decltype(_impl_.cycle_mark_default_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_.cycle_mark_type_)*/0u
  , /*decltype(_impl_.cycle_mark_typmod_)*/0
  , /*decltype(_impl_.cycle_mark_collation_)*/0u
  , /*decltype(_impl_.cycle_mark_neop_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CTECycleClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CTECycleClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CTECycleClauseDefaultTypeInternal() {}
  union {
    CTECycleClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CTECycleClauseDefaultTypeInternal _CTECycleClause_default_instance_;
PROTOBUF_CONSTEXPR CommonTableExpr::CommonTableExpr(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.aliascolnames_)*/{}
  , /*decltype(_impl_.ctecolnames_)*/{}
  , /*decltype(_impl_.ctecoltypes_)*/{}
  , /*decltype(_impl_.ctecoltypmods_)*/{}
  , /*decltype(_impl_.ctecolcollations_)*/{}
  , /*decltype(_impl_.ctename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.ctequery_)*/nullptr
  , /*decltype(_impl_.search_clause_)*/nullptr
  , /*decltype(_impl_.cycle_clause_)*/nullptr
  , /*decltype(_impl_.ctematerialized_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_.cterecursive_)*/false
  , /*decltype(_impl_.cterefcount_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CommonTableExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CommonTableExprDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CommonTableExprDefaultTypeInternal() {}
  union {
    CommonTableExpr _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CommonTableExprDefaultTypeInternal _CommonTableExpr_default_instance_;
PROTOBUF_CONSTEXPR MergeWhenClause::MergeWhenClause(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.target_list_)*/{}
  , /*decltype(_impl_.values_)*/{}
  , /*decltype(_impl_.condition_)*/nullptr
  , /*decltype(_impl_.matched_)*/false
  , /*decltype(_impl_.command_type_)*/0
  , /*decltype(_impl_.override_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct MergeWhenClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MergeWhenClauseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~MergeWhenClauseDefaultTypeInternal() {}
  union {
    MergeWhenClause _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MergeWhenClauseDefaultTypeInternal _MergeWhenClause_default_instance_;
PROTOBUF_CONSTEXPR RoleSpec::RoleSpec(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.rolename_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.roletype_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RoleSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RoleSpecDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RoleSpecDefaultTypeInternal() {}
  union {
    RoleSpec _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoleSpecDefaultTypeInternal _RoleSpec_default_instance_;
PROTOBUF_CONSTEXPR TriggerTransition::TriggerTransition(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.is_new_)*/false
  , /*decltype(_impl_.is_table_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TriggerTransitionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TriggerTransitionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TriggerTransitionDefaultTypeInternal() {}
  union {
    TriggerTransition _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerTransitionDefaultTypeInternal _TriggerTransition_default_instance_;
PROTOBUF_CONSTEXPR PartitionElem::PartitionElem(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.collation_)*/{}
  , /*decltype(_impl_.opclass_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.expr_)*/nullptr
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PartitionElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionElemDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionElemDefaultTypeInternal() {}
  union {
    PartitionElem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionElemDefaultTypeInternal _PartitionElem_default_instance_;
PROTOBUF_CONSTEXPR PartitionSpec::PartitionSpec(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.part_params_)*/{}
  , /*decltype(_impl_.strategy_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PartitionSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionSpecDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionSpecDefaultTypeInternal() {}
  union {
    PartitionSpec _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionSpecDefaultTypeInternal _PartitionSpec_default_instance_;
PROTOBUF_CONSTEXPR PartitionBoundSpec::PartitionBoundSpec(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.listdatums_)*/{}
  , /*decltype(_impl_.lowerdatums_)*/{}
  , /*decltype(_impl_.upperdatums_)*/{}
  , /*decltype(_impl_.strategy_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.is_default_)*/false
  , /*decltype(_impl_.modulus_)*/0
  , /*decltype(_impl_.remainder_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PartitionBoundSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionBoundSpecDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionBoundSpecDefaultTypeInternal() {}
  union {
    PartitionBoundSpec _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionBoundSpecDefaultTypeInternal _PartitionBoundSpec_default_instance_;
PROTOBUF_CONSTEXPR PartitionRangeDatum::PartitionRangeDatum(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.value_)*/nullptr
  , /*decltype(_impl_.kind_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PartitionRangeDatumDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionRangeDatumDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionRangeDatumDefaultTypeInternal() {}
  union {
    PartitionRangeDatum _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionRangeDatumDefaultTypeInternal _PartitionRangeDatum_default_instance_;
PROTOBUF_CONSTEXPR PartitionCmd::PartitionCmd(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/nullptr
  , /*decltype(_impl_.bound_)*/nullptr
  , /*decltype(_impl_.concurrent_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PartitionCmdDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionCmdDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionCmdDefaultTypeInternal() {}
  union {
    PartitionCmd _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionCmdDefaultTypeInternal _PartitionCmd_default_instance_;
PROTOBUF_CONSTEXPR VacuumRelation::VacuumRelation(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.va_cols_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.oid_)*/0u
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct VacuumRelationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VacuumRelationDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~VacuumRelationDefaultTypeInternal() {}
  union {
    VacuumRelation _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VacuumRelationDefaultTypeInternal _VacuumRelation_default_instance_;
PROTOBUF_CONSTEXPR PublicationObjSpec::PublicationObjSpec(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.pubtable_)*/nullptr
  , /*decltype(_impl_.pubobjtype_)*/0
  , /*decltype(_impl_.location_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PublicationObjSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PublicationObjSpecDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PublicationObjSpecDefaultTypeInternal() {}
  union {
    PublicationObjSpec _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PublicationObjSpecDefaultTypeInternal _PublicationObjSpec_default_instance_;
PROTOBUF_CONSTEXPR PublicationTable::PublicationTable(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.columns_)*/{}
  , /*decltype(_impl_.relation_)*/nullptr
  , /*decltype(_impl_.where_clause_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PublicationTableDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PublicationTableDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PublicationTableDefaultTypeInternal() {}
  union {
    PublicationTable _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PublicationTableDefaultTypeInternal _PublicationTable_default_instance_;
PROTOBUF_CONSTEXPR InlineCodeBlock::InlineCodeBlock(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.source_text_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.lang_oid_)*/0u
  , /*decltype(_impl_.lang_is_trusted_)*/false
  , /*decltype(_impl_.atomic_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct InlineCodeBlockDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InlineCodeBlockDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~InlineCodeBlockDefaultTypeInternal() {}
  union {
    InlineCodeBlock _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InlineCodeBlockDefaultTypeInternal _InlineCodeBlock_default_instance_;
PROTOBUF_CONSTEXPR CallContext::CallContext(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.atomic_)*/false
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CallContextDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CallContextDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CallContextDefaultTypeInternal() {}
  union {
    CallContext _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CallContextDefaultTypeInternal _CallContext_default_instance_;
PROTOBUF_CONSTEXPR ScanToken::ScanToken(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.start_)*/0
  , /*decltype(_impl_.end_)*/0
  , /*decltype(_impl_.token_)*/0
  , /*decltype(_impl_.keyword_kind_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ScanTokenDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ScanTokenDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ScanTokenDefaultTypeInternal() {}
  union {
    ScanToken _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ScanTokenDefaultTypeInternal _ScanToken_default_instance_;
}  // namespace pg_query
static ::_pb::Metadata file_level_metadata_protobuf_2fpg_5fquery_2eproto[242];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[59];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_protobuf_2fpg_5fquery_2eproto = nullptr;

const uint32_t 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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, _impl_.tokens_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Node, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::pg_query::Node, _impl_._oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  PROTOBUF_FIELD_OFFSET(::pg_query::Node, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Integer, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Float, _impl_.fval_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Boolean, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Boolean, _impl_.boolval_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::String, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::String, _impl_.sval_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::BitString, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::BitString, _impl_.bsval_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::List, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::List, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::OidList, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::IntList, _impl_.items_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_._oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  ::_pbi::kInvalidFieldOffsetTag,
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_.isnull_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_.location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_.val_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Alias, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Alias, _impl_.aliasname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Alias, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.catalogname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.schemaname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.relname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.inh_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.relpersistence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.ns_uris_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.ns_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.docexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.rowexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.colnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.coltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.coltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.colcollations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.colexprs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.coldefexprs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.notnulls_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.ordinalitycol_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varattno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.vartype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.vartypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varlevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varnosyn_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varattnosyn_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramtypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggfnoid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggtranstype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggargtypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggdirectargs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggorder_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggdistinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggfilter_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggstar_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggvariadic_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.agglevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggsplit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggtransno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.refs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.agglevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winfnoid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.wintype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.wincollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.aggfilter_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winstar_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winagg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refcontainertype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refelemtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refrestype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.reftypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refupperindexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.reflowerindexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcvariadic_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funccollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.argnumber_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opresulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opretset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.opno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.opfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.hashfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.negfuncid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.use_or_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.boolop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.sub_link_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.sub_link_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.testexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.oper_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.subselect_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.sub_link_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.testexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.param_ids_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.plan_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.plan_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.first_col_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.first_col_typmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.first_col_collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.use_hash_table_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.unknown_eq_false_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.parallel_safe_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.set_param_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.par_param_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.startup_cost_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.fieldnum_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.newvals_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.fieldnums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.relabelformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.coerceformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.elemexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.coerceformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.convertformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.coll_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.casetype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.casecollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.defresult_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.result_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.type_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.type_mod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.array_typeid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.array_collid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.element_typeid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.elements_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.multidims_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.row_typeid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.row_format_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.colnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.rctype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.opnos_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.opfamilies_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.inputcollids_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.largs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.coalescetype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.coalescecollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.minmaxtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.minmaxcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.inputcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.typmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.named_args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.arg_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.xmloption_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.typmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.nulltesttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.argisrow_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.booltesttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.resulttype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.resulttypmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.resultcollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.coercionformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.type_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.type_mod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.type_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.type_mod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.cvarno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.cursor_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _impl_.seqid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.infercollid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.xpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.ressortgroupref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resorigtbl_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resorigcol_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblRef, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.jointype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.is_natural_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.larg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.rarg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.using_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.join_using_alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.quals_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, _impl_.fromlist_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.arbiter_elems_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.arbiter_where_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.constraint_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.on_conflict_set_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.on_conflict_where_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.excl_rel_index_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.rel_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.col_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.on_commit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.table_space_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.view_query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.skip_data_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.matched_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.command_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.override_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.update_colnos_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _impl_.stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _impl_.stmt_location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.command_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.query_source_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.can_set_tag_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.utility_stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.result_relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_aggs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_window_funcs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_target_srfs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_sub_links_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_distinct_on_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_recursive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_modifying_cte_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_for_update_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_row_security_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.is_return_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.cte_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.rtable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.jointree_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.merge_action_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.merge_use_outer_join_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.override_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.on_conflict_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.group_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.group_distinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.grouping_sets_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.having_qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.window_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.distinct_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.sort_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.limit_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.limit_count_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.limit_option_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.row_marks_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.set_operations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.constraint_deps_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.with_check_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.stmt_location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.select_stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.on_conflict_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.with_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.using_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.from_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.returning_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.with_clause_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.source_relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.join_condition_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.merge_when_clauses_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.distinct_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.into_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.from_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.group_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.group_distinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.having_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.window_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.values_lists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.sort_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.limit_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.limit_count_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.limit_option_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.locking_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.with_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.all_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.larg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.rarg_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReturnStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReturnStmt, _impl_.returnval_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.indirection_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.nnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.cmds_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.subtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.num_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.newowner_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.def_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.missing_ok_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.recurse_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.subtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.def_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.all_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.larg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.rarg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.col_types_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.col_typmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.col_collations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.is_grant_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.targtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.objects_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.privileges_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.grantees_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.grant_option_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.grantor_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.granted_roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.grantee_roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.is_grant_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.admin_opt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.grantor_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ClosePortalStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _impl_.indexname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _impl_.params_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.attlist_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.is_from_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.is_program_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.filename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.table_elts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.inh_relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.partbound_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.partspec_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.of_typename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.constraints_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.oncommit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.oldstyle_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.defnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.definition_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.objects_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.remove_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.missing_ok_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _impl_.relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _impl_.restart_seqs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _impl_.object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.direction_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.how_many_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.portalname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.idxname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.table_space_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.index_params_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.index_including_params_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.exclude_op_names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.idxcomment_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.index_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.old_node_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.old_create_subid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.old_first_relfilenode_subid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.unique_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.nulls_not_distinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.primary_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.isconstraint_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.deferrable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.initdeferred_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.transformed_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.concurrent_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.is_procedure_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.funcname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.parameters_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.return_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.sql_body_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _impl_.func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DoStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.rename_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.relation_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.newname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.behavior_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.rulename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.event_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.instead_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.actions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, _impl_.conditionname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ListenStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::UnlistenStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.savepoint_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.gid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.view_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.aliases_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::LoadStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.domainname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.coll_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, _impl_.dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _impl_.dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _impl_.missing_ok_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _impl_.rels_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, _impl_.query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.query_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.into_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.is_select_into_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.sequence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.owner_id_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.for_identity_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.sequence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.for_identity_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::VariableShowStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DiscardStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.isconstraint_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.trigname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.funcname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.row_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.timing_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.events_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.columns_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.when_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.transition_rels_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.deferrable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.initdeferred_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plhandler_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plinline_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plvalidator_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _impl_.stmt_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _impl_.role_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _impl_.role_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, _impl_.roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _impl_.relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _impl_.mode_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, _impl_.constraints_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.params_),
  ~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 _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.schemaname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.authrole_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.schema_elts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, _impl_.dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, _impl_.options_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseRefreshCollStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseRefreshCollStmt, _impl_.dbname_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _impl_.dbname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _impl_.role_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _impl_.database_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.conversion_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.for_encoding_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.to_encoding_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.func_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.sourcetype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.targettype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.context_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.opclassname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.opfamilyname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.amname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.datatype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.items_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, _impl_.opfamilyname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.opfamilyname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.amname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.is_drop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _impl_.argtypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeallocateStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _impl_.portalname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.owner_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, _impl_.tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.object_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.object_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.newschema_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.object_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, _impl_.opername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, _impl_.roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, _impl_.roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, _impl_.typevar_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.old_val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.new_val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.new_val_neighbor_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.new_val_is_after_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, _impl_.dictname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.cfgname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.tokentype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.dicts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.override_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _impl_.fdwname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _impl_.func_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _impl_.fdwname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _impl_.func_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.servertype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.fdwname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _impl_.user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _impl_.servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _impl_.user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _impl_.servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _impl_.tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.orig_tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.new_tablespacename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.object_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.provider_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _impl_.base_stmt_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _impl_.servername_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.server_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.remote_schema_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.local_schema_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.list_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.table_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _impl_.extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _impl_.if_not_exists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, _impl_.extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.extname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.objtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.trigname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.eventname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.whenclause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, _impl_.trigname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _impl_.concurrent_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _impl_.skip_data_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, _impl_.identity_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSystemStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.policy_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.table_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.cmd_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.permissive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.policy_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.table_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.roles_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.replace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.lang_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.fromsql_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _impl_.amname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _impl_.handler_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.pubname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.pubobjects_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.pubname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.pubobjects_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.for_all_tables_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.conninfo_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.publication_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.conninfo_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.publication_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _impl_.subname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _impl_.missing_ok_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.defnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.stat_types_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.exprs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.relations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.stxcomment_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.transformed_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterCollationStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _impl_.funccall_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _impl_.funcexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _impl_.outargs_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _impl_.defnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _impl_.stxstattarget_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.lexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.rexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, _impl_.fields_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, _impl_.number_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.funcname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_order_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_filter_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.over_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_within_group_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_star_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_distinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.func_variadic_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.funcformat_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.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 _inlined_string_donated_
  ~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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _impl_.is_slice_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _impl_.lidx_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, _impl_.elements_),
  PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.indirection_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.val_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _impl_.source_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _impl_.colno_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _impl_.collname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.node_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.sortby_dir_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.sortby_nulls_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.use_op_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.refname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.partition_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.order_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.frame_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.start_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.end_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _impl_.lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _impl_.subquery_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.ordinality_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.is_rowsfrom_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.functions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.repeatable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.docexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.rowexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.namespaces_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.columns_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.colname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.for_ordinality_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.is_not_null_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.colexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.coldefexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.names_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.type_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.setof_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.pct_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.typmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.typemod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.array_bounds_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.colname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.compression_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.inhcount_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.is_local_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.is_not_null_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.is_from_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.storage_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.raw_default_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.cooked_default_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.identity_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.identity_sequence_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.generated_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.coll_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.coll_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.constraints_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.fdwoptions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.indexcolname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.opclass_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.opclassopts_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.ordering_),
  PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.nulls_ordering_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::StatsElem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::StatsElem, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::StatsElem, _impl_.expr_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.contype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.conname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.deferrable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.initdeferred_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.is_no_inherit_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.raw_expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.cooked_expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.generated_when_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.nulls_not_distinct_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.keys_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.including_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.exclusions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.indexname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.indexspace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.reset_default_tblspc_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.access_method_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.pktable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_attrs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.pk_attrs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_matchtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_upd_action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_del_action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_del_set_cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.old_conpfeqop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.old_pktable_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.skip_validation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.defnamespace_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.defname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.arg_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.defaction_),
  PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.rtekind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.relid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.relkind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.rellockmode_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.tablesample_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.subquery_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.security_barrier_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.jointype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinmergedcols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinaliasvars_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinleftcols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinrightcols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.join_using_alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.functions_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.funcordinality_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.tablefunc_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.values_lists_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.ctename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.ctelevelsup_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.self_reference_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.coltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.coltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.colcollations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.enrname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.enrtuples_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.alias_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.eref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.lateral_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.inh_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.in_from_cl_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.required_perms_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.check_as_user_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.selected_cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.inserted_cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.updated_cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.extra_updated_cols_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funcexpr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccolcount_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccolnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccoltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccoltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccolcollations_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funcparams_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _impl_.tsmhandler_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _impl_.args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.relname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.polname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.qual_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.tle_sort_group_ref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.eqop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.sortop_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.nulls_first_),
  PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _impl_.content_),
  PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.refname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.partition_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.order_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.frame_options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.start_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.end_offset_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.run_condition_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.start_in_range_func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.end_in_range_func_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.in_range_coll_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.in_range_asc_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.in_range_nulls_first_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.winref_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.objname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.objargs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.objfuncargs_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, _impl_.priv_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.itemtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.number_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.order_family_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.class_args_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _impl_.options_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _impl_.relation_oid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.arg_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.mode_),
  PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _impl_.locked_rels_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _impl_.strength_),
  PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.rti_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.strength_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.wait_policy_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.xmloption_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.type_name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _impl_.ctes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _impl_.recursive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.index_elems_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.conname_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.action_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.infer_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.search_col_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.search_breadth_first_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.search_seq_column_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_col_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_column_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_value_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_default_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_path_column_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_typmod_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_neop_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.aliascolnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctematerialized_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctequery_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.search_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.cycle_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.location_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.cterecursive_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.cterefcount_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecolnames_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecoltypes_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecoltypmods_),
  PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecolcollations_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.matched_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.command_type_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.override_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.condition_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.target_list_),
  PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.values_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _impl_.roletype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _impl_.rolename_),
  PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _impl_.is_new_),
  PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.expr_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.collation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.opclass_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _impl_.strategy_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _impl_.part_params_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.strategy_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.is_default_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.modulus_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.remainder_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.listdatums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.lowerdatums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.upperdatums_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _impl_.kind_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _impl_.value_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _impl_.bound_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _impl_.concurrent_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _impl_.oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _impl_.va_cols_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.pubobjtype_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.pubtable_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.location_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _impl_.relation_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _impl_.where_clause_),
  PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _impl_.columns_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.source_text_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.lang_oid_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.lang_is_trusted_),
  PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::CallContext, _impl_.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_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.start_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.end_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.token_),
  PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.keyword_kind_),
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::pg_query::ParseResult)},
  { 8, -1, -1, sizeof(::pg_query::ScanResult)},
  { 16, -1, -1, sizeof(::pg_query::Node)},
  { 261, -1, -1, sizeof(::pg_query::Integer)},
  { 268, -1, -1, sizeof(::pg_query::Float)},
  { 275, -1, -1, sizeof(::pg_query::Boolean)},
  { 282, -1, -1, sizeof(::pg_query::String)},
  { 289, -1, -1, sizeof(::pg_query::BitString)},
  { 296, -1, -1, sizeof(::pg_query::List)},
  { 303, -1, -1, sizeof(::pg_query::OidList)},
  { 310, -1, -1, sizeof(::pg_query::IntList)},
  { 317, -1, -1, sizeof(::pg_query::A_Const)},
  { 331, -1, -1, sizeof(::pg_query::Alias)},
  { 339, -1, -1, sizeof(::pg_query::RangeVar)},
  { 352, -1, -1, sizeof(::pg_query::TableFunc)},
  { 371, -1, -1, sizeof(::pg_query::Var)},
  { 387, -1, -1, sizeof(::pg_query::Param)},
  { 400, -1, -1, sizeof(::pg_query::Aggref)},
  { 426, -1, -1, sizeof(::pg_query::GroupingFunc)},
  { 438, -1, -1, sizeof(::pg_query::WindowFunc)},
  { 455, -1, -1, sizeof(::pg_query::SubscriptingRef)},
  { 471, -1, -1, sizeof(::pg_query::FuncExpr)},
  { 487, -1, -1, sizeof(::pg_query::NamedArgExpr)},
  { 498, -1, -1, sizeof(::pg_query::OpExpr)},
  { 513, -1, -1, sizeof(::pg_query::DistinctExpr)},
  { 528, -1, -1, sizeof(::pg_query::NullIfExpr)},
  { 543, -1, -1, sizeof(::pg_query::ScalarArrayOpExpr)},
  { 558, -1, -1, sizeof(::pg_query::BoolExpr)},
  { 568, -1, -1, sizeof(::pg_query::SubLink)},
  { 581, -1, -1, sizeof(::pg_query::SubPlan)},
  { 604, -1, -1, sizeof(::pg_query::AlternativeSubPlan)},
  { 612, -1, -1, sizeof(::pg_query::FieldSelect)},
  { 624, -1, -1, sizeof(::pg_query::FieldStore)},
  { 635, -1, -1, sizeof(::pg_query::RelabelType)},
  { 648, -1, -1, sizeof(::pg_query::CoerceViaIO)},
  { 660, -1, -1, sizeof(::pg_query::ArrayCoerceExpr)},
  { 674, -1, -1, sizeof(::pg_query::ConvertRowtypeExpr)},
  { 685, -1, -1, sizeof(::pg_query::CollateExpr)},
  { 695, -1, -1, sizeof(::pg_query::CaseExpr)},
  { 708, -1, -1, sizeof(::pg_query::CaseWhen)},
  { 718, -1, -1, sizeof(::pg_query::CaseTestExpr)},
  { 728, -1, -1, sizeof(::pg_query::ArrayExpr)},
  { 741, -1, -1, sizeof(::pg_query::RowExpr)},
  { 753, -1, -1, sizeof(::pg_query::RowCompareExpr)},
  { 766, -1, -1, sizeof(::pg_query::CoalesceExpr)},
  { 777, -1, -1, sizeof(::pg_query::MinMaxExpr)},
  { 790, -1, -1, sizeof(::pg_query::SQLValueFunction)},
  { 801, -1, -1, sizeof(::pg_query::XmlExpr)},
  { 817, -1, -1, sizeof(::pg_query::NullTest)},
  { 828, -1, -1, sizeof(::pg_query::BooleanTest)},
  { 838, -1, -1, sizeof(::pg_query::CoerceToDomain)},
  { 851, -1, -1, sizeof(::pg_query::CoerceToDomainValue)},
  { 862, -1, -1, sizeof(::pg_query::SetToDefault)},
  { 873, -1, -1, sizeof(::pg_query::CurrentOfExpr)},
  { 883, -1, -1, sizeof(::pg_query::NextValueExpr)},
  { 892, -1, -1, sizeof(::pg_query::InferenceElem)},
  { 902, -1, -1, sizeof(::pg_query::TargetEntry)},
  { 916, -1, -1, sizeof(::pg_query::RangeTblRef)},
  { 923, -1, -1, sizeof(::pg_query::JoinExpr)},
  { 938, -1, -1, sizeof(::pg_query::FromExpr)},
  { 946, -1, -1, sizeof(::pg_query::OnConflictExpr)},
  { 960, -1, -1, sizeof(::pg_query::IntoClause)},
  { 974, -1, -1, sizeof(::pg_query::MergeAction)},
  { 986, -1, -1, sizeof(::pg_query::RawStmt)},
  { 995, -1, -1, sizeof(::pg_query::Query)},
  { 1041, -1, -1, sizeof(::pg_query::InsertStmt)},
  { 1054, -1, -1, sizeof(::pg_query::DeleteStmt)},
  { 1065, -1, -1, sizeof(::pg_query::UpdateStmt)},
  { 1077, -1, -1, sizeof(::pg_query::MergeStmt)},
  { 1088, -1, -1, sizeof(::pg_query::SelectStmt)},
  { 1114, -1, -1, sizeof(::pg_query::ReturnStmt)},
  { 1121, -1, -1, sizeof(::pg_query::PLAssignStmt)},
  { 1132, -1, -1, sizeof(::pg_query::AlterTableStmt)},
  { 1142, -1, -1, sizeof(::pg_query::AlterTableCmd)},
  { 1156, -1, -1, sizeof(::pg_query::AlterDomainStmt)},
  { 1168, -1, -1, sizeof(::pg_query::SetOperationStmt)},
  { 1182, -1, -1, sizeof(::pg_query::GrantStmt)},
  { 1197, -1, -1, sizeof(::pg_query::GrantRoleStmt)},
  { 1209, -1, -1, sizeof(::pg_query::AlterDefaultPrivilegesStmt)},
  { 1217, -1, -1, sizeof(::pg_query::ClosePortalStmt)},
  { 1224, -1, -1, sizeof(::pg_query::ClusterStmt)},
  { 1233, -1, -1, sizeof(::pg_query::CopyStmt)},
  { 1247, -1, -1, sizeof(::pg_query::CreateStmt)},
  { 1265, -1, -1, sizeof(::pg_query::DefineStmt)},
  { 1278, -1, -1, sizeof(::pg_query::DropStmt)},
  { 1289, -1, -1, sizeof(::pg_query::TruncateStmt)},
  { 1298, -1, -1, sizeof(::pg_query::CommentStmt)},
  { 1307, -1, -1, sizeof(::pg_query::FetchStmt)},
  { 1317, -1, -1, sizeof(::pg_query::IndexStmt)},
  { 1347, -1, -1, sizeof(::pg_query::CreateFunctionStmt)},
  { 1360, -1, -1, sizeof(::pg_query::AlterFunctionStmt)},
  { 1369, -1, -1, sizeof(::pg_query::DoStmt)},
  { 1376, -1, -1, sizeof(::pg_query::RenameStmt)},
  { 1390, -1, -1, sizeof(::pg_query::RuleStmt)},
  { 1403, -1, -1, sizeof(::pg_query::NotifyStmt)},
  { 1411, -1, -1, sizeof(::pg_query::ListenStmt)},
  { 1418, -1, -1, sizeof(::pg_query::UnlistenStmt)},
  { 1425, -1, -1, sizeof(::pg_query::TransactionStmt)},
  { 1436, -1, -1, sizeof(::pg_query::ViewStmt)},
  { 1448, -1, -1, sizeof(::pg_query::LoadStmt)},
  { 1455, -1, -1, sizeof(::pg_query::CreateDomainStmt)},
  { 1465, -1, -1, sizeof(::pg_query::CreatedbStmt)},
  { 1473, -1, -1, sizeof(::pg_query::DropdbStmt)},
  { 1482, -1, -1, sizeof(::pg_query::VacuumStmt)},
  { 1491, -1, -1, sizeof(::pg_query::ExplainStmt)},
  { 1499, -1, -1, sizeof(::pg_query::CreateTableAsStmt)},
  { 1510, -1, -1, sizeof(::pg_query::CreateSeqStmt)},
  { 1521, -1, -1, sizeof(::pg_query::AlterSeqStmt)},
  { 1531, -1, -1, sizeof(::pg_query::VariableSetStmt)},
  { 1541, -1, -1, sizeof(::pg_query::VariableShowStmt)},
  { 1548, -1, -1, sizeof(::pg_query::DiscardStmt)},
  { 1555, -1, -1, sizeof(::pg_query::CreateTrigStmt)},
  { 1576, -1, -1, sizeof(::pg_query::CreatePLangStmt)},
  { 1588, -1, -1, sizeof(::pg_query::CreateRoleStmt)},
  { 1597, -1, -1, sizeof(::pg_query::AlterRoleStmt)},
  { 1606, -1, -1, sizeof(::pg_query::DropRoleStmt)},
  { 1614, -1, -1, sizeof(::pg_query::LockStmt)},
  { 1623, -1, -1, sizeof(::pg_query::ConstraintsSetStmt)},
  { 1631, -1, -1, sizeof(::pg_query::ReindexStmt)},
  { 1641, -1, -1, sizeof(::pg_query::CheckPointStmt)},
  { 1647, -1, -1, sizeof(::pg_query::CreateSchemaStmt)},
  { 1657, -1, -1, sizeof(::pg_query::AlterDatabaseStmt)},
  { 1665, -1, -1, sizeof(::pg_query::AlterDatabaseRefreshCollStmt)},
  { 1672, -1, -1, sizeof(::pg_query::AlterDatabaseSetStmt)},
  { 1680, -1, -1, sizeof(::pg_query::AlterRoleSetStmt)},
  { 1689, -1, -1, sizeof(::pg_query::CreateConversionStmt)},
  { 1700, -1, -1, sizeof(::pg_query::CreateCastStmt)},
  { 1711, -1, -1, sizeof(::pg_query::CreateOpClassStmt)},
  { 1723, -1, -1, sizeof(::pg_query::CreateOpFamilyStmt)},
  { 1731, -1, -1, sizeof(::pg_query::AlterOpFamilyStmt)},
  { 1741, -1, -1, sizeof(::pg_query::PrepareStmt)},
  { 1750, -1, -1, sizeof(::pg_query::ExecuteStmt)},
  { 1758, -1, -1, sizeof(::pg_query::DeallocateStmt)},
  { 1765, -1, -1, sizeof(::pg_query::DeclareCursorStmt)},
  { 1774, -1, -1, sizeof(::pg_query::CreateTableSpaceStmt)},
  { 1784, -1, -1, sizeof(::pg_query::DropTableSpaceStmt)},
  { 1792, -1, -1, sizeof(::pg_query::AlterObjectDependsStmt)},
  { 1803, -1, -1, sizeof(::pg_query::AlterObjectSchemaStmt)},
  { 1814, -1, -1, sizeof(::pg_query::AlterOwnerStmt)},
  { 1824, -1, -1, sizeof(::pg_query::AlterOperatorStmt)},
  { 1832, -1, -1, sizeof(::pg_query::AlterTypeStmt)},
  { 1840, -1, -1, sizeof(::pg_query::DropOwnedStmt)},
  { 1848, -1, -1, sizeof(::pg_query::ReassignOwnedStmt)},
  { 1856, -1, -1, sizeof(::pg_query::CompositeTypeStmt)},
  { 1864, -1, -1, sizeof(::pg_query::CreateEnumStmt)},
  { 1872, -1, -1, sizeof(::pg_query::CreateRangeStmt)},
  { 1880, -1, -1, sizeof(::pg_query::AlterEnumStmt)},
  { 1892, -1, -1, sizeof(::pg_query::AlterTSDictionaryStmt)},
  { 1900, -1, -1, sizeof(::pg_query::AlterTSConfigurationStmt)},
  { 1913, -1, -1, sizeof(::pg_query::CreateFdwStmt)},
  { 1922, -1, -1, sizeof(::pg_query::AlterFdwStmt)},
  { 1931, -1, -1, sizeof(::pg_query::CreateForeignServerStmt)},
  { 1943, -1, -1, sizeof(::pg_query::AlterForeignServerStmt)},
  { 1953, -1, -1, sizeof(::pg_query::CreateUserMappingStmt)},
  { 1963, -1, -1, sizeof(::pg_query::AlterUserMappingStmt)},
  { 1972, -1, -1, sizeof(::pg_query::DropUserMappingStmt)},
  { 1981, -1, -1, sizeof(::pg_query::AlterTableSpaceOptionsStmt)},
  { 1990, -1, -1, sizeof(::pg_query::AlterTableMoveAllStmt)},
  { 2001, -1, -1, sizeof(::pg_query::SecLabelStmt)},
  { 2011, -1, -1, sizeof(::pg_query::CreateForeignTableStmt)},
  { 2020, -1, -1, sizeof(::pg_query::ImportForeignSchemaStmt)},
  { 2032, -1, -1, sizeof(::pg_query::CreateExtensionStmt)},
  { 2041, -1, -1, sizeof(::pg_query::AlterExtensionStmt)},
  { 2049, -1, -1, sizeof(::pg_query::AlterExtensionContentsStmt)},
  { 2059, -1, -1, sizeof(::pg_query::CreateEventTrigStmt)},
  { 2069, -1, -1, sizeof(::pg_query::AlterEventTrigStmt)},
  { 2077, -1, -1, sizeof(::pg_query::RefreshMatViewStmt)},
  { 2086, -1, -1, sizeof(::pg_query::ReplicaIdentityStmt)},
  { 2094, -1, -1, sizeof(::pg_query::AlterSystemStmt)},
  { 2101, -1, -1, sizeof(::pg_query::CreatePolicyStmt)},
  { 2114, -1, -1, sizeof(::pg_query::AlterPolicyStmt)},
  { 2125, -1, -1, sizeof(::pg_query::CreateTransformStmt)},
  { 2136, -1, -1, sizeof(::pg_query::CreateAmStmt)},
  { 2145, -1, -1, sizeof(::pg_query::CreatePublicationStmt)},
  { 2155, -1, -1, sizeof(::pg_query::AlterPublicationStmt)},
  { 2166, -1, -1, sizeof(::pg_query::CreateSubscriptionStmt)},
  { 2176, -1, -1, sizeof(::pg_query::AlterSubscriptionStmt)},
  { 2187, -1, -1, sizeof(::pg_query::DropSubscriptionStmt)},
  { 2196, -1, -1, sizeof(::pg_query::CreateStatsStmt)},
  { 2209, -1, -1, sizeof(::pg_query::AlterCollationStmt)},
  { 2216, -1, -1, sizeof(::pg_query::CallStmt)},
  { 2225, -1, -1, sizeof(::pg_query::AlterStatsStmt)},
  { 2234, -1, -1, sizeof(::pg_query::A_Expr)},
  { 2245, -1, -1, sizeof(::pg_query::ColumnRef)},
  { 2253, -1, -1, sizeof(::pg_query::ParamRef)},
  { 2261, -1, -1, sizeof(::pg_query::FuncCall)},
  { 2278, -1, -1, sizeof(::pg_query::A_Star)},
  { 2284, -1, -1, sizeof(::pg_query::A_Indices)},
  { 2293, -1, -1, sizeof(::pg_query::A_Indirection)},
  { 2301, -1, -1, sizeof(::pg_query::A_ArrayExpr)},
  { 2309, -1, -1, sizeof(::pg_query::ResTarget)},
  { 2319, -1, -1, sizeof(::pg_query::MultiAssignRef)},
  { 2328, -1, -1, sizeof(::pg_query::TypeCast)},
  { 2337, -1, -1, sizeof(::pg_query::CollateClause)},
  { 2346, -1, -1, sizeof(::pg_query::SortBy)},
  { 2357, -1, -1, sizeof(::pg_query::WindowDef)},
  { 2371, -1, -1, sizeof(::pg_query::RangeSubselect)},
  { 2380, -1, -1, sizeof(::pg_query::RangeFunction)},
  { 2392, -1, -1, sizeof(::pg_query::RangeTableSample)},
  { 2403, -1, -1, sizeof(::pg_query::RangeTableFunc)},
  { 2416, -1, -1, sizeof(::pg_query::RangeTableFuncCol)},
  { 2429, -1, -1, sizeof(::pg_query::TypeName)},
  { 2443, -1, -1, sizeof(::pg_query::ColumnDef)},
  { 2467, -1, -1, sizeof(::pg_query::IndexElem)},
  { 2481, -1, -1, sizeof(::pg_query::StatsElem)},
  { 2489, -1, -1, sizeof(::pg_query::Constraint)},
  { 2525, -1, -1, sizeof(::pg_query::DefElem)},
  { 2536, -1, -1, sizeof(::pg_query::RangeTblEntry)},
  { 2579, -1, -1, sizeof(::pg_query::RangeTblFunction)},
  { 2592, -1, -1, sizeof(::pg_query::TableSampleClause)},
  { 2601, -1, -1, sizeof(::pg_query::WithCheckOption)},
  { 2612, -1, -1, sizeof(::pg_query::SortGroupClause)},
  { 2623, -1, -1, sizeof(::pg_query::GroupingSet)},
  { 2632, -1, -1, sizeof(::pg_query::WindowClause)},
  { 2653, -1, -1, sizeof(::pg_query::ObjectWithArgs)},
  { 2663, -1, -1, sizeof(::pg_query::AccessPriv)},
  { 2671, -1, -1, sizeof(::pg_query::CreateOpClassItem)},
  { 2683, -1, -1, sizeof(::pg_query::TableLikeClause)},
  { 2692, -1, -1, sizeof(::pg_query::FunctionParameter)},
  { 2702, -1, -1, sizeof(::pg_query::LockingClause)},
  { 2711, -1, -1, sizeof(::pg_query::RowMarkClause)},
  { 2721, -1, -1, sizeof(::pg_query::XmlSerialize)},
  { 2731, -1, -1, sizeof(::pg_query::WithClause)},
  { 2740, -1, -1, sizeof(::pg_query::InferClause)},
  { 2750, -1, -1, sizeof(::pg_query::OnConflictClause)},
  { 2761, -1, -1, sizeof(::pg_query::CTESearchClause)},
  { 2771, -1, -1, sizeof(::pg_query::CTECycleClause)},
  { 2787, -1, -1, sizeof(::pg_query::CommonTableExpr)},
  { 2806, -1, -1, sizeof(::pg_query::MergeWhenClause)},
  { 2818, -1, -1, sizeof(::pg_query::RoleSpec)},
  { 2827, -1, -1, sizeof(::pg_query::TriggerTransition)},
  { 2836, -1, -1, sizeof(::pg_query::PartitionElem)},
  { 2847, -1, -1, sizeof(::pg_query::PartitionSpec)},
  { 2856, -1, -1, sizeof(::pg_query::PartitionBoundSpec)},
  { 2870, -1, -1, sizeof(::pg_query::PartitionRangeDatum)},
  { 2879, -1, -1, sizeof(::pg_query::PartitionCmd)},
  { 2888, -1, -1, sizeof(::pg_query::VacuumRelation)},
  { 2897, -1, -1, sizeof(::pg_query::PublicationObjSpec)},
  { 2907, -1, -1, sizeof(::pg_query::PublicationTable)},
  { 2916, -1, -1, sizeof(::pg_query::InlineCodeBlock)},
  { 2926, -1, -1, sizeof(::pg_query::CallContext)},
  { 2933, -1, -1, sizeof(::pg_query::ScanToken)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::pg_query::_ParseResult_default_instance_._instance,
  &::pg_query::_ScanResult_default_instance_._instance,
  &::pg_query::_Node_default_instance_._instance,
  &::pg_query::_Integer_default_instance_._instance,
  &::pg_query::_Float_default_instance_._instance,
  &::pg_query::_Boolean_default_instance_._instance,
  &::pg_query::_String_default_instance_._instance,
  &::pg_query::_BitString_default_instance_._instance,
  &::pg_query::_List_default_instance_._instance,
  &::pg_query::_OidList_default_instance_._instance,
  &::pg_query::_IntList_default_instance_._instance,
  &::pg_query::_A_Const_default_instance_._instance,
  &::pg_query::_Alias_default_instance_._instance,
  &::pg_query::_RangeVar_default_instance_._instance,
  &::pg_query::_TableFunc_default_instance_._instance,
  &::pg_query::_Var_default_instance_._instance,
  &::pg_query::_Param_default_instance_._instance,
  &::pg_query::_Aggref_default_instance_._instance,
  &::pg_query::_GroupingFunc_default_instance_._instance,
  &::pg_query::_WindowFunc_default_instance_._instance,
  &::pg_query::_SubscriptingRef_default_instance_._instance,
  &::pg_query::_FuncExpr_default_instance_._instance,
  &::pg_query::_NamedArgExpr_default_instance_._instance,
  &::pg_query::_OpExpr_default_instance_._instance,
  &::pg_query::_DistinctExpr_default_instance_._instance,
  &::pg_query::_NullIfExpr_default_instance_._instance,
  &::pg_query::_ScalarArrayOpExpr_default_instance_._instance,
  &::pg_query::_BoolExpr_default_instance_._instance,
  &::pg_query::_SubLink_default_instance_._instance,
  &::pg_query::_SubPlan_default_instance_._instance,
  &::pg_query::_AlternativeSubPlan_default_instance_._instance,
  &::pg_query::_FieldSelect_default_instance_._instance,
  &::pg_query::_FieldStore_default_instance_._instance,
  &::pg_query::_RelabelType_default_instance_._instance,
  &::pg_query::_CoerceViaIO_default_instance_._instance,
  &::pg_query::_ArrayCoerceExpr_default_instance_._instance,
  &::pg_query::_ConvertRowtypeExpr_default_instance_._instance,
  &::pg_query::_CollateExpr_default_instance_._instance,
  &::pg_query::_CaseExpr_default_instance_._instance,
  &::pg_query::_CaseWhen_default_instance_._instance,
  &::pg_query::_CaseTestExpr_default_instance_._instance,
  &::pg_query::_ArrayExpr_default_instance_._instance,
  &::pg_query::_RowExpr_default_instance_._instance,
  &::pg_query::_RowCompareExpr_default_instance_._instance,
  &::pg_query::_CoalesceExpr_default_instance_._instance,
  &::pg_query::_MinMaxExpr_default_instance_._instance,
  &::pg_query::_SQLValueFunction_default_instance_._instance,
  &::pg_query::_XmlExpr_default_instance_._instance,
  &::pg_query::_NullTest_default_instance_._instance,
  &::pg_query::_BooleanTest_default_instance_._instance,
  &::pg_query::_CoerceToDomain_default_instance_._instance,
  &::pg_query::_CoerceToDomainValue_default_instance_._instance,
  &::pg_query::_SetToDefault_default_instance_._instance,
  &::pg_query::_CurrentOfExpr_default_instance_._instance,
  &::pg_query::_NextValueExpr_default_instance_._instance,
  &::pg_query::_InferenceElem_default_instance_._instance,
  &::pg_query::_TargetEntry_default_instance_._instance,
  &::pg_query::_RangeTblRef_default_instance_._instance,
  &::pg_query::_JoinExpr_default_instance_._instance,
  &::pg_query::_FromExpr_default_instance_._instance,
  &::pg_query::_OnConflictExpr_default_instance_._instance,
  &::pg_query::_IntoClause_default_instance_._instance,
  &::pg_query::_MergeAction_default_instance_._instance,
  &::pg_query::_RawStmt_default_instance_._instance,
  &::pg_query::_Query_default_instance_._instance,
  &::pg_query::_InsertStmt_default_instance_._instance,
  &::pg_query::_DeleteStmt_default_instance_._instance,
  &::pg_query::_UpdateStmt_default_instance_._instance,
  &::pg_query::_MergeStmt_default_instance_._instance,
  &::pg_query::_SelectStmt_default_instance_._instance,
  &::pg_query::_ReturnStmt_default_instance_._instance,
  &::pg_query::_PLAssignStmt_default_instance_._instance,
  &::pg_query::_AlterTableStmt_default_instance_._instance,
  &::pg_query::_AlterTableCmd_default_instance_._instance,
  &::pg_query::_AlterDomainStmt_default_instance_._instance,
  &::pg_query::_SetOperationStmt_default_instance_._instance,
  &::pg_query::_GrantStmt_default_instance_._instance,
  &::pg_query::_GrantRoleStmt_default_instance_._instance,
  &::pg_query::_AlterDefaultPrivilegesStmt_default_instance_._instance,
  &::pg_query::_ClosePortalStmt_default_instance_._instance,
  &::pg_query::_ClusterStmt_default_instance_._instance,
  &::pg_query::_CopyStmt_default_instance_._instance,
  &::pg_query::_CreateStmt_default_instance_._instance,
  &::pg_query::_DefineStmt_default_instance_._instance,
  &::pg_query::_DropStmt_default_instance_._instance,
  &::pg_query::_TruncateStmt_default_instance_._instance,
  &::pg_query::_CommentStmt_default_instance_._instance,
  &::pg_query::_FetchStmt_default_instance_._instance,
  &::pg_query::_IndexStmt_default_instance_._instance,
  &::pg_query::_CreateFunctionStmt_default_instance_._instance,
  &::pg_query::_AlterFunctionStmt_default_instance_._instance,
  &::pg_query::_DoStmt_default_instance_._instance,
  &::pg_query::_RenameStmt_default_instance_._instance,
  &::pg_query::_RuleStmt_default_instance_._instance,
  &::pg_query::_NotifyStmt_default_instance_._instance,
  &::pg_query::_ListenStmt_default_instance_._instance,
  &::pg_query::_UnlistenStmt_default_instance_._instance,
  &::pg_query::_TransactionStmt_default_instance_._instance,
  &::pg_query::_ViewStmt_default_instance_._instance,
  &::pg_query::_LoadStmt_default_instance_._instance,
  &::pg_query::_CreateDomainStmt_default_instance_._instance,
  &::pg_query::_CreatedbStmt_default_instance_._instance,
  &::pg_query::_DropdbStmt_default_instance_._instance,
  &::pg_query::_VacuumStmt_default_instance_._instance,
  &::pg_query::_ExplainStmt_default_instance_._instance,
  &::pg_query::_CreateTableAsStmt_default_instance_._instance,
  &::pg_query::_CreateSeqStmt_default_instance_._instance,
  &::pg_query::_AlterSeqStmt_default_instance_._instance,
  &::pg_query::_VariableSetStmt_default_instance_._instance,
  &::pg_query::_VariableShowStmt_default_instance_._instance,
  &::pg_query::_DiscardStmt_default_instance_._instance,
  &::pg_query::_CreateTrigStmt_default_instance_._instance,
  &::pg_query::_CreatePLangStmt_default_instance_._instance,
  &::pg_query::_CreateRoleStmt_default_instance_._instance,
  &::pg_query::_AlterRoleStmt_default_instance_._instance,
  &::pg_query::_DropRoleStmt_default_instance_._instance,
  &::pg_query::_LockStmt_default_instance_._instance,
  &::pg_query::_ConstraintsSetStmt_default_instance_._instance,
  &::pg_query::_ReindexStmt_default_instance_._instance,
  &::pg_query::_CheckPointStmt_default_instance_._instance,
  &::pg_query::_CreateSchemaStmt_default_instance_._instance,
  &::pg_query::_AlterDatabaseStmt_default_instance_._instance,
  &::pg_query::_AlterDatabaseRefreshCollStmt_default_instance_._instance,
  &::pg_query::_AlterDatabaseSetStmt_default_instance_._instance,
  &::pg_query::_AlterRoleSetStmt_default_instance_._instance,
  &::pg_query::_CreateConversionStmt_default_instance_._instance,
  &::pg_query::_CreateCastStmt_default_instance_._instance,
  &::pg_query::_CreateOpClassStmt_default_instance_._instance,
  &::pg_query::_CreateOpFamilyStmt_default_instance_._instance,
  &::pg_query::_AlterOpFamilyStmt_default_instance_._instance,
  &::pg_query::_PrepareStmt_default_instance_._instance,
  &::pg_query::_ExecuteStmt_default_instance_._instance,
  &::pg_query::_DeallocateStmt_default_instance_._instance,
  &::pg_query::_DeclareCursorStmt_default_instance_._instance,
  &::pg_query::_CreateTableSpaceStmt_default_instance_._instance,
  &::pg_query::_DropTableSpaceStmt_default_instance_._instance,
  &::pg_query::_AlterObjectDependsStmt_default_instance_._instance,
  &::pg_query::_AlterObjectSchemaStmt_default_instance_._instance,
  &::pg_query::_AlterOwnerStmt_default_instance_._instance,
  &::pg_query::_AlterOperatorStmt_default_instance_._instance,
  &::pg_query::_AlterTypeStmt_default_instance_._instance,
  &::pg_query::_DropOwnedStmt_default_instance_._instance,
  &::pg_query::_ReassignOwnedStmt_default_instance_._instance,
  &::pg_query::_CompositeTypeStmt_default_instance_._instance,
  &::pg_query::_CreateEnumStmt_default_instance_._instance,
  &::pg_query::_CreateRangeStmt_default_instance_._instance,
  &::pg_query::_AlterEnumStmt_default_instance_._instance,
  &::pg_query::_AlterTSDictionaryStmt_default_instance_._instance,
  &::pg_query::_AlterTSConfigurationStmt_default_instance_._instance,
  &::pg_query::_CreateFdwStmt_default_instance_._instance,
  &::pg_query::_AlterFdwStmt_default_instance_._instance,
  &::pg_query::_CreateForeignServerStmt_default_instance_._instance,
  &::pg_query::_AlterForeignServerStmt_default_instance_._instance,
  &::pg_query::_CreateUserMappingStmt_default_instance_._instance,
  &::pg_query::_AlterUserMappingStmt_default_instance_._instance,
  &::pg_query::_DropUserMappingStmt_default_instance_._instance,
  &::pg_query::_AlterTableSpaceOptionsStmt_default_instance_._instance,
  &::pg_query::_AlterTableMoveAllStmt_default_instance_._instance,
  &::pg_query::_SecLabelStmt_default_instance_._instance,
  &::pg_query::_CreateForeignTableStmt_default_instance_._instance,
  &::pg_query::_ImportForeignSchemaStmt_default_instance_._instance,
  &::pg_query::_CreateExtensionStmt_default_instance_._instance,
  &::pg_query::_AlterExtensionStmt_default_instance_._instance,
  &::pg_query::_AlterExtensionContentsStmt_default_instance_._instance,
  &::pg_query::_CreateEventTrigStmt_default_instance_._instance,
  &::pg_query::_AlterEventTrigStmt_default_instance_._instance,
  &::pg_query::_RefreshMatViewStmt_default_instance_._instance,
  &::pg_query::_ReplicaIdentityStmt_default_instance_._instance,
  &::pg_query::_AlterSystemStmt_default_instance_._instance,
  &::pg_query::_CreatePolicyStmt_default_instance_._instance,
  &::pg_query::_AlterPolicyStmt_default_instance_._instance,
  &::pg_query::_CreateTransformStmt_default_instance_._instance,
  &::pg_query::_CreateAmStmt_default_instance_._instance,
  &::pg_query::_CreatePublicationStmt_default_instance_._instance,
  &::pg_query::_AlterPublicationStmt_default_instance_._instance,
  &::pg_query::_CreateSubscriptionStmt_default_instance_._instance,
  &::pg_query::_AlterSubscriptionStmt_default_instance_._instance,
  &::pg_query::_DropSubscriptionStmt_default_instance_._instance,
  &::pg_query::_CreateStatsStmt_default_instance_._instance,
  &::pg_query::_AlterCollationStmt_default_instance_._instance,
  &::pg_query::_CallStmt_default_instance_._instance,
  &::pg_query::_AlterStatsStmt_default_instance_._instance,
  &::pg_query::_A_Expr_default_instance_._instance,
  &::pg_query::_ColumnRef_default_instance_._instance,
  &::pg_query::_ParamRef_default_instance_._instance,
  &::pg_query::_FuncCall_default_instance_._instance,
  &::pg_query::_A_Star_default_instance_._instance,
  &::pg_query::_A_Indices_default_instance_._instance,
  &::pg_query::_A_Indirection_default_instance_._instance,
  &::pg_query::_A_ArrayExpr_default_instance_._instance,
  &::pg_query::_ResTarget_default_instance_._instance,
  &::pg_query::_MultiAssignRef_default_instance_._instance,
  &::pg_query::_TypeCast_default_instance_._instance,
  &::pg_query::_CollateClause_default_instance_._instance,
  &::pg_query::_SortBy_default_instance_._instance,
  &::pg_query::_WindowDef_default_instance_._instance,
  &::pg_query::_RangeSubselect_default_instance_._instance,
  &::pg_query::_RangeFunction_default_instance_._instance,
  &::pg_query::_RangeTableSample_default_instance_._instance,
  &::pg_query::_RangeTableFunc_default_instance_._instance,
  &::pg_query::_RangeTableFuncCol_default_instance_._instance,
  &::pg_query::_TypeName_default_instance_._instance,
  &::pg_query::_ColumnDef_default_instance_._instance,
  &::pg_query::_IndexElem_default_instance_._instance,
  &::pg_query::_StatsElem_default_instance_._instance,
  &::pg_query::_Constraint_default_instance_._instance,
  &::pg_query::_DefElem_default_instance_._instance,
  &::pg_query::_RangeTblEntry_default_instance_._instance,
  &::pg_query::_RangeTblFunction_default_instance_._instance,
  &::pg_query::_TableSampleClause_default_instance_._instance,
  &::pg_query::_WithCheckOption_default_instance_._instance,
  &::pg_query::_SortGroupClause_default_instance_._instance,
  &::pg_query::_GroupingSet_default_instance_._instance,
  &::pg_query::_WindowClause_default_instance_._instance,
  &::pg_query::_ObjectWithArgs_default_instance_._instance,
  &::pg_query::_AccessPriv_default_instance_._instance,
  &::pg_query::_CreateOpClassItem_default_instance_._instance,
  &::pg_query::_TableLikeClause_default_instance_._instance,
  &::pg_query::_FunctionParameter_default_instance_._instance,
  &::pg_query::_LockingClause_default_instance_._instance,
  &::pg_query::_RowMarkClause_default_instance_._instance,
  &::pg_query::_XmlSerialize_default_instance_._instance,
  &::pg_query::_WithClause_default_instance_._instance,
  &::pg_query::_InferClause_default_instance_._instance,
  &::pg_query::_OnConflictClause_default_instance_._instance,
  &::pg_query::_CTESearchClause_default_instance_._instance,
  &::pg_query::_CTECycleClause_default_instance_._instance,
  &::pg_query::_CommonTableExpr_default_instance_._instance,
  &::pg_query::_MergeWhenClause_default_instance_._instance,
  &::pg_query::_RoleSpec_default_instance_._instance,
  &::pg_query::_TriggerTransition_default_instance_._instance,
  &::pg_query::_PartitionElem_default_instance_._instance,
  &::pg_query::_PartitionSpec_default_instance_._instance,
  &::pg_query::_PartitionBoundSpec_default_instance_._instance,
  &::pg_query::_PartitionRangeDatum_default_instance_._instance,
  &::pg_query::_PartitionCmd_default_instance_._instance,
  &::pg_query::_VacuumRelation_default_instance_._instance,
  &::pg_query::_PublicationObjSpec_default_instance_._instance,
  &::pg_query::_PublicationTable_default_instance_._instance,
  &::pg_query::_InlineCodeBlock_default_instance_._instance,
  &::pg_query::_CallContext_default_instance_._instance,
  &::pg_query::_ScanToken_default_instance_._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', '\"', '\240', '}', '\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', '\003', 'v', 'a', 'r', '\030', '\004', ' ', '\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', '\005', ' ', '\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', '\006', ' ', '\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', '\007', ' ', '\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', '\010', ' ', 
  '\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', '\t', ' ', '\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', 
  '\n', ' ', '\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', '\013', ' ', '\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', '\014', ' ', '\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', '\r', ' ', '\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', '\016', ' ', '\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', '\017', ' ', '\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', '\020', ' ', '\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', '\021', ' ', '\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', '\022', ' ', '\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', '\023', ' ', '\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', '\024', ' ', '\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', '\025', ' ', '\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', '\026', ' ', '\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', '\027', ' ', '\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', '\030', ' ', '\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', '\031', ' ', '\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', '\032', ' ', '\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', '\033', ' ', '\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', '\034', ' ', '\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', 
  '\035', ' ', '\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', '\036', ' ', '\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', '\037', ' ', '\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', '/', ' ', '\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', '0', ' ', '\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', '1', ' ', '\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', '2', ' ', '\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', '\014', 'm', 'e', 'r', 'g', 
  'e', '_', 'a', 'c', 't', 'i', 'o', 'n', '\030', '3', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'M', 'e', 'r', 'g', 'e', 'A', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\013', 'M', 'e', 'r', 'g', 'e', 'A', 'c', 't', 'i', 
  'o', 'n', '\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', '4', '\n', '\n', 'm', 'e', 'r', 'g', 'e', '_', 's', 't', 'm', 
  't', '\030', '9', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'e', 'r', 'g', 'e', 'S', 
  't', 'm', 't', 'H', '\000', 'R', '\t', 'M', 'e', 'r', 'g', 'e', 'S', 't', 'm', 't', '\022', '7', '\n', '\013', 's', 'e', 'l', 'e', 'c', 
  't', '_', 's', 't', 'm', 't', '\030', ':', ' ', '\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', '7', 
  '\n', '\013', 'r', 'e', 't', 'u', 'r', 'n', '_', 's', 't', 'm', 't', '\030', ';', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 't', 'u', 'r', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'R', 'e', 't', 'u', 'r', 
  'n', 'S', 't', 'm', 't', '\022', '=', '\n', '\r', 'p', 'l', 'a', 's', 's', 'i', 'g', 'n', '_', 's', 't', 'm', 't', '\030', '<', ' ', 
  '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'L', 'A', 's', 's', 'i', 'g', 'n', 'S', 't', 
  'm', 't', 'H', '\000', 'R', '\014', 'P', 'L', 'A', 's', 's', 'i', 'g', 'n', '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', 'A', ' ', '\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', 'B', ' ', '\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', 'C', ' ', '\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', 'D', ' ', '\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', 'E', ' ', '\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', 'F', ' ', '\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', 'G', ' ', '\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', 'H', ' ', '\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', 'I', ' ', '\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', 'J', 
  ' ', '\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', 'K', ' ', '\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', 'L', ' ', '\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', 'M', ' ', 
  '\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', 'N', ' ', '\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', 'O', ' ', '\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', 'P', ' ', '\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', 'Q', ' ', '\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', 'R', ' ', '\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', 'S', ' ', '\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', 'T', 
  ' ', '\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', 'U', ' ', '\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', 'V', 
  ' ', '\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', 'W', ' ', '\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', 'X', ' ', '\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', 
  'Y', ' ', '\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', 'Z', ' ', '\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', '[', ' ', '\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', '\\', ' ', '\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', ']', ' ', '\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', 'a', ' ', 
  '\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', 'b', ' ', '\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', 'c', ' ', '\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', 'd', ' ', '\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', 'e', ' ', '\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', 'f', 
  ' ', '\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', 'g', ' ', '\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', 'h', ' ', '\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', 'i', ' ', '\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', 'j', ' ', '\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', 'k', ' ', '\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', 'l', ' ', '\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', 'm', ' ', '\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', 'n', ' ', '\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', 'p', '\n', 
  ' ', 'a', 'l', 't', 'e', 'r', '_', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '_', 'r', 'e', 'f', 'r', 'e', 's', 'h', '_', 'c', 
  'o', 'l', 'l', '_', 's', 't', 'm', 't', '\030', 'o', ' ', '\001', '(', '\013', '2', '&', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
  '.', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'R', 'e', 'f', 'r', 'e', 's', 'h', 'C', 'o', 'l', 'l', 
  'S', 't', 'm', 't', 'H', '\000', 'R', '\034', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'R', 'e', 'f', 'r', 
  'e', 's', 'h', 'C', 'o', 'l', 'l', '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', 'p', ' ', '\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', 'q', 
  ' ', '\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', 'r', ' ', '\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', 's', ' ', '\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', 't', ' ', '\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', 'u', ' ', '\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', 'v', ' ', 
  '\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', 'w', ' ', '\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', 'x', ' ', '\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', 'y', ' ', '\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', 'z', ' ', '\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', '{', 
  ' ', '\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', '|', ' ', '\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', '}', ' ', 
  '\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', '~', ' ', '\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', '\177', ' ', '\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', 'N', '\n', '\023', 'a', 'l', 't', 'e', 'r', '_', 'o', 'p', 'e', 'r', 'a', 't', 'o', 'r', '_', 's', 't', 'm', 't', '\030', '\200', 
  '\001', ' ', '\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', 'B', '\n', '\017', 'a', 'l', 't', 'e', 'r', '_', 't', 'y', 'p', 'e', '_', 's', 't', 'm', 't', '\030', 
  '\201', '\001', ' ', '\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', 'B', 
  '\n', '\017', 'd', 'r', 'o', 'p', '_', 'o', 'w', 'n', 'e', 'd', '_', 's', 't', 'm', 't', '\030', '\202', '\001', ' ', '\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', 'N', '\n', '\023', 'r', 'e', 'a', 's', 's', 
  'i', 'g', 'n', '_', 'o', 'w', 'n', 'e', 'd', '_', 's', 't', 'm', 't', '\030', '\203', '\001', ' ', '\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', '\204', '\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', '\205', '\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', '\206', '\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', '\207', '\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', '\210', '\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', '\211', '\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', '\212', '\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', '\213', '\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', '\214', '\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', '\215', '\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', '\216', '\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', '\217', '\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', '\220', '\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', '\221', '\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', '\222', '\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', '\223', '\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', '\224', '\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', 
  '\225', '\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', '\226', '\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', '\227', '\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', '\230', '\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', '\231', '\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', '\232', '\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', '\233', '\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', '\234', '\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', '\235', '\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', '\236', '\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', '\237', '\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', '\240', '\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', '\241', '\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', '\242', '\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', '\243', '\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', '\244', '\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', '\245', '\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', '\246', '\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', '\247', '\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', '\250', '\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', '\251', '\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', '\252', 
  '\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', '\253', '\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', '\254', '\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', '\255', '\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', '2', '\n', '\t', 'f', 'u', 'n', 'c', '_', 'c', 'a', 'l', 'l', '\030', '\256', '\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', '\257', '\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', '\260', '\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', '\261', '\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', '\262', '\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', '\263', '\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', '\264', '\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', '\265', '\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', '\266', '\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', '\267', '\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', '\270', '\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', '\271', '\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', '\272', '\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', '\273', '\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', '\274', '\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', '\275', '\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', '\276', '\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', '\277', '\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', '\300', '\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', '5', '\n', '\n', 's', 't', 'a', 't', 's', '_', 'e', 'l', 'e', 'm', '\030', '\301', '\001', ' ', '\001', '(', '\013', '2', 
  '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 't', 'a', 't', 's', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\t', 'S', 
  't', 'a', 't', 's', 'E', 'l', 'e', 'm', '\022', '7', '\n', '\n', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\302', '\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', '\303', '\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', '\304', '\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', '\305', '\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', '\306', '\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', '\307', '\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', '\310', '\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', '\311', '\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', '\312', '\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', '\313', '\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', '\314', 
  '\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', '\315', '\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', '\316', '\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', '\317', '\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', '\320', '\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', '\321', '\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', '\322', '\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', '\323', '\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', '\324', 
  '\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', '\325', '\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', 'G', '\n', '\020', 'c', 
  't', 'e', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\326', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'S', 'e', 'a', 'r', 'c', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'H', 
  '\000', 'R', '\017', 'C', 'T', 'E', 'S', 'e', 'a', 'r', 'c', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'D', '\n', '\017', 'c', 't', 'e', 
  'c', 'y', 'c', 'l', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\327', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'C', 'y', 'c', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\016', 'C', 
  'T', 'E', 'C', 'y', 'c', 'l', 'e', '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', '\330', '\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', 'H', '\n', '\021', 'm', 'e', 'r', 'g', 'e', '_', 'w', 'h', 'e', 
  'n', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\331', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'M', 'e', 'r', 'g', 'e', 'W', 'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\017', 'M', 'e', 'r', 'g', 
  'e', 'W', 'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', '2', '\n', '\t', 'r', 'o', 'l', 'e', '_', 's', 'p', 'e', 'c', '\030', 
  '\332', '\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', '\333', '\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', '\334', '\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', '\335', '\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', '\336', '\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', '\337', '\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', '\340', '\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', '\341', '\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', 'Q', '\n', '\024', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '_', 'o', 'b', 'j', '_', 's', 
  'p', 'e', 'c', '\030', '\342', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'u', 'b', 
  'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\022', 'P', 'u', 'b', 'l', 'i', 'c', 
  'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', '\022', 'J', '\n', '\021', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 
  'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '\030', '\343', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'H', '\000', 'R', '\020', 'P', 'u', 'b', 
  'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'T', 'a', 'b', 'l', 'e', '\022', 'H', '\n', '\021', 'i', 'n', 'l', 'i', 'n', 'e', '_', 'c', 
  'o', 'd', 'e', '_', 'b', 'l', 'o', 'c', 'k', '\030', '\344', '\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', '\345', '\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', '\346', '\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', '\347', '\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', '\007', 'b', 'o', 'o', 'l', 'e', 'a', 'n', '\030', 
  '\350', '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'e', 'a', 'n', 
  'H', '\000', 'R', '\007', 'B', 'o', 'o', 'l', 'e', 'a', 'n', '\022', '+', '\n', '\006', 's', 't', 'r', 'i', 'n', 'g', '\030', '\351', '\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', '\352', '\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', 'l', 'i', 's', 't', '\030', '\353', '\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', '\354', '\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', '\355', '\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', '\022', '.', 
  '\n', '\007', 'a', '_', 'c', 'o', 'n', 's', 't', '\030', '\356', '\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', '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', '\"', '\025', '\n', '\005', 'F', 'l', 'o', 'a', 't', '\022', '\014', '\n', '\004', 'f', 'v', 'a', 'l', '\030', '\001', ' ', '\001', 
  '(', '\t', '\"', '\032', '\n', '\007', 'B', 'o', 'o', 'l', 'e', 'a', 'n', '\022', '\017', '\n', '\007', 'b', 'o', 'o', 'l', 'v', 'a', 'l', '\030', 
  '\001', ' ', '\001', '(', '\010', '\"', '\026', '\n', '\006', 'S', 't', 'r', 'i', 'n', 'g', '\022', '\014', '\n', '\004', 's', 'v', 'a', 'l', '\030', '\001', 
  ' ', '\001', '(', '\t', '\"', '\032', '\n', '\t', 'B', 'i', 't', 'S', 't', 'r', 'i', 'n', 'g', '\022', '\r', '\n', '\005', 'b', 's', 'v', 'a', 
  'l', '\030', '\001', ' ', '\001', '(', '\t', '\"', '%', '\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', '\"', '\344', '\001', '\n', '\007', 'A', '_', 'C', 'o', 'n', 's', 't', '\022', '!', '\n', '\004', 'i', 'v', 'a', 'l', 
  '\030', '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'e', 'g', 'e', 'r', 
  'H', '\000', '\022', '\037', '\n', '\004', 'f', 'v', 'a', 'l', '\030', '\002', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'F', 'l', 'o', 'a', 't', 'H', '\000', '\022', '$', '\n', '\007', 'b', 'o', 'o', 'l', 'v', 'a', 'l', '\030', '\003', ' ', '\001', 
  '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'e', 'a', 'n', 'H', '\000', '\022', ' ', 
  '\n', '\004', 's', 'v', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 
  't', 'r', 'i', 'n', 'g', 'H', '\000', '\022', '$', '\n', '\005', 'b', 's', 'v', 'a', 'l', '\030', '\005', ' ', '\001', '(', '\013', '2', '\023', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'i', 't', 'S', 't', 'r', 'i', 'n', 'g', 'H', '\000', '\022', '\016', '\n', '\006', 'i', 
  's', 'n', 'u', 'l', 'l', '\030', '\n', ' ', '\001', '(', '\010', '\022', '\020', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\013', 
  ' ', '\001', '(', '\005', 'B', '\005', '\n', '\003', 'v', 'a', 'l', '\"', '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', '\"', 
  '\257', '\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', '\032', '\n', '\010', 'n', 'o', 't', 'n', 
  'u', 'l', 'l', 's', '\030', '\013', ' ', '\003', '(', '\004', 'R', '\010', 'n', 'o', 't', 'n', 'u', 'l', 'l', 's', '\022', '$', '\n', '\r', 'o', 
  'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', 'c', 'o', 'l', '\030', '\014', ' ', '\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', '\r', ' ', '\001', '(', 
  '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\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', '(', '\005', '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', '\"', '\326', '\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', '\024', '\n', '\005', 'a', 'g', 'g', 'n', 'o', '\030', '\022', ' ', '\001', '(', '\005', 'R', '\005', 'a', 
  'g', 'g', 'n', 'o', '\022', '\036', '\n', '\n', 'a', 'g', 'g', 't', 'r', 'a', 'n', 's', 'n', 'o', '\030', '\023', ' ', '\001', '(', '\005', 'R', 
  '\n', 'a', 'g', 'g', 't', 'r', 'a', 'n', 's', 'n', 'o', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\024', 
  ' ', '\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', '\"', '\257', '\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', '\036', '\n', '\n', 'r', 'e', 'f', 
  'r', 'e', 's', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 'f', 'r', 'e', 's', 't', 'y', 'p', 'e', 
  '\022', '\034', '\n', '\t', 'r', 'e', 'f', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\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', '\006', ' ', '\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', '\007', ' ', '\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', '\010', ' ', '\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', '\t', ' ', '\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', '\n', ' ', '\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', '\"', '\234', '\002', '\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', '\036', '\n', '\n', 'h', 'a', 's', 'h', 'f', 'u', 'n', 'c', 'i', 'd', 
  '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'h', 'a', 's', 'h', 'f', 'u', 'n', 'c', 'i', 'd', '\022', '\034', '\n', '\t', 'n', 'e', 'g', 
  'f', 'u', 'n', 'c', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\t', 'n', 'e', 'g', 'f', 'u', 'n', 'c', 'i', 'd', '\022', '\025', 
  '\n', '\006', 'u', 's', 'e', '_', 'o', 'r', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\005', 'u', 's', 'e', 'O', 'r', '\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', '\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', '\"', '\370', '\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', '\020', 'j', 'o', 'i', 'n', '_', 'u', 's', 'i', 'n', 'g', '_', 'a', 'l', 'i', 'a', 's', '\030', '\006', ' ', '\001', '(', '\013', '2', 
  '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\020', 'j', 'o', 'i', 'n', '_', 'u', 's', 
  'i', 'n', 'g', '_', 'a', 'l', 'i', 'a', 's', '\022', '$', '\n', '\005', 'q', 'u', 'a', 'l', 's', '\030', '\007', ' ', '\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', '\010', ' ', '\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', '\t', ' ', 
  '\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', '\"', '\235', 
  '\002', '\n', '\013', 'M', 'e', 'r', 'g', 'e', 'A', 'c', 't', 'i', 'o', 'n', '\022', '\030', '\n', '\007', 'm', 'a', 't', 'c', 'h', 'e', 'd', 
  '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'm', 'a', 't', 'c', 'h', 'e', 'd', '\022', '4', '\n', '\014', 'c', 'o', 'm', 'm', 'a', 'n', 
  'd', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\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', '4', '\n', '\010', 'o', 'v', 
  'e', 'r', 'r', 'i', 'd', 'e', '\030', '\003', ' ', '\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', '\"', 
  '\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', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', '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', 
  'r', 'g', 'e', 't', 'L', 'i', 's', 't', '\022', '3', '\n', '\r', 'u', 'p', 'd', 'a', 't', 'e', '_', 'c', 'o', 'l', 'n', 'o', 's', 
  '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'u', 
  'p', 'd', 'a', 't', 'e', 'C', 'o', 'l', 'n', 'o', 's', '\"', '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', '\"', 
  '\315', '\016', '\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', '\033', '\n', '\t', 'i', 's', '_', 'r', 'e', 
  't', 'u', 'r', 'n', '\030', '\017', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', 'R', 'e', 't', 'u', 'r', 'n', '\022', ')', '\n', '\010', 'c', 
  't', 'e', '_', 'l', 'i', 's', 't', '\030', '\020', ' ', '\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', '\021', 
  ' ', '\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', '\022', ' ', '\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', '\021', 'm', 'e', 'r', 'g', 'e', '_', 'a', 'c', 't', 'i', 'o', 'n', '_', 'l', 'i', 's', 't', '\030', '\023', ' ', 
  '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'm', 'e', 'r', 'g', 
  'e', 'A', 'c', 't', 'i', 'o', 'n', 'L', 'i', 's', 't', '\022', '/', '\n', '\024', 'm', 'e', 'r', 'g', 'e', '_', 'u', 's', 'e', '_', 
  'o', 'u', 't', 'e', 'r', '_', 'j', 'o', 'i', 'n', '\030', '\024', ' ', '\001', '(', '\010', 'R', '\021', 'm', 'e', 'r', 'g', 'e', 'U', 's', 
  'e', 'O', 'u', 't', 'e', 'r', 'J', 'o', 'i', 'n', '\022', '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', 
  '\030', '\025', ' ', '\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', '\026', ' ', '\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', '\027', ' ', '\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', '\030', ' ', '\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', '\031', ' ', '\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', '%', '\n', '\016', 'g', 'r', 'o', 'u', 'p', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\032', ' ', '\001', 
  '(', '\010', 'R', '\r', 'g', 'r', 'o', 'u', 'p', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', '3', '\n', '\r', 'g', 'r', 'o', 'u', 
  'p', 'i', 'n', 'g', '_', 's', 'e', 't', 's', '\030', '\033', ' ', '\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', '\034', ' ', '\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', '\035', ' ', '\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', '\036', ' ', '\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', '\037', ' ', '\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', ' ', ' ', '\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', '!', ' ', '\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', '\"', ' ', '\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', 
  '#', ' ', '\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', '\"', '\240', '\002', '\n', '\t', 'M', 'e', 'r', 'g', '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', '7', '\n', '\017', 's', 'o', 'u', 'r', 'c', 
  'e', '_', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 's', 'o', 'u', 'r', 'c', 'e', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '5', 
  '\n', '\016', 'j', 'o', 'i', 'n', '_', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 
  'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'j', 'o', 'i', 'n', 'C', 'o', 'n', 'd', 'i', 't', 
  'i', 'o', 'n', '\022', '<', '\n', '\022', 'm', 'e', 'r', 'g', 'e', '_', 'w', 'h', 'e', 'n', '_', 'c', 'l', 'a', 'u', 's', 'e', 's', 
  '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\020', 'm', 
  'e', 'r', 'g', 'e', 'W', 'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', 's', '\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', '\"', '\323', '\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', '%', '\n', 
  '\016', 'g', 'r', 'o', 'u', 'p', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\r', 'g', 'r', 
  'o', 'u', 'p', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', '3', '\n', '\r', 'h', 'a', 'v', 'i', 'n', 'g', '_', 'c', 'l', 'a', 
  'u', 's', 'e', '\030', '\010', ' ', '\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', '\t', ' ', '\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', '\n', ' ', '\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', '\013', ' ', '\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', '\014', ' ', '\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', '\r', ' ', '\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', '\016', ' ', '\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', '\017', ' ', '\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', '\020', ' ', '\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', '\021', ' ', '\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', '\022', ' ', '\001', '(', '\010', 'R', '\003', 'a', 'l', 'l', '\022', '(', '\n', '\004', 'l', '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', 'l', 'a', 'r', 'g', '\022', '(', '\n', '\004', 'r', 'a', 'r', 'g', '\030', '\024', ' ', '\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', '\"', ':', '\n', '\n', 'R', 'e', 't', 'u', 'r', 'n', 'S', 't', 'm', 't', '\022', ',', '\n', '\t', 'r', 'e', 't', 'u', 'r', 
  'n', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\t', 'r', 'e', 't', 'u', 'r', 'n', 'v', 'a', 'l', '\"', '\260', '\001', '\n', '\014', 'P', 'L', 'A', 's', 's', 'i', 'g', 'n', 
  'S', 't', 'm', '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', 
  '\026', '\n', '\006', 'n', 'n', 'a', 'm', 'e', 's', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\006', 'n', 'n', 'a', 'm', 'e', 's', '\022', '&', 
  '\n', '\003', 'v', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 
  'l', 'e', 'c', 't', 'S', 't', 'm', 't', 'R', '\003', 'v', 'a', 'l', '\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', '\"', '\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', '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', '\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', '\"', 
  '\251', '\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', '\022', '\030', 
  '\n', '\007', 'r', 'e', 'c', 'u', 'r', 's', 'e', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'c', 'u', 'r', 's', 'e', '\"', 
  '\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', '\"', '\232', '\003', '\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', ',', '\n', '\007', 
  'g', 'r', 'a', 'n', 't', 'o', 'r', '\030', '\010', ' ', '\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', '\t', ' ', '\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', '\"', '\203', '\001', '\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', '&', '\n', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\003', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'p', 'a', 'r', 
  'a', 'm', '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', '\"', 
  '\322', '\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', '.', '\n', '\022', 
  'n', 'u', 'l', 'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\020', ' ', '\001', '(', '\010', 'R', 
  '\022', 'n', 'u', 'l', 'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', '\030', '\n', '\007', 'p', 'r', 
  'i', 'm', 'a', 'r', 'y', '\030', '\021', ' ', '\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', '\022', ' ', '\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', '\023', ' ', '\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', '\024', ' ', '\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', '\025', ' ', '\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', '\026', ' ', 
  '\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', '\027', ' ', '\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', '\030', ' ', '\001', '(', '\010', 'R', '\024', 'r', 'e', 's', 'e', 't', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 
  'b', 'l', 's', 'p', 'c', '\"', '\271', '\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', '\022', '*', '\n', '\010', 's', 'q', 'l', '_', 'b', 'o', 'd', 'y', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
  '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 's', 'q', 'l', '_', 'b', 'o', 'd', 'y', '\"', '\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', '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', '\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', 
  '\"', '\266', '\004', '\n', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'i', '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', '\"', '\n', '\014', 'i', 
  's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', 'c', 'o', 'n', 's', 
  't', 'r', 'a', 'i', 'n', 't', '\022', '\032', '\n', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', 
  '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\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', '\005', ' ', '\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', '\006', ' ', '\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', '\007', ' ', '\001', '(', '\010', 
  'R', '\003', 'r', 'o', 'w', '\022', '\026', '\n', '\006', 't', 'i', 'm', 'i', 'n', 'g', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\006', 't', 'i', 
  'm', 'i', 'n', 'g', '\022', '\026', '\n', '\006', 'e', 'v', 'e', 'n', 't', 's', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\006', 'e', 'v', 'e', 
  'n', 't', 's', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\n', ' ', '\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', '\013', ' ', '\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', '7', '\n', '\017', 't', 'r', 
  'a', 'n', 's', 'i', 't', 'i', 'o', 'n', '_', 'r', 'e', 'l', 's', '\030', '\014', ' ', '\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', '\r', ' ', '\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', 
  '\016', ' ', '\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', '\017', ' ', '\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', '\"', '\252', '\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', '&', '\n', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\004', 
  ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'p', 'a', 'r', 
  'a', 'm', 's', '\"', '\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', '\"', '6', '\n', '\034', 
  'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'R', 'e', 'f', 'r', 'e', 's', 'h', 'C', 'o', 'l', 'l', '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', '\"', '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', '\"', '\353', '\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', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 't', 'r', 'i', 'n', 'g', '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', '\"', '\263', '\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', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 'e', 'c', 't', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
  'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 'e', 'c', 't', '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', '\"', '\354', '\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', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 'e', 'c', 't', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 'e', 'c', 
  't', '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', '8', '\n', '\006', 'a', 'c', 't', 'i', 
  'o', 'n', '\030', '\005', ' ', '\001', '(', '\016', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 
  'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\006', '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', '\"', '\251', '\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', '\013', 't', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'e', 
  'd', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\013', 't', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'e', 'd', '\022', '$', '\n', '\r', 'i', 
  'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\007', ' ', '\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', '\"', 
  '\224', '\001', '\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', '\022', '(', '\n', '\007', 'o', 'u', 't', 'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', 
  '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'u', 't', 'a', 'r', 'g', 's', 
  '\"', '\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', '\"', '\307', '\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', '\004', 'o', 'v', 'e', 'r', '\030', '\005', ' ', '\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', '*', '\n', '\020', 'a', 'g', 'g', '_', 'w', 'i', 't', 'h', 'i', 'n', '_', 'g', 'r', 'o', 'u', 'p', '\030', '\006', ' ', '\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', '\007', ' ', '\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', '\010', ' ', '\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', '\t', ' ', '\001', '(', '\010', 'R', '\r', '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', '\n', ' ', '\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', '\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', '\"', '\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', '\"', '\310', '\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', ' ', '\n', '\013', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\013', 'c', 
  'o', 'm', 'p', 'r', 'e', 's', 's', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'i', 'n', 'h', 'c', 'o', 'u', 'n', 't', '\030', '\004', ' ', 
  '\001', '(', '\005', 'R', '\010', 'i', 'n', 'h', 'c', 'o', 'u', 'n', 't', '\022', '\032', '\n', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', 
  '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', '\022', ' ', '\n', '\013', 'i', 's', '_', 'n', 'o', 
  't', '_', 'n', 'u', 'l', 'l', '\030', '\006', ' ', '\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', '\007', ' ', '\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', '\010', ' ', 
  '\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', '\t', ' ', '\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', '\n', ' ', '\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', '\013', ' ', '\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', '\014', ' ', '\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', 
  '\r', ' ', '\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', '\016', ' ', '\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', '\017', ' ', '\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', '\020', ' ', '\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', '\021', ' ', '\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', '\022', ' ', '\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', '\"', 'C', '\n', '\t', 'S', 't', 'a', 't', 's', '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', '\"', '\336', '\t', '\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', '\022', 'n', 'u', 'l', 
  'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\n', ' ', '\001', '(', '\010', 'R', '\022', 'n', 'u', 
  'l', 'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', '\"', '\n', '\004', 'k', 'e', 'y', 's', '\030', 
  '\013', ' ', '\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', '\014', ' ', '\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', '\r', ' ', '\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', '\016', ' ', '\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', '\017', ' ', '\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', '\020', ' ', '\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', 
  '\021', ' ', '\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', '\022', ' ', '\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', '\023', ' ', '\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', '\024', ' ', '\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', '\025', ' ', '\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', '\026', ' ', '\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', '\027', ' ', '\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', '\030', ' ', '\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', '\031', ' ', '\001', '(', '\t', 'R', '\r', 
  'f', 'k', '_', 'd', 'e', 'l', '_', 'a', 'c', 't', 'i', 'o', 'n', '\022', '8', '\n', '\017', 'f', 'k', '_', 'd', 'e', 'l', '_', 's', 
  'e', 't', '_', 'c', 'o', 'l', 's', '\030', '\032', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'N', 'o', 'd', 'e', 'R', '\017', 'f', 'k', '_', 'd', 'e', 'l', '_', 's', 'e', 't', '_', 'c', 'o', 'l', 's', '\022', '4', '\n', '\r', 
  'o', 'l', 'd', '_', 'c', 'o', 'n', 'p', 'f', 'e', 'q', 'o', 'p', '\030', '\033', ' ', '\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', '\034', ' ', '\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', '\035', ' ', '\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', '\036', ' ', '\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', '\"', '\371', '\013', '\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', '\020', 'j', 'o', 'i', 'n', '_', 'u', 's', 'i', 'n', 
  'g', '_', 'a', 'l', 'i', 'a', 's', '\030', '\r', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
  'A', 'l', 'i', 'a', 's', 'R', '\020', 'j', 'o', 'i', 'n', '_', 'u', 's', 'i', 'n', 'g', '_', 'a', 'l', 'i', 'a', 's', '\022', ',', 
  '\n', '\t', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 's', '\030', '\016', ' ', '\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', '\017', ' ', '\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', '\020', ' ', 
  '\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', '\021', ' ', '\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', '\022', 
  ' ', '\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', '\023', ' ', '\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', '\024', ' ', '\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', 
  '\025', ' ', '\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', '\026', ' ', '\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', '\027', ' ', '\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', '\030', ' ', '\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', '\031', ' ', 
  '\001', '(', '\001', 'R', '\t', 'e', 'n', 'r', 't', 'u', 'p', 'l', 'e', 's', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\032', 
  ' ', '\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', '\033', ' ', '\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', '\034', ' ', '\001', '(', '\010', 'R', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '\020', '\n', '\003', 'i', 'n', 'h', '\030', '\035', 
  ' ', '\001', '(', '\010', 'R', '\003', 'i', 'n', 'h', '\022', '\034', '\n', '\n', 'i', 'n', '_', 'f', 'r', 'o', 'm', '_', 'c', 'l', '\030', '\036', 
  ' ', '\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', '\037', ' ', '\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', ' ', ' ', '\001', '(', 
  '\r', 'R', '\013', 'c', 'h', 'e', 'c', 'k', 'A', 's', 'U', 's', 'e', 'r', '\022', '#', '\n', '\r', 's', 'e', 'l', 'e', 'c', 't', 'e', 
  'd', '_', 'c', 'o', 'l', 's', '\030', '!', ' ', '\003', '(', '\004', 'R', '\014', 's', 'e', 'l', 'e', 'c', 't', 'e', 'd', 'C', 'o', 'l', 
  's', '\022', '#', '\n', '\r', 'i', 'n', 's', 'e', 'r', 't', 'e', 'd', '_', 'c', 'o', 'l', 's', '\030', '\"', ' ', '\003', '(', '\004', 'R', 
  '\014', 'i', 'n', 's', 'e', 'r', 't', 'e', 'd', 'C', 'o', 'l', 's', '\022', '!', '\n', '\014', 'u', 'p', 'd', 'a', 't', 'e', 'd', '_', 
  'c', 'o', 'l', 's', '\030', '#', ' ', '\003', '(', '\004', 'R', '\013', 'u', 'p', 'd', 'a', 't', 'e', 'd', 'C', 'o', 'l', 's', '\022', ',', 
  '\n', '\022', 'e', 'x', 't', 'r', 'a', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '_', 'c', 'o', 'l', 's', '\030', '$', ' ', '\003', '(', 
  '\004', 'R', '\020', 'e', 'x', 't', 'r', 'a', 'U', 'p', 'd', 'a', 't', 'e', 'd', 'C', 'o', 'l', 's', '\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', '\"', 
  '\340', '\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', '\022', '\036', '\n', 
  '\n', 'f', 'u', 'n', 'c', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\007', ' ', '\003', '(', '\004', 'R', '\n', 'f', 'u', 'n', 'c', 'p', 'a', 
  'r', 'a', 'm', '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', '\"', '\362', '\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', '3', '\n', '\r', 'r', 'u', 'n', '_', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\003', 
  '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'r', 'u', 'n', 'C', 'o', 
  'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', '-', '\n', '\023', 's', 't', 'a', 'r', 't', '_', 'i', 'n', '_', 'r', 'a', 'n', 'g', 'e', 
  '_', 'f', 'u', 'n', 'c', '\030', '\t', ' ', '\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', '\n', ' ', '\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', '\013', ' ', '\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', 
  '\014', ' ', '\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', '\r', ' ', '\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', '\016', ' ', '\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', '\017', ' ', '\001', '(', '\010', 'R', '\013', 'c', 'o', 'p', 'i', 'e', 'd', 'O', 'r', 'd', 'e', 'r', 
  '\"', '\302', '\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', '0', '\n', '\013', 'o', 'b', 'j', 'f', 'u', 'n', 'c', 'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', 
  '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'b', 'j', 'f', 'u', 'n', 'c', 'a', 
  'r', 'g', 's', '\022', '*', '\n', '\020', 'a', 'r', 'g', 's', '_', 'u', 'n', 's', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'd', '\030', '\004', 
  ' ', '\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', '\022', '!', '\n', '\014', 'r', 'e', 'l', 'a', 
  't', 'i', 'o', 'n', '_', 'o', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\013', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 'O', 
  'i', 'd', '\"', '\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', '\"', '\311', '\001', '\n', '\017', 'C', 'T', 'E', 'S', 'e', 
  'a', 'r', 'c', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', '8', '\n', '\017', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'o', 'l', '_', 
  'l', 'i', 's', 't', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
  'e', 'R', '\017', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'o', 'l', '_', 'l', 'i', 's', 't', '\022', '2', '\n', '\024', 's', 'e', 'a', 
  'r', 'c', 'h', '_', 'b', 'r', 'e', 'a', 'd', 't', 'h', '_', 'f', 'i', 'r', 's', 't', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\024', 
  's', 'e', 'a', 'r', 'c', 'h', '_', 'b', 'r', 'e', 'a', 'd', 't', 'h', '_', 'f', 'i', 'r', 's', 't', '\022', ',', '\n', '\021', 's', 
  'e', 'a', 'r', 'c', 'h', '_', 's', 'e', 'q', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\021', 's', 
  'e', 'a', 'r', 'c', 'h', '_', 's', 'e', 'q', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\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', '\"', '\362', '\003', '\n', '\016', 'C', 
  'T', 'E', 'C', 'y', 'c', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '6', '\n', '\016', 'c', 'y', 'c', 'l', 'e', '_', 'c', 'o', 
  'l', '_', 'l', 'i', 's', 't', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
  'o', 'd', 'e', 'R', '\016', 'c', 'y', 'c', 'l', 'e', '_', 'c', 'o', 'l', '_', 'l', 'i', 's', 't', '\022', ',', '\n', '\021', 'c', 'y', 
  'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\021', 'c', 'y', 
  'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\022', ':', '\n', '\020', 'c', 'y', 'c', 'l', 'e', '_', 
  'm', 'a', 'r', 'k', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
  'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\020', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'v', 'a', 'l', 'u', 'e', 
  '\022', '>', '\n', '\022', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\004', ' ', 
  '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\022', 'c', 'y', 'c', 'l', 
  'e', '_', 'm', 'a', 'r', 'k', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\022', ',', '\n', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'p', 
  'a', 't', 'h', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'p', 
  'a', 't', 'h', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\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', '\022', '(', '\n', '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 
  'r', 'k', '_', 't', 'y', 'p', 'e', '\030', '\007', ' ', '\001', '(', '\r', 'R', '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', 
  '_', 't', 'y', 'p', 'e', '\022', ',', '\n', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 't', 'y', 'p', 'm', 'o', 
  'd', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 't', 'y', 'p', 'm', 'o', 
  'd', '\022', '2', '\n', '\024', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 
  '\030', '\t', ' ', '\001', '(', '\r', 'R', '\024', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'l', 'a', 't', 
  'i', 'o', 'n', '\022', '(', '\n', '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'n', 'e', 'o', 'p', '\030', '\n', ' ', 
  '\001', '(', '\r', 'R', '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'n', 'e', 'o', 'p', '\"', '\210', '\005', '\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', '?', '\n', '\r', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 
  '\005', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'S', 'e', 'a', 'r', 'c', 
  'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\r', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\022', '<', '\n', 
  '\014', 'c', 'y', 'c', 'l', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'C', 'y', 'c', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\014', 'c', 'y', 'c', 
  'l', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\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', '\022', '\"', '\n', '\014', 'c', 't', 'e', 'r', 'e', 'c', 'u', 'r', 's', 
  'i', 'v', 'e', '\030', '\010', ' ', '\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', '\t', ' ', '\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', '\n', ' ', 
  '\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', '\013', ' ', 
  '\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', 
  '\014', ' ', '\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', '\r', ' ', '\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', '\"', '\236', '\002', '\n', 
  '\017', 'M', 'e', 'r', 'g', 'e', 'W', 'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\030', '\n', '\007', 'm', 'a', 't', 'c', 'h', 
  'e', 'd', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'm', 'a', 't', 'c', 'h', 'e', 'd', '\022', '4', '\n', '\014', 'c', 'o', 'm', 'm', 
  'a', 'n', 'd', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\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', '4', '\n', '\010', 
  'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\003', ' ', '\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', ',', '\n', '\t', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
  'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', '/', '\n', '\013', 
  't', 'a', 'r', 'g', 'e', 't', '_', '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', 'r', 'g', 'e', 't', 'L', 'i', 's', 't', '\022', '&', '\n', '\006', 'v', 
  'a', 'l', 'u', 'e', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
  'd', 'e', 'R', '\006', 'v', 'a', 'l', 'u', 'e', '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', '\"', '\212', '\001', '\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', '\022', '\036', '\n', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\n', 'c', 
  'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\"', '|', '\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', '\"', '\276', '\001', '\n', '\022', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 
  'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', '\022', '@', '\n', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\001', ' ', 
  '\001', '(', '\016', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 
  'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', 'T', 'y', 'p', 'e', 'R', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', 
  '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '6', '\n', '\010', 'p', 'u', 
  'b', 't', 'a', 'b', 'l', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 
  'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'R', '\010', 'p', 'u', 'b', 't', 'a', 'b', 'l', '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', '\"', '\237', '\001', '\n', '\020', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'T', 'a', 'b', 'l', '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', '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', '(', 
  '\n', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
  'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'l', 'u', 'm', 'n', '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', '*', '~', '\n', '\r', 'S', 'e', 't', 'Q', 'u', 'a', 'n', 't', 'i', 'f', 'i', 'e', 'r', '\022', 
  '\034', '\n', '\030', 'S', 'E', 'T', '_', 'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 
  'E', 'D', '\020', '\000', '\022', '\032', '\n', '\026', 'S', 'E', 'T', '_', 'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', '_', 'D', 'E', 
  'F', 'A', 'U', 'L', 'T', '\020', '\001', '\022', '\026', '\n', '\022', 'S', 'E', 'T', '_', 'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', 
  '_', 'A', 'L', 'L', '\020', '\002', '\022', '\033', '\n', '\027', 'S', 'E', 'T', '_', 'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', '_', 
  'D', 'I', 'S', 'T', 'I', 'N', 'C', 'T', '\020', '\003', '*', '\266', '\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', '_', 
  'I', 'N', '\020', '\007', '\022', '\016', '\n', '\n', 'A', 'E', 'X', 'P', 'R', '_', 'L', 'I', 'K', 'E', '\020', '\010', '\022', '\017', '\n', '\013', 'A', 
  'E', 'X', 'P', 'R', '_', 'I', 'L', 'I', 'K', 'E', '\020', '\t', '\022', '\021', '\n', '\r', 'A', 'E', 'X', 'P', 'R', '_', 'S', 'I', 'M', 
  'I', 'L', 'A', 'R', '\020', '\n', '\022', '\021', '\n', '\r', 'A', 'E', 'X', 'P', 'R', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\013', 
  '\022', '\025', '\n', '\021', 'A', 'E', 'X', 'P', 'R', '_', 'N', 'O', 'T', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\014', '\022', '\025', 
  '\n', '\021', 'A', 'E', 'X', 'P', 'R', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '_', 'S', 'Y', 'M', '\020', '\r', '\022', '\031', '\n', '\025', 
  'A', 'E', 'X', 'P', 'R', '_', 'N', 'O', 'T', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '_', 'S', 'Y', 'M', '\020', '\016', '*', '\250', 
  '\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', '_', 'R', 'O', 'L', 'E', '\020', '\002', '\022', '\031', '\n', '\025', 'R', 'O', 
  'L', 'E', 'S', 'P', 'E', 'C', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 'S', 'E', 'R', '\020', '\003', '\022', '\031', '\n', '\025', 
  'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 'S', 'E', 'S', 'S', 'I', 'O', 'N', '_', 'U', 'S', 'E', 'R', '\020', '\004', '\022', '\023', 
  '\n', '\017', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 'P', 'U', 'B', 'L', 'I', 'C', '\020', '\005', '*', '\364', '\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', 'M', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', '\020', '\002', '\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', '\003', '\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', '\004', '\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', '\005', '\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', '\006', '\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', '\007', '\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', '\010', '\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', '\t', '\022', '\031', '\n', '\025', 'C', 'R', 'E', 'A', 
  'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'A', 'L', 'L', '\020', '\n', '*', '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', '*', '\304', '\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', '\022', '\036', '\n', '\032', 'W', 'C', 'O', '_', 'R', 
  'L', 'S', '_', 'M', 'E', 'R', 'G', 'E', '_', 'U', 'P', 'D', 'A', 'T', 'E', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\005', '\022', '\036', 
  '\n', '\032', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'M', 'E', 'R', 'G', 'E', '_', 'D', 'E', 'L', 'E', 'T', 'E', '_', 'C', 'H', 
  'E', 'C', 'K', '\020', '\006', '*', '\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', '*', '\231', '\t', '\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', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 
  'A', 'R', 'A', 'M', 'E', 'T', 'E', 'R', '_', 'A', 'C', 'L', '\020', '\034', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 
  'P', 'O', 'L', 'I', 'C', 'Y', '\020', '\035', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'R', 'O', 'C', 'E', 'D', 
  'U', 'R', 'E', '\020', '\036', '\022', '\026', '\n', '\022', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 
  'O', 'N', '\020', '\037', '\022', ' ', '\n', '\034', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 
  'N', '_', 'N', 'A', 'M', 'E', 'S', 'P', 'A', 'C', 'E', '\020', ' ', '\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', '!', '\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', '0', '\022', '\025', '\n', '\021', 'O', 'B', 
  'J', 'E', 'C', 'T', '_', 'T', 'S', 'T', 'E', 'M', 'P', 'L', 'A', 'T', 'E', '\020', '1', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 
  'C', 'T', '_', 'T', 'Y', 'P', 'E', '\020', '2', '\022', '\027', '\n', '\023', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'U', 'S', 'E', 'R', '_', 
  'M', 'A', 'P', 'P', 'I', 'N', 'G', '\020', '3', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'V', 'I', 'E', 'W', '\020', 
  '4', '*', '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', '*', '\206', '\r', '\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', '\025', '\n', '\021', 'A', 'T', '_', 'S', 'e', 't', 
  'C', 'o', 'm', 'p', 'r', 'e', 's', 's', 'i', 'o', 'n', '\020', '\016', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 
  'o', 'l', 'u', 'm', 'n', '\020', '\017', '\022', '\030', '\n', '\024', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 'o', 'l', 'u', 'm', 'n', 'R', 
  'e', 'c', 'u', 'r', 's', 'e', '\020', '\020', '\022', '\017', '\n', '\013', 'A', 'T', '_', 'A', 'd', 'd', 'I', 'n', 'd', 'e', 'x', '\020', '\021', 
  '\022', '\021', '\n', '\r', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'I', 'n', 'd', 'e', 'x', '\020', '\022', '\022', '\024', '\n', '\020', 'A', 'T', 
  '_', 'A', 'd', 'd', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\023', '\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', '\024', '\022', '\026', '\n', '\022', 'A', 
  'T', '_', 'R', 'e', 'A', 'd', 'd', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\025', '\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', '\026', '\022', 
  '\026', '\n', '\022', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\027', '\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', '\030', 
  '\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', '\031', '\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', '\032', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 'o', 'n', 
  's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\033', '\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', '\034', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'R', 'e', 'A', 'd', 
  'd', 'C', 'o', 'm', 'm', 'e', 'n', 't', '\020', '\035', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'l', 
  'u', 'm', 'n', 'T', 'y', 'p', 'e', '\020', '\036', '\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', '\037', '\022', '\022', '\n', '\016', 'A', 'T', '_', 
  'C', 'h', 'a', 'n', 'g', 'e', 'O', 'w', 'n', 'e', 'r', '\020', ' ', '\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', '\026', '\n', '\022', 'A', 'T', '_', 'S', 'e', 't', 'A', 'c', 'c', 'e', 's', 's', 'M', 'e', 't', 
  'h', 'o', 'd', '\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', '0', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 
  'g', 'U', 's', 'e', 'r', '\020', '1', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', 
  'U', 's', 'e', 'r', '\020', '2', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'u', 'l', 'e', '\020', '3', 
  '\022', '\027', '\n', '\023', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'A', 'l', 'w', 'a', 'y', 's', 'R', 'u', 'l', 'e', '\020', '4', 
  '\022', '\030', '\n', '\024', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'R', 'u', 'l', 'e', '\020', 
  '5', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'R', 'u', 'l', 'e', '\020', '6', '\022', '\021', '\n', '\r', 
  'A', 'T', '_', 'A', 'd', 'd', 'I', 'n', 'h', 'e', 'r', 'i', 't', '\020', '7', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'r', 'o', 
  'p', 'I', 'n', 'h', 'e', 'r', 'i', 't', '\020', '8', '\022', '\014', '\n', '\010', 'A', 'T', '_', 'A', 'd', 'd', 'O', 'f', '\020', '9', '\022', 
  '\r', '\n', '\t', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'O', 'f', '\020', ':', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'R', 'e', 'p', 'l', 
  'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', '\020', ';', '\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', 'A', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'D', 'e', 't', 
  'a', 'c', 'h', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '\020', 'B', '\022', '\036', '\n', '\032', 'A', 'T', '_', 'D', 'e', 't', 'a', 
  'c', 'h', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'F', 'i', 'n', 'a', 'l', 'i', 'z', 'e', '\020', 'C', '\022', '\022', '\n', '\016', 
  'A', 'T', '_', 'A', 'd', 'd', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', '\020', 'D', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'S', 'e', 
  't', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', '\020', 'E', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'I', 'd', 'e', 
  'n', 't', 'i', 't', 'y', '\020', 'F', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'S', 't', 'a', 't', 'i', 's', 
  't', 'i', 'c', 's', '\020', 'G', '*', '\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', '*', 
  '\302', '\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', '\022', '\026', '\n', 
  '\022', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\006', '*', '\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', '*', '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', '*', '\312', '\001', '\n', '\026', 
  'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', 'T', 'y', 'p', 'e', '\022', '\'', '\n', 
  '#', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '_', 'O', 'B', 'J', '_', 'S', 'P', 'E', 'C', '_', 'T', 'Y', 'P', 
  'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', '\n', '\024', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 
  'I', 'O', 'N', 'O', 'B', 'J', '_', 'T', 'A', 'B', 'L', 'E', '\020', '\001', '\022', '#', '\n', '\037', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 
  'T', 'I', 'O', 'N', 'O', 'B', 'J', '_', 'T', 'A', 'B', 'L', 'E', 'S', '_', 'I', 'N', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', 
  '\002', '\022', '\'', '\n', '#', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', 'O', 'B', 'J', '_', 'T', 'A', 'B', 'L', 'E', 
  'S', '_', 'I', 'N', '_', 'C', 'U', 'R', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\003', '\022', '\037', '\n', '\033', 'P', 'U', 'B', 'L', 
  'I', 'C', 'A', 'T', 'I', 'O', 'N', 'O', 'B', 'J', '_', 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'A', 'T', 'I', 'O', 'N', '\020', '\004', 
  '*', 'z', '\n', '\026', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'A', 'c', 't', 'i', 'o', 
  'n', '\022', '&', '\n', '\"', 'A', 'L', 'T', 'E', 'R', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '_', 'A', 'C', 
  'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'A', 'P', '_', 'A', 'd', 
  'd', 'O', 'b', 'j', 'e', 'c', 't', 's', '\020', '\001', '\022', '\022', '\n', '\016', 'A', 'P', '_', 'D', 'r', 'o', 'p', 'O', 'b', 'j', 'e', 
  'c', 't', 's', '\020', '\002', '\022', '\021', '\n', '\r', 'A', 'P', '_', 'S', 'e', 't', 'O', 'b', 'j', 'e', 'c', 't', 's', '\020', '\003', '*', 
  '\327', '\002', '\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', '\"', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 
  'I', 'O', 'N', '_', 'S', 'E', 'T', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\003', '\022', '&', '\n', '\"', 
  'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'A', 'D', 'D', '_', 'P', 'U', 
  'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\004', '\022', '\'', '\n', '#', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 
  'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'D', 'R', 'O', 'P', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', 
  '\020', '\005', '\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', '\006', '\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', '\007', '\022', '\033', '\n', '\027', 'A', 'L', 'T', 'E', 'R', 
  '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'S', 'K', 'I', 'P', '\020', '\010', '*', '\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', '*', '\216', '\001', '\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', '\024', '\n', '\020', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '\020', '\003', '\022', '\025', 
  '\n', '\021', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', '_', 'E', 'X', 'P', 'L', 'I', 'C', 'I', 'T', '\020', '\004', '*', '\220', '\001', '\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', '\022', '\025', '\n', '\021', 'C', 
  'O', 'E', 'R', 'C', 'E', '_', 'S', 'Q', 'L', '_', 'S', 'Y', 'N', 'T', 'A', 'X', '\020', '\004', '*', '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', '*', '\243', '\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', '\r', '\n', '\t', 'C', 'M', 'D', '_', 'M', 'E', 'R', 'G', 'E', '\020', '\006', 
  '\022', '\017', '\n', '\013', 'C', 'M', 'D', '_', 'U', 'T', 'I', 'L', 'I', 'T', 'Y', '\020', '\007', '\022', '\017', '\n', '\013', 'C', 'M', 'D', '_', 
  'N', 'O', 'T', 'H', 'I', 'N', 'G', '\020', '\010', '*', '\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', '*', '\341', '7', '\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', '2', '\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', '\017', '\n', '\n', 'A', 'S', 'E', 'N', 'S', 'I', 'T', 'I', 'V', 'E', '\020', '\250', '\002', '\022', '\016', 
  '\n', '\t', 'A', 'S', 'S', 'E', 'R', 'T', 'I', 'O', 'N', '\020', '\251', '\002', '\022', '\017', '\n', '\n', 'A', 'S', 'S', 'I', 'G', 'N', 'M', 
  'E', 'N', 'T', '\020', '\252', '\002', '\022', '\017', '\n', '\n', 'A', 'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'I', 'C', '\020', '\253', '\002', '\022', '\013', 
  '\n', '\006', 'A', 'T', 'O', 'M', 'I', 'C', '\020', '\254', '\002', '\022', '\007', '\n', '\002', 'A', 'T', '\020', '\255', '\002', '\022', '\013', '\n', '\006', 'A', 
  'T', 'T', 'A', 'C', 'H', '\020', '\256', '\002', '\022', '\016', '\n', '\t', 'A', 'T', 'T', 'R', 'I', 'B', 'U', 'T', 'E', '\020', '\257', '\002', '\022', 
  '\022', '\n', '\r', 'A', 'U', 'T', 'H', 'O', 'R', 'I', 'Z', 'A', 'T', 'I', 'O', 'N', '\020', '\260', '\002', '\022', '\r', '\n', '\010', 'B', 'A', 
  'C', 'K', 'W', 'A', 'R', 'D', '\020', '\261', '\002', '\022', '\013', '\n', '\006', 'B', 'E', 'F', 'O', 'R', 'E', '\020', '\262', '\002', '\022', '\014', '\n', 
  '\007', 'B', 'E', 'G', 'I', 'N', '_', 'P', '\020', '\263', '\002', '\022', '\014', '\n', '\007', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\264', '\002', 
  '\022', '\013', '\n', '\006', 'B', 'I', 'G', 'I', 'N', 'T', '\020', '\265', '\002', '\022', '\013', '\n', '\006', 'B', 'I', 'N', 'A', 'R', 'Y', '\020', '\266', 
  '\002', '\022', '\010', '\n', '\003', 'B', 'I', 'T', '\020', '\267', '\002', '\022', '\016', '\n', '\t', 'B', 'O', 'O', 'L', 'E', 'A', 'N', '_', 'P', '\020', 
  '\270', '\002', '\022', '\t', '\n', '\004', 'B', 'O', 'T', 'H', '\020', '\271', '\002', '\022', '\014', '\n', '\007', 'B', 'R', 'E', 'A', 'D', 'T', 'H', '\020', 
  '\272', '\002', '\022', '\007', '\n', '\002', 'B', 'Y', '\020', '\273', '\002', '\022', '\n', '\n', '\005', 'C', 'A', 'C', 'H', 'E', '\020', '\274', '\002', '\022', '\t', 
  '\n', '\004', 'C', 'A', 'L', 'L', '\020', '\275', '\002', '\022', '\013', '\n', '\006', 'C', 'A', 'L', 'L', 'E', 'D', '\020', '\276', '\002', '\022', '\014', '\n', 
  '\007', 'C', 'A', 'S', 'C', 'A', 'D', 'E', '\020', '\277', '\002', '\022', '\r', '\n', '\010', 'C', 'A', 'S', 'C', 'A', 'D', 'E', 'D', '\020', '\300', 
  '\002', '\022', '\t', '\n', '\004', 'C', 'A', 'S', 'E', '\020', '\301', '\002', '\022', '\t', '\n', '\004', 'C', 'A', 'S', 'T', '\020', '\302', '\002', '\022', '\016', 
  '\n', '\t', 'C', 'A', 'T', 'A', 'L', 'O', 'G', '_', 'P', '\020', '\303', '\002', '\022', '\n', '\n', '\005', 'C', 'H', 'A', 'I', 'N', '\020', '\304', 
  '\002', '\022', '\013', '\n', '\006', 'C', 'H', 'A', 'R', '_', 'P', '\020', '\305', '\002', '\022', '\016', '\n', '\t', 'C', 'H', 'A', 'R', 'A', 'C', 'T', 
  'E', 'R', '\020', '\306', '\002', '\022', '\024', '\n', '\017', 'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R', 'I', 'S', 'T', 'I', 'C', 'S', '\020', 
  '\307', '\002', '\022', '\n', '\n', '\005', 'C', 'H', 'E', 'C', 'K', '\020', '\310', '\002', '\022', '\017', '\n', '\n', 'C', 'H', 'E', 'C', 'K', 'P', 'O', 
  'I', 'N', 'T', '\020', '\311', '\002', '\022', '\n', '\n', '\005', 'C', 'L', 'A', 'S', 'S', '\020', '\312', '\002', '\022', '\n', '\n', '\005', 'C', 'L', 'O', 
  'S', 'E', '\020', '\313', '\002', '\022', '\014', '\n', '\007', 'C', 'L', 'U', 'S', 'T', 'E', 'R', '\020', '\314', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 
  'A', 'L', 'E', 'S', 'C', 'E', '\020', '\315', '\002', '\022', '\014', '\n', '\007', 'C', 'O', 'L', 'L', 'A', 'T', 'E', '\020', '\316', '\002', '\022', '\016', 
  '\n', '\t', 'C', 'O', 'L', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\317', '\002', '\022', '\013', '\n', '\006', 'C', 'O', 'L', 'U', 'M', 'N', '\020', 
  '\320', '\002', '\022', '\014', '\n', '\007', 'C', 'O', 'L', 'U', 'M', 'N', 'S', '\020', '\321', '\002', '\022', '\014', '\n', '\007', 'C', 'O', 'M', 'M', 'E', 
  'N', 'T', '\020', '\322', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'M', 'M', 'E', 'N', 'T', 'S', '\020', '\323', '\002', '\022', '\013', '\n', '\006', 'C', 
  'O', 'M', 'M', 'I', 'T', '\020', '\324', '\002', '\022', '\016', '\n', '\t', 'C', 'O', 'M', 'M', 'I', 'T', 'T', 'E', 'D', '\020', '\325', '\002', '\022', 
  '\020', '\n', '\013', 'C', 'O', 'M', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', '\020', '\326', '\002', '\022', '\021', '\n', '\014', 'C', 'O', 'N', 'C', 
  'U', 'R', 'R', 'E', 'N', 'T', 'L', 'Y', '\020', '\327', '\002', '\022', '\022', '\n', '\r', 'C', 'O', 'N', 'F', 'I', 'G', 'U', 'R', 'A', 'T', 
  'I', 'O', 'N', '\020', '\330', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '\020', '\331', '\002', '\022', '\017', '\n', '\n', 
  'C', 'O', 'N', 'N', 'E', 'C', 'T', 'I', 'O', 'N', '\020', '\332', '\002', '\022', '\017', '\n', '\n', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 
  'N', 'T', '\020', '\333', '\002', '\022', '\020', '\n', '\013', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', 'S', '\020', '\334', '\002', '\022', '\016', 
  '\n', '\t', 'C', 'O', 'N', 'T', 'E', 'N', 'T', '_', 'P', '\020', '\335', '\002', '\022', '\017', '\n', '\n', 'C', 'O', 'N', 'T', 'I', 'N', 'U', 
  'E', '_', 'P', '\020', '\336', '\002', '\022', '\021', '\n', '\014', 'C', 'O', 'N', 'V', 'E', 'R', 'S', 'I', 'O', 'N', '_', 'P', '\020', '\337', '\002', 
  '\022', '\t', '\n', '\004', 'C', 'O', 'P', 'Y', '\020', '\340', '\002', '\022', '\t', '\n', '\004', 'C', 'O', 'S', 'T', '\020', '\341', '\002', '\022', '\013', '\n', 
  '\006', 'C', 'R', 'E', 'A', 'T', 'E', '\020', '\342', '\002', '\022', '\n', '\n', '\005', 'C', 'R', 'O', 'S', 'S', '\020', '\343', '\002', '\022', '\010', '\n', 
  '\003', 'C', 'S', 'V', '\020', '\344', '\002', '\022', '\t', '\n', '\004', 'C', 'U', 'B', 'E', '\020', '\345', '\002', '\022', '\016', '\n', '\t', 'C', 'U', 'R', 
  'R', 'E', 'N', 'T', '_', 'P', '\020', '\346', '\002', '\022', '\024', '\n', '\017', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'C', 'A', 'T', 'A', 
  'L', 'O', 'G', '\020', '\347', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'D', 'A', 'T', 'E', '\020', '\350', '\002', 
  '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'R', 'O', 'L', 'E', '\020', '\351', '\002', '\022', '\023', '\n', '\016', 'C', 'U', 
  'R', 'R', 'E', 'N', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\352', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 
  'T', '_', 'T', 'I', 'M', 'E', '\020', '\353', '\002', '\022', '\026', '\n', '\021', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 'E', 
  'S', 'T', 'A', 'M', 'P', '\020', '\354', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 'S', 'E', 'R', '\020', 
  '\355', '\002', '\022', '\013', '\n', '\006', 'C', 'U', 'R', 'S', 'O', 'R', '\020', '\356', '\002', '\022', '\n', '\n', '\005', 'C', 'Y', 'C', 'L', 'E', '\020', 
  '\357', '\002', '\022', '\013', '\n', '\006', 'D', 'A', 'T', 'A', '_', 'P', '\020', '\360', '\002', '\022', '\r', '\n', '\010', 'D', 'A', 'T', 'A', 'B', 'A', 
  'S', 'E', '\020', '\361', '\002', '\022', '\n', '\n', '\005', 'D', 'A', 'Y', '_', 'P', '\020', '\362', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'A', 'L', 
  'L', 'O', 'C', 'A', 'T', 'E', '\020', '\363', '\002', '\022', '\010', '\n', '\003', 'D', 'E', 'C', '\020', '\364', '\002', '\022', '\016', '\n', '\t', 'D', 'E', 
  'C', 'I', 'M', 'A', 'L', '_', 'P', '\020', '\365', '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'C', 'L', 'A', 'R', 'E', '\020', '\366', '\002', '\022', 
  '\014', '\n', '\007', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\367', '\002', '\022', '\r', '\n', '\010', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 'S', 
  '\020', '\370', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'F', 'E', 'R', 'R', 'A', 'B', 'L', 'E', '\020', '\371', '\002', '\022', '\r', '\n', '\010', 'D', 
  'E', 'F', 'E', 'R', 'R', 'E', 'D', '\020', '\372', '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'F', 'I', 'N', 'E', 'R', '\020', '\373', '\002', '\022', 
  '\r', '\n', '\010', 'D', 'E', 'L', 'E', 'T', 'E', '_', 'P', '\020', '\374', '\002', '\022', '\016', '\n', '\t', 'D', 'E', 'L', 'I', 'M', 'I', 'T', 
  'E', 'R', '\020', '\375', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'L', 'I', 'M', 'I', 'T', 'E', 'R', 'S', '\020', '\376', '\002', '\022', '\014', '\n', 
  '\007', 'D', 'E', 'P', 'E', 'N', 'D', 'S', '\020', '\377', '\002', '\022', '\n', '\n', '\005', 'D', 'E', 'P', 'T', 'H', '\020', '\200', '\003', '\022', '\t', 
  '\n', '\004', 'D', 'E', 'S', 'C', '\020', '\201', '\003', '\022', '\013', '\n', '\006', 'D', 'E', 'T', 'A', 'C', 'H', '\020', '\202', '\003', '\022', '\017', '\n', 
  '\n', 'D', 'I', 'C', 'T', 'I', 'O', 'N', 'A', 'R', 'Y', '\020', '\203', '\003', '\022', '\016', '\n', '\t', 'D', 'I', 'S', 'A', 'B', 'L', 'E', 
  '_', 'P', '\020', '\204', '\003', '\022', '\014', '\n', '\007', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '\020', '\205', '\003', '\022', '\r', '\n', '\010', 'D', 'I', 
  'S', 'T', 'I', 'N', 'C', 'T', '\020', '\206', '\003', '\022', '\007', '\n', '\002', 'D', 'O', '\020', '\207', '\003', '\022', '\017', '\n', '\n', 'D', 'O', 'C', 
  'U', 'M', 'E', 'N', 'T', '_', 'P', '\020', '\210', '\003', '\022', '\r', '\n', '\010', 'D', 'O', 'M', 'A', 'I', 'N', '_', 'P', '\020', '\211', '\003', 
  '\022', '\r', '\n', '\010', 'D', 'O', 'U', 'B', 'L', 'E', '_', 'P', '\020', '\212', '\003', '\022', '\t', '\n', '\004', 'D', 'R', 'O', 'P', '\020', '\213', 
  '\003', '\022', '\t', '\n', '\004', 'E', 'A', 'C', 'H', '\020', '\214', '\003', '\022', '\t', '\n', '\004', 'E', 'L', 'S', 'E', '\020', '\215', '\003', '\022', '\r', 
  '\n', '\010', 'E', 'N', 'A', 'B', 'L', 'E', '_', 'P', '\020', '\216', '\003', '\022', '\r', '\n', '\010', 'E', 'N', 'C', 'O', 'D', 'I', 'N', 'G', 
  '\020', '\217', '\003', '\022', '\016', '\n', '\t', 'E', 'N', 'C', 'R', 'Y', 'P', 'T', 'E', 'D', '\020', '\220', '\003', '\022', '\n', '\n', '\005', 'E', 'N', 
  'D', '_', 'P', '\020', '\221', '\003', '\022', '\013', '\n', '\006', 'E', 'N', 'U', 'M', '_', 'P', '\020', '\222', '\003', '\022', '\013', '\n', '\006', 'E', 'S', 
  'C', 'A', 'P', 'E', '\020', '\223', '\003', '\022', '\n', '\n', '\005', 'E', 'V', 'E', 'N', 'T', '\020', '\224', '\003', '\022', '\013', '\n', '\006', 'E', 'X', 
  'C', 'E', 'P', 'T', '\020', '\225', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'C', 'L', 'U', 'D', 'E', '\020', '\226', '\003', '\022', '\016', '\n', '\t', 
  'E', 'X', 'C', 'L', 'U', 'D', 'I', 'N', 'G', '\020', '\227', '\003', '\022', '\016', '\n', '\t', 'E', 'X', 'C', 'L', 'U', 'S', 'I', 'V', 'E', 
  '\020', '\230', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'E', 'C', 'U', 'T', 'E', '\020', '\231', '\003', '\022', '\013', '\n', '\006', 'E', 'X', 'I', 'S', 
  'T', 'S', '\020', '\232', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'P', 'L', 'A', 'I', 'N', '\020', '\233', '\003', '\022', '\017', '\n', '\n', 'E', 'X', 
  'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', '\020', '\234', '\003', '\022', '\016', '\n', '\t', 'E', 'X', 'T', 'E', 'N', 'S', 'I', 'O', 'N', '\020', 
  '\235', '\003', '\022', '\r', '\n', '\010', 'E', 'X', 'T', 'E', 'R', 'N', 'A', 'L', '\020', '\236', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'T', 'R', 
  'A', 'C', 'T', '\020', '\237', '\003', '\022', '\014', '\n', '\007', 'F', 'A', 'L', 'S', 'E', '_', 'P', '\020', '\240', '\003', '\022', '\013', '\n', '\006', 'F', 
  'A', 'M', 'I', 'L', 'Y', '\020', '\241', '\003', '\022', '\n', '\n', '\005', 'F', 'E', 'T', 'C', 'H', '\020', '\242', '\003', '\022', '\013', '\n', '\006', 'F', 
  'I', 'L', 'T', 'E', 'R', '\020', '\243', '\003', '\022', '\r', '\n', '\010', 'F', 'I', 'N', 'A', 'L', 'I', 'Z', 'E', '\020', '\244', '\003', '\022', '\014', 
  '\n', '\007', 'F', 'I', 'R', 'S', 'T', '_', 'P', '\020', '\245', '\003', '\022', '\014', '\n', '\007', 'F', 'L', 'O', 'A', 'T', '_', 'P', '\020', '\246', 
  '\003', '\022', '\016', '\n', '\t', 'F', 'O', 'L', 'L', 'O', 'W', 'I', 'N', 'G', '\020', '\247', '\003', '\022', '\010', '\n', '\003', 'F', 'O', 'R', '\020', 
  '\250', '\003', '\022', '\n', '\n', '\005', 'F', 'O', 'R', 'C', 'E', '\020', '\251', '\003', '\022', '\014', '\n', '\007', 'F', 'O', 'R', 'E', 'I', 'G', 'N', 
  '\020', '\252', '\003', '\022', '\014', '\n', '\007', 'F', 'O', 'R', 'W', 'A', 'R', 'D', '\020', '\253', '\003', '\022', '\013', '\n', '\006', 'F', 'R', 'E', 'E', 
  'Z', 'E', '\020', '\254', '\003', '\022', '\t', '\n', '\004', 'F', 'R', 'O', 'M', '\020', '\255', '\003', '\022', '\t', '\n', '\004', 'F', 'U', 'L', 'L', '\020', 
  '\256', '\003', '\022', '\r', '\n', '\010', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', '\020', '\257', '\003', '\022', '\016', '\n', '\t', 'F', 'U', 'N', 'C', 
  'T', 'I', 'O', 'N', 'S', '\020', '\260', '\003', '\022', '\016', '\n', '\t', 'G', 'E', 'N', 'E', 'R', 'A', 'T', 'E', 'D', '\020', '\261', '\003', '\022', 
  '\013', '\n', '\006', 'G', 'L', 'O', 'B', 'A', 'L', '\020', '\262', '\003', '\022', '\n', '\n', '\005', 'G', 'R', 'A', 'N', 'T', '\020', '\263', '\003', '\022', 
  '\014', '\n', '\007', 'G', 'R', 'A', 'N', 'T', 'E', 'D', '\020', '\264', '\003', '\022', '\r', '\n', '\010', 'G', 'R', 'E', 'A', 'T', 'E', 'S', 'T', 
  '\020', '\265', '\003', '\022', '\014', '\n', '\007', 'G', 'R', 'O', 'U', 'P', '_', 'P', '\020', '\266', '\003', '\022', '\r', '\n', '\010', 'G', 'R', 'O', 'U', 
  'P', 'I', 'N', 'G', '\020', '\267', '\003', '\022', '\013', '\n', '\006', 'G', 'R', 'O', 'U', 'P', 'S', '\020', '\270', '\003', '\022', '\014', '\n', '\007', 'H', 
  'A', 'N', 'D', 'L', 'E', 'R', '\020', '\271', '\003', '\022', '\013', '\n', '\006', 'H', 'A', 'V', 'I', 'N', 'G', '\020', '\272', '\003', '\022', '\r', '\n', 
  '\010', 'H', 'E', 'A', 'D', 'E', 'R', '_', 'P', '\020', '\273', '\003', '\022', '\t', '\n', '\004', 'H', 'O', 'L', 'D', '\020', '\274', '\003', '\022', '\013', 
  '\n', '\006', 'H', 'O', 'U', 'R', '_', 'P', '\020', '\275', '\003', '\022', '\017', '\n', '\n', 'I', 'D', 'E', 'N', 'T', 'I', 'T', 'Y', '_', 'P', 
  '\020', '\276', '\003', '\022', '\t', '\n', '\004', 'I', 'F', '_', 'P', '\020', '\277', '\003', '\022', '\n', '\n', '\005', 'I', 'L', 'I', 'K', 'E', '\020', '\300', 
  '\003', '\022', '\016', '\n', '\t', 'I', 'M', 'M', 'E', 'D', 'I', 'A', 'T', 'E', '\020', '\301', '\003', '\022', '\016', '\n', '\t', 'I', 'M', 'M', 'U', 
  'T', 'A', 'B', 'L', 'E', '\020', '\302', '\003', '\022', '\017', '\n', '\n', 'I', 'M', 'P', 'L', 'I', 'C', 'I', 'T', '_', 'P', '\020', '\303', '\003', 
  '\022', '\r', '\n', '\010', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'P', '\020', '\304', '\003', '\022', '\t', '\n', '\004', 'I', 'N', '_', 'P', '\020', '\305', 
  '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'C', 'L', 'U', 'D', 'E', '\020', '\306', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'C', 'L', 'U', 'D', 
  'I', 'N', 'G', '\020', '\307', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'C', 'R', 'E', 'M', 'E', 'N', 'T', '\020', '\310', '\003', '\022', '\n', '\n', 
  '\005', 'I', 'N', 'D', 'E', 'X', '\020', '\311', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'D', 'E', 'X', 'E', 'S', '\020', '\312', '\003', '\022', '\014', 
  '\n', '\007', 'I', 'N', 'H', 'E', 'R', 'I', 'T', '\020', '\313', '\003', '\022', '\r', '\n', '\010', 'I', 'N', 'H', 'E', 'R', 'I', 'T', 'S', '\020', 
  '\314', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'I', 'T', 'I', 'A', 'L', 'L', 'Y', '\020', '\315', '\003', '\022', '\r', '\n', '\010', 'I', 'N', 'L', 
  'I', 'N', 'E', '_', 'P', '\020', '\316', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'N', 'E', 'R', '_', 'P', '\020', '\317', '\003', '\022', '\n', '\n', 
  '\005', 'I', 'N', 'O', 'U', 'T', '\020', '\320', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'P', 'U', 'T', '_', 'P', '\020', '\321', '\003', '\022', '\020', 
  '\n', '\013', 'I', 'N', 'S', 'E', 'N', 'S', 'I', 'T', 'I', 'V', 'E', '\020', '\322', '\003', '\022', '\013', '\n', '\006', 'I', 'N', 'S', 'E', 'R', 
  'T', '\020', '\323', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'S', 'T', 'E', 'A', 'D', '\020', '\324', '\003', '\022', '\n', '\n', '\005', 'I', 'N', 'T', 
  '_', 'P', '\020', '\325', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'T', 'E', 'G', 'E', 'R', '\020', '\326', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 
  'T', 'E', 'R', 'S', 'E', 'C', 'T', '\020', '\327', '\003', '\022', '\r', '\n', '\010', 'I', 'N', 'T', 'E', 'R', 'V', 'A', 'L', '\020', '\330', '\003', 
  '\022', '\t', '\n', '\004', 'I', 'N', 'T', 'O', '\020', '\331', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'V', 'O', 'K', 'E', 'R', '\020', '\332', '\003', 
  '\022', '\007', '\n', '\002', 'I', 'S', '\020', '\333', '\003', '\022', '\013', '\n', '\006', 'I', 'S', 'N', 'U', 'L', 'L', '\020', '\334', '\003', '\022', '\016', '\n', 
  '\t', 'I', 'S', 'O', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\335', '\003', '\022', '\t', '\n', '\004', 'J', 'O', 'I', 'N', '\020', '\336', '\003', '\022', 
  '\010', '\n', '\003', 'K', 'E', 'Y', '\020', '\337', '\003', '\022', '\n', '\n', '\005', 'L', 'A', 'B', 'E', 'L', '\020', '\340', '\003', '\022', '\r', '\n', '\010', 
  'L', 'A', 'N', 'G', 'U', 'A', 'G', 'E', '\020', '\341', '\003', '\022', '\014', '\n', '\007', 'L', 'A', 'R', 'G', 'E', '_', 'P', '\020', '\342', '\003', 
  '\022', '\013', '\n', '\006', 'L', 'A', 'S', 'T', '_', 'P', '\020', '\343', '\003', '\022', '\016', '\n', '\t', 'L', 'A', 'T', 'E', 'R', 'A', 'L', '_', 
  'P', '\020', '\344', '\003', '\022', '\014', '\n', '\007', 'L', 'E', 'A', 'D', 'I', 'N', 'G', '\020', '\345', '\003', '\022', '\016', '\n', '\t', 'L', 'E', 'A', 
  'K', 'P', 'R', 'O', 'O', 'F', '\020', '\346', '\003', '\022', '\n', '\n', '\005', 'L', 'E', 'A', 'S', 'T', '\020', '\347', '\003', '\022', '\t', '\n', '\004', 
  'L', 'E', 'F', 'T', '\020', '\350', '\003', '\022', '\n', '\n', '\005', 'L', 'E', 'V', 'E', 'L', '\020', '\351', '\003', '\022', '\t', '\n', '\004', 'L', 'I', 
  'K', 'E', '\020', '\352', '\003', '\022', '\n', '\n', '\005', 'L', 'I', 'M', 'I', 'T', '\020', '\353', '\003', '\022', '\013', '\n', '\006', 'L', 'I', 'S', 'T', 
  'E', 'N', '\020', '\354', '\003', '\022', '\t', '\n', '\004', 'L', 'O', 'A', 'D', '\020', '\355', '\003', '\022', '\n', '\n', '\005', 'L', 'O', 'C', 'A', 'L', 
  '\020', '\356', '\003', '\022', '\016', '\n', '\t', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', '\020', '\357', '\003', '\022', '\023', '\n', '\016', 'L', 'O', 
  'C', 'A', 'L', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\360', '\003', '\022', '\r', '\n', '\010', 'L', 'O', 'C', 'A', 'T', 'I', 
  'O', 'N', '\020', '\361', '\003', '\022', '\013', '\n', '\006', 'L', 'O', 'C', 'K', '_', 'P', '\020', '\362', '\003', '\022', '\013', '\n', '\006', 'L', 'O', 'C', 
  'K', 'E', 'D', '\020', '\363', '\003', '\022', '\013', '\n', '\006', 'L', 'O', 'G', 'G', 'E', 'D', '\020', '\364', '\003', '\022', '\014', '\n', '\007', 'M', 'A', 
  'P', 'P', 'I', 'N', 'G', '\020', '\365', '\003', '\022', '\n', '\n', '\005', 'M', 'A', 'T', 'C', 'H', '\020', '\366', '\003', '\022', '\014', '\n', '\007', 'M', 
  'A', 'T', 'C', 'H', 'E', 'D', '\020', '\367', '\003', '\022', '\021', '\n', '\014', 'M', 'A', 'T', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', 'D', 
  '\020', '\370', '\003', '\022', '\r', '\n', '\010', 'M', 'A', 'X', 'V', 'A', 'L', 'U', 'E', '\020', '\371', '\003', '\022', '\n', '\n', '\005', 'M', 'E', 'R', 
  'G', 'E', '\020', '\372', '\003', '\022', '\013', '\n', '\006', 'M', 'E', 'T', 'H', 'O', 'D', '\020', '\373', '\003', '\022', '\r', '\n', '\010', 'M', 'I', 'N', 
  'U', 'T', 'E', '_', 'P', '\020', '\374', '\003', '\022', '\r', '\n', '\010', 'M', 'I', 'N', 'V', 'A', 'L', 'U', 'E', '\020', '\375', '\003', '\022', '\t', 
  '\n', '\004', 'M', 'O', 'D', 'E', '\020', '\376', '\003', '\022', '\014', '\n', '\007', 'M', 'O', 'N', 'T', 'H', '_', 'P', '\020', '\377', '\003', '\022', '\t', 
  '\n', '\004', 'M', 'O', 'V', 'E', '\020', '\200', '\004', '\022', '\013', '\n', '\006', 'N', 'A', 'M', 'E', '_', 'P', '\020', '\201', '\004', '\022', '\n', '\n', 
  '\005', 'N', 'A', 'M', 'E', 'S', '\020', '\202', '\004', '\022', '\r', '\n', '\010', 'N', 'A', 'T', 'I', 'O', 'N', 'A', 'L', '\020', '\203', '\004', '\022', 
  '\014', '\n', '\007', 'N', 'A', 'T', 'U', 'R', 'A', 'L', '\020', '\204', '\004', '\022', '\n', '\n', '\005', 'N', 'C', 'H', 'A', 'R', '\020', '\205', '\004', 
  '\022', '\010', '\n', '\003', 'N', 'E', 'W', '\020', '\206', '\004', '\022', '\t', '\n', '\004', 'N', 'E', 'X', 'T', '\020', '\207', '\004', '\022', '\010', '\n', '\003', 
  'N', 'F', 'C', '\020', '\210', '\004', '\022', '\010', '\n', '\003', 'N', 'F', 'D', '\020', '\211', '\004', '\022', '\t', '\n', '\004', 'N', 'F', 'K', 'C', '\020', 
  '\212', '\004', '\022', '\t', '\n', '\004', 'N', 'F', 'K', 'D', '\020', '\213', '\004', '\022', '\007', '\n', '\002', 'N', 'O', '\020', '\214', '\004', '\022', '\t', '\n', 
  '\004', 'N', 'O', 'N', 'E', '\020', '\215', '\004', '\022', '\016', '\n', '\t', 'N', 'O', 'R', 'M', 'A', 'L', 'I', 'Z', 'E', '\020', '\216', '\004', '\022', 
  '\017', '\n', '\n', 'N', 'O', 'R', 'M', 'A', 'L', 'I', 'Z', 'E', 'D', '\020', '\217', '\004', '\022', '\010', '\n', '\003', 'N', 'O', 'T', '\020', '\220', 
  '\004', '\022', '\014', '\n', '\007', 'N', 'O', 'T', 'H', 'I', 'N', 'G', '\020', '\221', '\004', '\022', '\013', '\n', '\006', 'N', 'O', 'T', 'I', 'F', 'Y', 
  '\020', '\222', '\004', '\022', '\014', '\n', '\007', 'N', 'O', 'T', 'N', 'U', 'L', 'L', '\020', '\223', '\004', '\022', '\013', '\n', '\006', 'N', 'O', 'W', 'A', 
  'I', 'T', '\020', '\224', '\004', '\022', '\013', '\n', '\006', 'N', 'U', 'L', 'L', '_', 'P', '\020', '\225', '\004', '\022', '\013', '\n', '\006', 'N', 'U', 'L', 
  'L', 'I', 'F', '\020', '\226', '\004', '\022', '\014', '\n', '\007', 'N', 'U', 'L', 'L', 'S', '_', 'P', '\020', '\227', '\004', '\022', '\014', '\n', '\007', 'N', 
  'U', 'M', 'E', 'R', 'I', 'C', '\020', '\230', '\004', '\022', '\r', '\n', '\010', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', '\020', '\231', '\004', '\022', 
  '\007', '\n', '\002', 'O', 'F', '\020', '\232', '\004', '\022', '\010', '\n', '\003', 'O', 'F', 'F', '\020', '\233', '\004', '\022', '\013', '\n', '\006', 'O', 'F', 'F', 
  'S', 'E', 'T', '\020', '\234', '\004', '\022', '\t', '\n', '\004', 'O', 'I', 'D', 'S', '\020', '\235', '\004', '\022', '\010', '\n', '\003', 'O', 'L', 'D', '\020', 
  '\236', '\004', '\022', '\007', '\n', '\002', 'O', 'N', '\020', '\237', '\004', '\022', '\t', '\n', '\004', 'O', 'N', 'L', 'Y', '\020', '\240', '\004', '\022', '\r', '\n', 
  '\010', 'O', 'P', 'E', 'R', 'A', 'T', 'O', 'R', '\020', '\241', '\004', '\022', '\013', '\n', '\006', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\242', '\004', 
  '\022', '\014', '\n', '\007', 'O', 'P', 'T', 'I', 'O', 'N', 'S', '\020', '\243', '\004', '\022', '\007', '\n', '\002', 'O', 'R', '\020', '\244', '\004', '\022', '\n', 
  '\n', '\005', 'O', 'R', 'D', 'E', 'R', '\020', '\245', '\004', '\022', '\017', '\n', '\n', 'O', 'R', 'D', 'I', 'N', 'A', 'L', 'I', 'T', 'Y', '\020', 
  '\246', '\004', '\022', '\013', '\n', '\006', 'O', 'T', 'H', 'E', 'R', 'S', '\020', '\247', '\004', '\022', '\n', '\n', '\005', 'O', 'U', 'T', '_', 'P', '\020', 
  '\250', '\004', '\022', '\014', '\n', '\007', 'O', 'U', 'T', 'E', 'R', '_', 'P', '\020', '\251', '\004', '\022', '\t', '\n', '\004', 'O', 'V', 'E', 'R', '\020', 
  '\252', '\004', '\022', '\r', '\n', '\010', 'O', 'V', 'E', 'R', 'L', 'A', 'P', 'S', '\020', '\253', '\004', '\022', '\014', '\n', '\007', 'O', 'V', 'E', 'R', 
  'L', 'A', 'Y', '\020', '\254', '\004', '\022', '\017', '\n', '\n', 'O', 'V', 'E', 'R', 'R', 'I', 'D', 'I', 'N', 'G', '\020', '\255', '\004', '\022', '\n', 
  '\n', '\005', 'O', 'W', 'N', 'E', 'D', '\020', '\256', '\004', '\022', '\n', '\n', '\005', 'O', 'W', 'N', 'E', 'R', '\020', '\257', '\004', '\022', '\r', '\n', 
  '\010', 'P', 'A', 'R', 'A', 'L', 'L', 'E', 'L', '\020', '\260', '\004', '\022', '\016', '\n', '\t', 'P', 'A', 'R', 'A', 'M', 'E', 'T', 'E', 'R', 
  '\020', '\261', '\004', '\022', '\013', '\n', '\006', 'P', 'A', 'R', 'S', 'E', 'R', '\020', '\262', '\004', '\022', '\014', '\n', '\007', 'P', 'A', 'R', 'T', 'I', 
  'A', 'L', '\020', '\263', '\004', '\022', '\016', '\n', '\t', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '\020', '\264', '\004', '\022', '\014', '\n', '\007', 
  'P', 'A', 'S', 'S', 'I', 'N', 'G', '\020', '\265', '\004', '\022', '\r', '\n', '\010', 'P', 'A', 'S', 'S', 'W', 'O', 'R', 'D', '\020', '\266', '\004', 
  '\022', '\014', '\n', '\007', 'P', 'L', 'A', 'C', 'I', 'N', 'G', '\020', '\267', '\004', '\022', '\n', '\n', '\005', 'P', 'L', 'A', 'N', 'S', '\020', '\270', 
  '\004', '\022', '\013', '\n', '\006', 'P', 'O', 'L', 'I', 'C', 'Y', '\020', '\271', '\004', '\022', '\r', '\n', '\010', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 
  'N', '\020', '\272', '\004', '\022', '\016', '\n', '\t', 'P', 'R', 'E', 'C', 'E', 'D', 'I', 'N', 'G', '\020', '\273', '\004', '\022', '\016', '\n', '\t', 'P', 
  'R', 'E', 'C', 'I', 'S', 'I', 'O', 'N', '\020', '\274', '\004', '\022', '\r', '\n', '\010', 'P', 'R', 'E', 'S', 'E', 'R', 'V', 'E', '\020', '\275', 
  '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'E', 'P', 'A', 'R', 'E', '\020', '\276', '\004', '\022', '\r', '\n', '\010', 'P', 'R', 'E', 'P', 'A', 'R', 
  'E', 'D', '\020', '\277', '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'I', 'M', 'A', 'R', 'Y', '\020', '\300', '\004', '\022', '\n', '\n', '\005', 'P', 'R', 
  'I', 'O', 'R', '\020', '\301', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'I', 'V', 'I', 'L', 'E', 'G', 'E', 'S', '\020', '\302', '\004', '\022', '\017', 
  '\n', '\n', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'A', 'L', '\020', '\303', '\004', '\022', '\016', '\n', '\t', 'P', 'R', 'O', 'C', 'E', 'D', 
  'U', 'R', 'E', '\020', '\304', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'E', 'S', '\020', '\305', '\004', '\022', '\014', 
  '\n', '\007', 'P', 'R', 'O', 'G', 'R', 'A', 'M', '\020', '\306', '\004', '\022', '\020', '\n', '\013', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 
  'O', 'N', '\020', '\307', '\004', '\022', '\n', '\n', '\005', 'Q', 'U', 'O', 'T', 'E', '\020', '\310', '\004', '\022', '\n', '\n', '\005', 'R', 'A', 'N', 'G', 
  'E', '\020', '\311', '\004', '\022', '\t', '\n', '\004', 'R', 'E', 'A', 'D', '\020', '\312', '\004', '\022', '\t', '\n', '\004', 'R', 'E', 'A', 'L', '\020', '\313', 
  '\004', '\022', '\r', '\n', '\010', 'R', 'E', 'A', 'S', 'S', 'I', 'G', 'N', '\020', '\314', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'C', 'H', 'E', 
  'C', 'K', '\020', '\315', '\004', '\022', '\016', '\n', '\t', 'R', 'E', 'C', 'U', 'R', 'S', 'I', 'V', 'E', '\020', '\316', '\004', '\022', '\n', '\n', '\005', 
  'R', 'E', 'F', '_', 'P', '\020', '\317', '\004', '\022', '\017', '\n', '\n', 'R', 'E', 'F', 'E', 'R', 'E', 'N', 'C', 'E', 'S', '\020', '\320', '\004', 
  '\022', '\020', '\n', '\013', 'R', 'E', 'F', 'E', 'R', 'E', 'N', 'C', 'I', 'N', 'G', '\020', '\321', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'F', 
  'R', 'E', 'S', 'H', '\020', '\322', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '\020', '\323', '\004', '\022', '\017', '\n', '\n', 
  'R', 'E', 'L', 'A', 'T', 'I', 'V', 'E', '_', 'P', '\020', '\324', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '\020', 
  '\325', '\004', '\022', '\013', '\n', '\006', 'R', 'E', 'N', 'A', 'M', 'E', '\020', '\326', '\004', '\022', '\017', '\n', '\n', 'R', 'E', 'P', 'E', 'A', 'T', 
  'A', 'B', 'L', 'E', '\020', '\327', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'P', 'L', 'A', 'C', 'E', '\020', '\330', '\004', '\022', '\014', '\n', '\007', 
  'R', 'E', 'P', 'L', 'I', 'C', 'A', '\020', '\331', '\004', '\022', '\n', '\n', '\005', 'R', 'E', 'S', 'E', 'T', '\020', '\332', '\004', '\022', '\014', '\n', 
  '\007', 'R', 'E', 'S', 'T', 'A', 'R', 'T', '\020', '\333', '\004', '\022', '\r', '\n', '\010', 'R', 'E', 'S', 'T', 'R', 'I', 'C', 'T', '\020', '\334', 
  '\004', '\022', '\013', '\n', '\006', 'R', 'E', 'T', 'U', 'R', 'N', '\020', '\335', '\004', '\022', '\016', '\n', '\t', 'R', 'E', 'T', 'U', 'R', 'N', 'I', 
  'N', 'G', '\020', '\336', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'T', 'U', 'R', 'N', 'S', '\020', '\337', '\004', '\022', '\013', '\n', '\006', 'R', 'E', 
  'V', 'O', 'K', 'E', '\020', '\340', '\004', '\022', '\n', '\n', '\005', 'R', 'I', 'G', 'H', 'T', '\020', '\341', '\004', '\022', '\t', '\n', '\004', 'R', 'O', 
  'L', 'E', '\020', '\342', '\004', '\022', '\r', '\n', '\010', 'R', 'O', 'L', 'L', 'B', 'A', 'C', 'K', '\020', '\343', '\004', '\022', '\013', '\n', '\006', 'R', 
  'O', 'L', 'L', 'U', 'P', '\020', '\344', '\004', '\022', '\014', '\n', '\007', 'R', 'O', 'U', 'T', 'I', 'N', 'E', '\020', '\345', '\004', '\022', '\r', '\n', 
  '\010', 'R', 'O', 'U', 'T', 'I', 'N', 'E', 'S', '\020', '\346', '\004', '\022', '\010', '\n', '\003', 'R', 'O', 'W', '\020', '\347', '\004', '\022', '\t', '\n', 
  '\004', 'R', 'O', 'W', 'S', '\020', '\350', '\004', '\022', '\t', '\n', '\004', 'R', 'U', 'L', 'E', '\020', '\351', '\004', '\022', '\016', '\n', '\t', 'S', 'A', 
  'V', 'E', 'P', 'O', 'I', 'N', 'T', '\020', '\352', '\004', '\022', '\013', '\n', '\006', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\353', '\004', '\022', '\014', 
  '\n', '\007', 'S', 'C', 'H', 'E', 'M', 'A', 'S', '\020', '\354', '\004', '\022', '\013', '\n', '\006', 'S', 'C', 'R', 'O', 'L', 'L', '\020', '\355', '\004', 
  '\022', '\013', '\n', '\006', 'S', 'E', 'A', 'R', 'C', 'H', '\020', '\356', '\004', '\022', '\r', '\n', '\010', 'S', 'E', 'C', 'O', 'N', 'D', '_', 'P', 
  '\020', '\357', '\004', '\022', '\r', '\n', '\010', 'S', 'E', 'C', 'U', 'R', 'I', 'T', 'Y', '\020', '\360', '\004', '\022', '\013', '\n', '\006', 'S', 'E', 'L', 
  'E', 'C', 'T', '\020', '\361', '\004', '\022', '\r', '\n', '\010', 'S', 'E', 'Q', 'U', 'E', 'N', 'C', 'E', '\020', '\362', '\004', '\022', '\016', '\n', '\t', 
  'S', 'E', 'Q', 'U', 'E', 'N', 'C', 'E', 'S', '\020', '\363', '\004', '\022', '\021', '\n', '\014', 'S', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'A', 
  'B', 'L', 'E', '\020', '\364', '\004', '\022', '\013', '\n', '\006', 'S', 'E', 'R', 'V', 'E', 'R', '\020', '\365', '\004', '\022', '\014', '\n', '\007', 'S', 'E', 
  'S', 'S', 'I', 'O', 'N', '\020', '\366', '\004', '\022', '\021', '\n', '\014', 'S', 'E', 'S', 'S', 'I', 'O', 'N', '_', 'U', 'S', 'E', 'R', '\020', 
  '\367', '\004', '\022', '\010', '\n', '\003', 'S', 'E', 'T', '\020', '\370', '\004', '\022', '\t', '\n', '\004', 'S', 'E', 'T', 'S', '\020', '\371', '\004', '\022', '\n', 
  '\n', '\005', 'S', 'E', 'T', 'O', 'F', '\020', '\372', '\004', '\022', '\n', '\n', '\005', 'S', 'H', 'A', 'R', 'E', '\020', '\373', '\004', '\022', '\t', '\n', 
  '\004', 'S', 'H', 'O', 'W', '\020', '\374', '\004', '\022', '\014', '\n', '\007', 'S', 'I', 'M', 'I', 'L', 'A', 'R', '\020', '\375', '\004', '\022', '\013', '\n', 
  '\006', 'S', 'I', 'M', 'P', 'L', 'E', '\020', '\376', '\004', '\022', '\t', '\n', '\004', 'S', 'K', 'I', 'P', '\020', '\377', '\004', '\022', '\r', '\n', '\010', 
  'S', 'M', 'A', 'L', 'L', 'I', 'N', 'T', '\020', '\200', '\005', '\022', '\r', '\n', '\010', 'S', 'N', 'A', 'P', 'S', 'H', 'O', 'T', '\020', '\201', 
  '\005', '\022', '\t', '\n', '\004', 'S', 'O', 'M', 'E', '\020', '\202', '\005', '\022', '\n', '\n', '\005', 'S', 'Q', 'L', '_', 'P', '\020', '\203', '\005', '\022', 
  '\013', '\n', '\006', 'S', 'T', 'A', 'B', 'L', 'E', '\020', '\204', '\005', '\022', '\021', '\n', '\014', 'S', 'T', 'A', 'N', 'D', 'A', 'L', 'O', 'N', 
  'E', '_', 'P', '\020', '\205', '\005', '\022', '\n', '\n', '\005', 'S', 'T', 'A', 'R', 'T', '\020', '\206', '\005', '\022', '\016', '\n', '\t', 'S', 'T', 'A', 
  'T', 'E', 'M', 'E', 'N', 'T', '\020', '\207', '\005', '\022', '\017', '\n', '\n', 'S', 'T', 'A', 'T', 'I', 'S', 'T', 'I', 'C', 'S', '\020', '\210', 
  '\005', '\022', '\n', '\n', '\005', 'S', 'T', 'D', 'I', 'N', '\020', '\211', '\005', '\022', '\013', '\n', '\006', 'S', 'T', 'D', 'O', 'U', 'T', '\020', '\212', 
  '\005', '\022', '\014', '\n', '\007', 'S', 'T', 'O', 'R', 'A', 'G', 'E', '\020', '\213', '\005', '\022', '\013', '\n', '\006', 'S', 'T', 'O', 'R', 'E', 'D', 
  '\020', '\214', '\005', '\022', '\r', '\n', '\010', 'S', 'T', 'R', 'I', 'C', 'T', '_', 'P', '\020', '\215', '\005', '\022', '\014', '\n', '\007', 'S', 'T', 'R', 
  'I', 'P', '_', 'P', '\020', '\216', '\005', '\022', '\021', '\n', '\014', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '\020', '\217', 
  '\005', '\022', '\016', '\n', '\t', 'S', 'U', 'B', 'S', 'T', 'R', 'I', 'N', 'G', '\020', '\220', '\005', '\022', '\014', '\n', '\007', 'S', 'U', 'P', 'P', 
  'O', 'R', 'T', '\020', '\221', '\005', '\022', '\016', '\n', '\t', 'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'I', 'C', '\020', '\222', '\005', '\022', '\n', '\n', 
  '\005', 'S', 'Y', 'S', 'I', 'D', '\020', '\223', '\005', '\022', '\r', '\n', '\010', 'S', 'Y', 'S', 'T', 'E', 'M', '_', 'P', '\020', '\224', '\005', '\022', 
  '\n', '\n', '\005', 'T', 'A', 'B', 'L', 'E', '\020', '\225', '\005', '\022', '\013', '\n', '\006', 'T', 'A', 'B', 'L', 'E', 'S', '\020', '\226', '\005', '\022', 
  '\020', '\n', '\013', 'T', 'A', 'B', 'L', 'E', 'S', 'A', 'M', 'P', 'L', 'E', '\020', '\227', '\005', '\022', '\017', '\n', '\n', 'T', 'A', 'B', 'L', 
  'E', 'S', 'P', 'A', 'C', 'E', '\020', '\230', '\005', '\022', '\t', '\n', '\004', 'T', 'E', 'M', 'P', '\020', '\231', '\005', '\022', '\r', '\n', '\010', 'T', 
  'E', 'M', 'P', 'L', 'A', 'T', 'E', '\020', '\232', '\005', '\022', '\016', '\n', '\t', 'T', 'E', 'M', 'P', 'O', 'R', 'A', 'R', 'Y', '\020', '\233', 
  '\005', '\022', '\013', '\n', '\006', 'T', 'E', 'X', 'T', '_', 'P', '\020', '\234', '\005', '\022', '\t', '\n', '\004', 'T', 'H', 'E', 'N', '\020', '\235', '\005', 
  '\022', '\t', '\n', '\004', 'T', 'I', 'E', 'S', '\020', '\236', '\005', '\022', '\t', '\n', '\004', 'T', 'I', 'M', 'E', '\020', '\237', '\005', '\022', '\016', '\n', 
  '\t', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\240', '\005', '\022', '\007', '\n', '\002', 'T', 'O', '\020', '\241', '\005', '\022', '\r', '\n', 
  '\010', 'T', 'R', 'A', 'I', 'L', 'I', 'N', 'G', '\020', '\242', '\005', '\022', '\020', '\n', '\013', 'T', 'R', 'A', 'N', 'S', 'A', 'C', 'T', 'I', 
  'O', 'N', '\020', '\243', '\005', '\022', '\016', '\n', '\t', 'T', 'R', 'A', 'N', 'S', 'F', 'O', 'R', 'M', '\020', '\244', '\005', '\022', '\n', '\n', '\005', 
  'T', 'R', 'E', 'A', 'T', '\020', '\245', '\005', '\022', '\014', '\n', '\007', 'T', 'R', 'I', 'G', 'G', 'E', 'R', '\020', '\246', '\005', '\022', '\t', '\n', 
  '\004', 'T', 'R', 'I', 'M', '\020', '\247', '\005', '\022', '\013', '\n', '\006', 'T', 'R', 'U', 'E', '_', 'P', '\020', '\250', '\005', '\022', '\r', '\n', '\010', 
  'T', 'R', 'U', 'N', 'C', 'A', 'T', 'E', '\020', '\251', '\005', '\022', '\014', '\n', '\007', 'T', 'R', 'U', 'S', 'T', 'E', 'D', '\020', '\252', '\005', 
  '\022', '\013', '\n', '\006', 'T', 'Y', 'P', 'E', '_', 'P', '\020', '\253', '\005', '\022', '\014', '\n', '\007', 'T', 'Y', 'P', 'E', 'S', '_', 'P', '\020', 
  '\254', '\005', '\022', '\014', '\n', '\007', 'U', 'E', 'S', 'C', 'A', 'P', 'E', '\020', '\255', '\005', '\022', '\016', '\n', '\t', 'U', 'N', 'B', 'O', 'U', 
  'N', 'D', 'E', 'D', '\020', '\256', '\005', '\022', '\020', '\n', '\013', 'U', 'N', 'C', 'O', 'M', 'M', 'I', 'T', 'T', 'E', 'D', '\020', '\257', '\005', 
  '\022', '\020', '\n', '\013', 'U', 'N', 'E', 'N', 'C', 'R', 'Y', 'P', 'T', 'E', 'D', '\020', '\260', '\005', '\022', '\n', '\n', '\005', 'U', 'N', 'I', 
  'O', 'N', '\020', '\261', '\005', '\022', '\013', '\n', '\006', 'U', 'N', 'I', 'Q', 'U', 'E', '\020', '\262', '\005', '\022', '\014', '\n', '\007', 'U', 'N', 'K', 
  'N', 'O', 'W', 'N', '\020', '\263', '\005', '\022', '\r', '\n', '\010', 'U', 'N', 'L', 'I', 'S', 'T', 'E', 'N', '\020', '\264', '\005', '\022', '\r', '\n', 
  '\010', 'U', 'N', 'L', 'O', 'G', 'G', 'E', 'D', '\020', '\265', '\005', '\022', '\n', '\n', '\005', 'U', 'N', 'T', 'I', 'L', '\020', '\266', '\005', '\022', 
  '\013', '\n', '\006', 'U', 'P', 'D', 'A', 'T', 'E', '\020', '\267', '\005', '\022', '\t', '\n', '\004', 'U', 'S', 'E', 'R', '\020', '\270', '\005', '\022', '\n', 
  '\n', '\005', 'U', 'S', 'I', 'N', 'G', '\020', '\271', '\005', '\022', '\013', '\n', '\006', 'V', 'A', 'C', 'U', 'U', 'M', '\020', '\272', '\005', '\022', '\n', 
  '\n', '\005', 'V', 'A', 'L', 'I', 'D', '\020', '\273', '\005', '\022', '\r', '\n', '\010', 'V', 'A', 'L', 'I', 'D', 'A', 'T', 'E', '\020', '\274', '\005', 
  '\022', '\016', '\n', '\t', 'V', 'A', 'L', 'I', 'D', 'A', 'T', 'O', 'R', '\020', '\275', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'L', 'U', 'E', 
  '_', 'P', '\020', '\276', '\005', '\022', '\013', '\n', '\006', 'V', 'A', 'L', 'U', 'E', 'S', '\020', '\277', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'R', 
  'C', 'H', 'A', 'R', '\020', '\300', '\005', '\022', '\r', '\n', '\010', 'V', 'A', 'R', 'I', 'A', 'D', 'I', 'C', '\020', '\301', '\005', '\022', '\014', '\n', 
  '\007', 'V', 'A', 'R', 'Y', 'I', 'N', 'G', '\020', '\302', '\005', '\022', '\014', '\n', '\007', 'V', 'E', 'R', 'B', 'O', 'S', 'E', '\020', '\303', '\005', 
  '\022', '\016', '\n', '\t', 'V', 'E', 'R', 'S', 'I', 'O', 'N', '_', 'P', '\020', '\304', '\005', '\022', '\t', '\n', '\004', 'V', 'I', 'E', 'W', '\020', 
  '\305', '\005', '\022', '\n', '\n', '\005', 'V', 'I', 'E', 'W', 'S', '\020', '\306', '\005', '\022', '\r', '\n', '\010', 'V', 'O', 'L', 'A', 'T', 'I', 'L', 
  'E', '\020', '\307', '\005', '\022', '\t', '\n', '\004', 'W', 'H', 'E', 'N', '\020', '\310', '\005', '\022', '\n', '\n', '\005', 'W', 'H', 'E', 'R', 'E', '\020', 
  '\311', '\005', '\022', '\021', '\n', '\014', 'W', 'H', 'I', 'T', 'E', 'S', 'P', 'A', 'C', 'E', '_', 'P', '\020', '\312', '\005', '\022', '\013', '\n', '\006', 
  'W', 'I', 'N', 'D', 'O', 'W', '\020', '\313', '\005', '\022', '\t', '\n', '\004', 'W', 'I', 'T', 'H', '\020', '\314', '\005', '\022', '\013', '\n', '\006', 'W', 
  'I', 'T', 'H', 'I', 'N', '\020', '\315', '\005', '\022', '\014', '\n', '\007', 'W', 'I', 'T', 'H', 'O', 'U', 'T', '\020', '\316', '\005', '\022', '\t', '\n', 
  '\004', 'W', 'O', 'R', 'K', '\020', '\317', '\005', '\022', '\014', '\n', '\007', 'W', 'R', 'A', 'P', 'P', 'E', 'R', '\020', '\320', '\005', '\022', '\n', '\n', 
  '\005', 'W', 'R', 'I', 'T', 'E', '\020', '\321', '\005', '\022', '\n', '\n', '\005', 'X', 'M', 'L', '_', 'P', '\020', '\322', '\005', '\022', '\022', '\n', '\r', 
  'X', 'M', 'L', 'A', 'T', 'T', 'R', 'I', 'B', 'U', 'T', 'E', 'S', '\020', '\323', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 'L', 'C', 'O', 
  'N', 'C', 'A', 'T', '\020', '\324', '\005', '\022', '\017', '\n', '\n', 'X', 'M', 'L', 'E', 'L', 'E', 'M', 'E', 'N', 'T', '\020', '\325', '\005', '\022', 
  '\016', '\n', '\t', 'X', 'M', 'L', 'E', 'X', 'I', 'S', 'T', 'S', '\020', '\326', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 'L', 'F', 'O', 'R', 
  'E', 'S', 'T', '\020', '\327', '\005', '\022', '\022', '\n', '\r', 'X', 'M', 'L', 'N', 'A', 'M', 'E', 'S', 'P', 'A', 'C', 'E', 'S', '\020', '\330', 
  '\005', '\022', '\r', '\n', '\010', 'X', 'M', 'L', 'P', 'A', 'R', 'S', 'E', '\020', '\331', '\005', '\022', '\n', '\n', '\005', 'X', 'M', 'L', 'P', 'I', 
  '\020', '\332', '\005', '\022', '\014', '\n', '\007', 'X', 'M', 'L', 'R', 'O', 'O', 'T', '\020', '\333', '\005', '\022', '\021', '\n', '\014', 'X', 'M', 'L', 'S', 
  'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', '\020', '\334', '\005', '\022', '\r', '\n', '\010', 'X', 'M', 'L', 'T', 'A', 'B', 'L', 'E', '\020', '\335', 
  '\005', '\022', '\013', '\n', '\006', 'Y', 'E', 'A', 'R', '_', 'P', '\020', '\336', '\005', '\022', '\n', '\n', '\005', 'Y', 'E', 'S', '_', 'P', '\020', '\337', 
  '\005', '\022', '\t', '\n', '\004', 'Z', 'O', 'N', 'E', '\020', '\340', '\005', '\022', '\013', '\n', '\006', 'N', 'O', 'T', '_', 'L', 'A', '\020', '\341', '\005', 
  '\022', '\r', '\n', '\010', 'N', 'U', 'L', 'L', 'S', '_', 'L', 'A', '\020', '\342', '\005', '\022', '\014', '\n', '\007', 'W', 'I', 'T', 'H', '_', 'L', 
  'A', '\020', '\343', '\005', '\022', '\023', '\n', '\016', 'M', 'O', 'D', 'E', '_', 'T', 'Y', 'P', 'E', '_', 'N', 'A', 'M', 'E', '\020', '\344', '\005', 
  '\022', '\026', '\n', '\021', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'E', 'X', 'P', 'R', '\020', '\345', '\005', '\022', 
  '\031', '\n', '\024', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'A', 'S', 'S', 'I', 'G', 'N', '1', '\020', '\346', 
  '\005', '\022', '\031', '\n', '\024', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'A', 'S', 'S', 'I', 'G', 'N', '2', 
  '\020', '\347', '\005', '\022', '\031', '\n', '\024', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'A', 'S', 'S', 'I', 'G', 
  'N', '3', '\020', '\350', '\005', '\022', '\013', '\n', '\006', 'U', 'M', 'I', 'N', 'U', 'S', '\020', '\351', '\005', 'b', '\006', 'p', 'r', 'o', 't', 'o', 
  '3', 
  '\0' };
static ::_pbi::once_flag descriptor_table_protobuf_2fpg_5fquery_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_protobuf_2fpg_5fquery_2eproto = {
    false, false, 87876, descriptor_table_protodef_protobuf_2fpg_5fquery_2eproto,
    "protobuf/pg_query.proto",
    &descriptor_table_protobuf_2fpg_5fquery_2eproto_once, nullptr, 0, 242,
    schemas, file_default_instances, TableStruct_protobuf_2fpg_5fquery_2eproto::offsets,
    file_level_metadata_protobuf_2fpg_5fquery_2eproto, file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto,
    file_level_service_descriptors_protobuf_2fpg_5fquery_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_protobuf_2fpg_5fquery_2eproto_getter() {
  return &descriptor_table_protobuf_2fpg_5fquery_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_protobuf_2fpg_5fquery_2eproto(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
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* SetQuantifier_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[4];
}
bool SetQuantifier_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[5];
}
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:
      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[6];
}
bool RoleSpecType_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* TableLikeOption_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[7];
}
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:
    case 10:
      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[8];
}
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[9];
}
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[10];
}
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[11];
}
bool WCOKind_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* GroupingSetKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[12];
}
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[13];
}
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[14];
}
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[15];
}
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:
    case 51:
    case 52:
      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[16];
}
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[17];
}
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:
    case 68:
    case 69:
    case 70:
    case 71:
      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[18];
}
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[19];
}
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[20];
}
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[21];
}
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[22];
}
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[23];
}
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[24];
}
bool FunctionParameterMode_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* TransactionStmtKind_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[25];
}
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[26];
}
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* 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* PublicationObjSpecType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[30];
}
bool PublicationObjSpecType_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* AlterPublicationAction_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[31];
}
bool AlterPublicationAction_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      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[32];
}
bool AlterSubscriptionType_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* OnCommitAction_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[33];
}
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[34];
}
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[35];
}
bool CoercionContext_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* CoercionForm_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[36];
}
bool CoercionForm_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* BoolExprType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[37];
}
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[38];
}
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[39];
}
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[40];
}
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[41];
}
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[42];
}
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[43];
}
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[44];
}
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[45];
}
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[46];
}
bool CmdType_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* JoinType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[47];
}
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[48];
}
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[49];
}
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[50];
}
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[51];
}
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[52];
}
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[53];
}
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[54];
}
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[55];
}
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[56];
}
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[57];
}
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[58];
}
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 92:
    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:
    case 732:
    case 733:
    case 734:
    case 735:
    case 736:
    case 737:
    case 738:
    case 739:
    case 740:
    case 741:
    case 742:
    case 743:
    case 744:
    case 745:
      return true;
    default:
      return false;
  }
}


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

class ParseResult::_Internal {
 public:
};

ParseResult::ParseResult(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ParseResult)
}
ParseResult::ParseResult(const ParseResult& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ParseResult* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.stmts_){from._impl_.stmts_}
    , decltype(_impl_.version_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.version_ = from._impl_.version_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ParseResult)
}

inline void ParseResult::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.stmts_){arena}
    , decltype(_impl_.version_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ParseResult::~ParseResult() {
  // @@protoc_insertion_point(destructor:pg_query.ParseResult)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ParseResult::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.stmts_.~RepeatedPtrField();
}

void ParseResult::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ParseResult::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.RawStmt stmts = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // repeated .pg_query.RawStmt stmts = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_stmts_size()); i < n; i++) {
    const auto& repfield = this->_internal_stmts(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.stmts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ParseResult::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ParseResult::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ParseResult::GetClassData() const { return &_class_data_; }


void ParseResult::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ParseResult*>(&to_msg);
  auto& from = static_cast<const ParseResult&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ParseResult)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.stmts_.MergeFrom(from._impl_.stmts_);
  if (from._internal_version() != 0) {
    _this->_internal_set_version(from._internal_version());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.stmts_.InternalSwap(&other->_impl_.stmts_);
  swap(_impl_.version_, other->_impl_.version_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ParseResult::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[0]);
}

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

class ScanResult::_Internal {
 public:
};

ScanResult::ScanResult(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScanResult)
}
ScanResult::ScanResult(const ScanResult& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ScanResult* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.tokens_){from._impl_.tokens_}
    , decltype(_impl_.version_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.version_ = from._impl_.version_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ScanResult)
}

inline void ScanResult::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.tokens_){arena}
    , decltype(_impl_.version_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ScanResult::~ScanResult() {
  // @@protoc_insertion_point(destructor:pg_query.ScanResult)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ScanResult::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.tokens_.~RepeatedPtrField();
}

void ScanResult::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ScanResult::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.ScanToken tokens = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // repeated .pg_query.ScanToken tokens = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_tokens_size()); i < n; i++) {
    const auto& repfield = this->_internal_tokens(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.tokens_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ScanResult::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ScanResult::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ScanResult::GetClassData() const { return &_class_data_; }


void ScanResult::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ScanResult*>(&to_msg);
  auto& from = static_cast<const ScanResult&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ScanResult)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.tokens_.MergeFrom(from._impl_.tokens_);
  if (from._internal_version() != 0) {
    _this->_internal_set_version(from._internal_version());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.tokens_.InternalSwap(&other->_impl_.tokens_);
  swap(_impl_.version_, other->_impl_.version_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ScanResult::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[1]);
}

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

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::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::MergeAction& merge_action(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::MergeStmt& merge_stmt(const Node* msg);
  static const ::pg_query::SelectStmt& select_stmt(const Node* msg);
  static const ::pg_query::ReturnStmt& return_stmt(const Node* msg);
  static const ::pg_query::PLAssignStmt& plassign_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::AlterDatabaseRefreshCollStmt& alter_database_refresh_coll_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::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::StatsElem& stats_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::CTESearchClause& ctesearch_clause(const Node* msg);
  static const ::pg_query::CTECycleClause& ctecycle_clause(const Node* msg);
  static const ::pg_query::CommonTableExpr& common_table_expr(const Node* msg);
  static const ::pg_query::MergeWhenClause& merge_when_clause(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::PublicationObjSpec& publication_obj_spec(const Node* msg);
  static const ::pg_query::PublicationTable& publication_table(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::Boolean& boolean(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::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);
  static const ::pg_query::A_Const& a_const(const Node* msg);
};

const ::pg_query::Alias&
Node::_Internal::alias(const Node* msg) {
  return *msg->_impl_.node_.alias_;
}
const ::pg_query::RangeVar&
Node::_Internal::range_var(const Node* msg) {
  return *msg->_impl_.node_.range_var_;
}
const ::pg_query::TableFunc&
Node::_Internal::table_func(const Node* msg) {
  return *msg->_impl_.node_.table_func_;
}
const ::pg_query::Var&
Node::_Internal::var(const Node* msg) {
  return *msg->_impl_.node_.var_;
}
const ::pg_query::Param&
Node::_Internal::param(const Node* msg) {
  return *msg->_impl_.node_.param_;
}
const ::pg_query::Aggref&
Node::_Internal::aggref(const Node* msg) {
  return *msg->_impl_.node_.aggref_;
}
const ::pg_query::GroupingFunc&
Node::_Internal::grouping_func(const Node* msg) {
  return *msg->_impl_.node_.grouping_func_;
}
const ::pg_query::WindowFunc&
Node::_Internal::window_func(const Node* msg) {
  return *msg->_impl_.node_.window_func_;
}
const ::pg_query::SubscriptingRef&
Node::_Internal::subscripting_ref(const Node* msg) {
  return *msg->_impl_.node_.subscripting_ref_;
}
const ::pg_query::FuncExpr&
Node::_Internal::func_expr(const Node* msg) {
  return *msg->_impl_.node_.func_expr_;
}
const ::pg_query::NamedArgExpr&
Node::_Internal::named_arg_expr(const Node* msg) {
  return *msg->_impl_.node_.named_arg_expr_;
}
const ::pg_query::OpExpr&
Node::_Internal::op_expr(const Node* msg) {
  return *msg->_impl_.node_.op_expr_;
}
const ::pg_query::DistinctExpr&
Node::_Internal::distinct_expr(const Node* msg) {
  return *msg->_impl_.node_.distinct_expr_;
}
const ::pg_query::NullIfExpr&
Node::_Internal::null_if_expr(const Node* msg) {
  return *msg->_impl_.node_.null_if_expr_;
}
const ::pg_query::ScalarArrayOpExpr&
Node::_Internal::scalar_array_op_expr(const Node* msg) {
  return *msg->_impl_.node_.scalar_array_op_expr_;
}
const ::pg_query::BoolExpr&
Node::_Internal::bool_expr(const Node* msg) {
  return *msg->_impl_.node_.bool_expr_;
}
const ::pg_query::SubLink&
Node::_Internal::sub_link(const Node* msg) {
  return *msg->_impl_.node_.sub_link_;
}
const ::pg_query::SubPlan&
Node::_Internal::sub_plan(const Node* msg) {
  return *msg->_impl_.node_.sub_plan_;
}
const ::pg_query::AlternativeSubPlan&
Node::_Internal::alternative_sub_plan(const Node* msg) {
  return *msg->_impl_.node_.alternative_sub_plan_;
}
const ::pg_query::FieldSelect&
Node::_Internal::field_select(const Node* msg) {
  return *msg->_impl_.node_.field_select_;
}
const ::pg_query::FieldStore&
Node::_Internal::field_store(const Node* msg) {
  return *msg->_impl_.node_.field_store_;
}
const ::pg_query::RelabelType&
Node::_Internal::relabel_type(const Node* msg) {
  return *msg->_impl_.node_.relabel_type_;
}
const ::pg_query::CoerceViaIO&
Node::_Internal::coerce_via_io(const Node* msg) {
  return *msg->_impl_.node_.coerce_via_io_;
}
const ::pg_query::ArrayCoerceExpr&
Node::_Internal::array_coerce_expr(const Node* msg) {
  return *msg->_impl_.node_.array_coerce_expr_;
}
const ::pg_query::ConvertRowtypeExpr&
Node::_Internal::convert_rowtype_expr(const Node* msg) {
  return *msg->_impl_.node_.convert_rowtype_expr_;
}
const ::pg_query::CollateExpr&
Node::_Internal::collate_expr(const Node* msg) {
  return *msg->_impl_.node_.collate_expr_;
}
const ::pg_query::CaseExpr&
Node::_Internal::case_expr(const Node* msg) {
  return *msg->_impl_.node_.case_expr_;
}
const ::pg_query::CaseWhen&
Node::_Internal::case_when(const Node* msg) {
  return *msg->_impl_.node_.case_when_;
}
const ::pg_query::CaseTestExpr&
Node::_Internal::case_test_expr(const Node* msg) {
  return *msg->_impl_.node_.case_test_expr_;
}
const ::pg_query::ArrayExpr&
Node::_Internal::array_expr(const Node* msg) {
  return *msg->_impl_.node_.array_expr_;
}
const ::pg_query::RowExpr&
Node::_Internal::row_expr(const Node* msg) {
  return *msg->_impl_.node_.row_expr_;
}
const ::pg_query::RowCompareExpr&
Node::_Internal::row_compare_expr(const Node* msg) {
  return *msg->_impl_.node_.row_compare_expr_;
}
const ::pg_query::CoalesceExpr&
Node::_Internal::coalesce_expr(const Node* msg) {
  return *msg->_impl_.node_.coalesce_expr_;
}
const ::pg_query::MinMaxExpr&
Node::_Internal::min_max_expr(const Node* msg) {
  return *msg->_impl_.node_.min_max_expr_;
}
const ::pg_query::SQLValueFunction&
Node::_Internal::sqlvalue_function(const Node* msg) {
  return *msg->_impl_.node_.sqlvalue_function_;
}
const ::pg_query::XmlExpr&
Node::_Internal::xml_expr(const Node* msg) {
  return *msg->_impl_.node_.xml_expr_;
}
const ::pg_query::NullTest&
Node::_Internal::null_test(const Node* msg) {
  return *msg->_impl_.node_.null_test_;
}
const ::pg_query::BooleanTest&
Node::_Internal::boolean_test(const Node* msg) {
  return *msg->_impl_.node_.boolean_test_;
}
const ::pg_query::CoerceToDomain&
Node::_Internal::coerce_to_domain(const Node* msg) {
  return *msg->_impl_.node_.coerce_to_domain_;
}
const ::pg_query::CoerceToDomainValue&
Node::_Internal::coerce_to_domain_value(const Node* msg) {
  return *msg->_impl_.node_.coerce_to_domain_value_;
}
const ::pg_query::SetToDefault&
Node::_Internal::set_to_default(const Node* msg) {
  return *msg->_impl_.node_.set_to_default_;
}
const ::pg_query::CurrentOfExpr&
Node::_Internal::current_of_expr(const Node* msg) {
  return *msg->_impl_.node_.current_of_expr_;
}
const ::pg_query::NextValueExpr&
Node::_Internal::next_value_expr(const Node* msg) {
  return *msg->_impl_.node_.next_value_expr_;
}
const ::pg_query::InferenceElem&
Node::_Internal::inference_elem(const Node* msg) {
  return *msg->_impl_.node_.inference_elem_;
}
const ::pg_query::TargetEntry&
Node::_Internal::target_entry(const Node* msg) {
  return *msg->_impl_.node_.target_entry_;
}
const ::pg_query::RangeTblRef&
Node::_Internal::range_tbl_ref(const Node* msg) {
  return *msg->_impl_.node_.range_tbl_ref_;
}
const ::pg_query::JoinExpr&
Node::_Internal::join_expr(const Node* msg) {
  return *msg->_impl_.node_.join_expr_;
}
const ::pg_query::FromExpr&
Node::_Internal::from_expr(const Node* msg) {
  return *msg->_impl_.node_.from_expr_;
}
const ::pg_query::OnConflictExpr&
Node::_Internal::on_conflict_expr(const Node* msg) {
  return *msg->_impl_.node_.on_conflict_expr_;
}
const ::pg_query::IntoClause&
Node::_Internal::into_clause(const Node* msg) {
  return *msg->_impl_.node_.into_clause_;
}
const ::pg_query::MergeAction&
Node::_Internal::merge_action(const Node* msg) {
  return *msg->_impl_.node_.merge_action_;
}
const ::pg_query::RawStmt&
Node::_Internal::raw_stmt(const Node* msg) {
  return *msg->_impl_.node_.raw_stmt_;
}
const ::pg_query::Query&
Node::_Internal::query(const Node* msg) {
  return *msg->_impl_.node_.query_;
}
const ::pg_query::InsertStmt&
Node::_Internal::insert_stmt(const Node* msg) {
  return *msg->_impl_.node_.insert_stmt_;
}
const ::pg_query::DeleteStmt&
Node::_Internal::delete_stmt(const Node* msg) {
  return *msg->_impl_.node_.delete_stmt_;
}
const ::pg_query::UpdateStmt&
Node::_Internal::update_stmt(const Node* msg) {
  return *msg->_impl_.node_.update_stmt_;
}
const ::pg_query::MergeStmt&
Node::_Internal::merge_stmt(const Node* msg) {
  return *msg->_impl_.node_.merge_stmt_;
}
const ::pg_query::SelectStmt&
Node::_Internal::select_stmt(const Node* msg) {
  return *msg->_impl_.node_.select_stmt_;
}
const ::pg_query::ReturnStmt&
Node::_Internal::return_stmt(const Node* msg) {
  return *msg->_impl_.node_.return_stmt_;
}
const ::pg_query::PLAssignStmt&
Node::_Internal::plassign_stmt(const Node* msg) {
  return *msg->_impl_.node_.plassign_stmt_;
}
const ::pg_query::AlterTableStmt&
Node::_Internal::alter_table_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_table_stmt_;
}
const ::pg_query::AlterTableCmd&
Node::_Internal::alter_table_cmd(const Node* msg) {
  return *msg->_impl_.node_.alter_table_cmd_;
}
const ::pg_query::AlterDomainStmt&
Node::_Internal::alter_domain_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_domain_stmt_;
}
const ::pg_query::SetOperationStmt&
Node::_Internal::set_operation_stmt(const Node* msg) {
  return *msg->_impl_.node_.set_operation_stmt_;
}
const ::pg_query::GrantStmt&
Node::_Internal::grant_stmt(const Node* msg) {
  return *msg->_impl_.node_.grant_stmt_;
}
const ::pg_query::GrantRoleStmt&
Node::_Internal::grant_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.grant_role_stmt_;
}
const ::pg_query::AlterDefaultPrivilegesStmt&
Node::_Internal::alter_default_privileges_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_default_privileges_stmt_;
}
const ::pg_query::ClosePortalStmt&
Node::_Internal::close_portal_stmt(const Node* msg) {
  return *msg->_impl_.node_.close_portal_stmt_;
}
const ::pg_query::ClusterStmt&
Node::_Internal::cluster_stmt(const Node* msg) {
  return *msg->_impl_.node_.cluster_stmt_;
}
const ::pg_query::CopyStmt&
Node::_Internal::copy_stmt(const Node* msg) {
  return *msg->_impl_.node_.copy_stmt_;
}
const ::pg_query::CreateStmt&
Node::_Internal::create_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_stmt_;
}
const ::pg_query::DefineStmt&
Node::_Internal::define_stmt(const Node* msg) {
  return *msg->_impl_.node_.define_stmt_;
}
const ::pg_query::DropStmt&
Node::_Internal::drop_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_stmt_;
}
const ::pg_query::TruncateStmt&
Node::_Internal::truncate_stmt(const Node* msg) {
  return *msg->_impl_.node_.truncate_stmt_;
}
const ::pg_query::CommentStmt&
Node::_Internal::comment_stmt(const Node* msg) {
  return *msg->_impl_.node_.comment_stmt_;
}
const ::pg_query::FetchStmt&
Node::_Internal::fetch_stmt(const Node* msg) {
  return *msg->_impl_.node_.fetch_stmt_;
}
const ::pg_query::IndexStmt&
Node::_Internal::index_stmt(const Node* msg) {
  return *msg->_impl_.node_.index_stmt_;
}
const ::pg_query::CreateFunctionStmt&
Node::_Internal::create_function_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_function_stmt_;
}
const ::pg_query::AlterFunctionStmt&
Node::_Internal::alter_function_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_function_stmt_;
}
const ::pg_query::DoStmt&
Node::_Internal::do_stmt(const Node* msg) {
  return *msg->_impl_.node_.do_stmt_;
}
const ::pg_query::RenameStmt&
Node::_Internal::rename_stmt(const Node* msg) {
  return *msg->_impl_.node_.rename_stmt_;
}
const ::pg_query::RuleStmt&
Node::_Internal::rule_stmt(const Node* msg) {
  return *msg->_impl_.node_.rule_stmt_;
}
const ::pg_query::NotifyStmt&
Node::_Internal::notify_stmt(const Node* msg) {
  return *msg->_impl_.node_.notify_stmt_;
}
const ::pg_query::ListenStmt&
Node::_Internal::listen_stmt(const Node* msg) {
  return *msg->_impl_.node_.listen_stmt_;
}
const ::pg_query::UnlistenStmt&
Node::_Internal::unlisten_stmt(const Node* msg) {
  return *msg->_impl_.node_.unlisten_stmt_;
}
const ::pg_query::TransactionStmt&
Node::_Internal::transaction_stmt(const Node* msg) {
  return *msg->_impl_.node_.transaction_stmt_;
}
const ::pg_query::ViewStmt&
Node::_Internal::view_stmt(const Node* msg) {
  return *msg->_impl_.node_.view_stmt_;
}
const ::pg_query::LoadStmt&
Node::_Internal::load_stmt(const Node* msg) {
  return *msg->_impl_.node_.load_stmt_;
}
const ::pg_query::CreateDomainStmt&
Node::_Internal::create_domain_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_domain_stmt_;
}
const ::pg_query::CreatedbStmt&
Node::_Internal::createdb_stmt(const Node* msg) {
  return *msg->_impl_.node_.createdb_stmt_;
}
const ::pg_query::DropdbStmt&
Node::_Internal::dropdb_stmt(const Node* msg) {
  return *msg->_impl_.node_.dropdb_stmt_;
}
const ::pg_query::VacuumStmt&
Node::_Internal::vacuum_stmt(const Node* msg) {
  return *msg->_impl_.node_.vacuum_stmt_;
}
const ::pg_query::ExplainStmt&
Node::_Internal::explain_stmt(const Node* msg) {
  return *msg->_impl_.node_.explain_stmt_;
}
const ::pg_query::CreateTableAsStmt&
Node::_Internal::create_table_as_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_table_as_stmt_;
}
const ::pg_query::CreateSeqStmt&
Node::_Internal::create_seq_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_seq_stmt_;
}
const ::pg_query::AlterSeqStmt&
Node::_Internal::alter_seq_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_seq_stmt_;
}
const ::pg_query::VariableSetStmt&
Node::_Internal::variable_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.variable_set_stmt_;
}
const ::pg_query::VariableShowStmt&
Node::_Internal::variable_show_stmt(const Node* msg) {
  return *msg->_impl_.node_.variable_show_stmt_;
}
const ::pg_query::DiscardStmt&
Node::_Internal::discard_stmt(const Node* msg) {
  return *msg->_impl_.node_.discard_stmt_;
}
const ::pg_query::CreateTrigStmt&
Node::_Internal::create_trig_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_trig_stmt_;
}
const ::pg_query::CreatePLangStmt&
Node::_Internal::create_plang_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_plang_stmt_;
}
const ::pg_query::CreateRoleStmt&
Node::_Internal::create_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_role_stmt_;
}
const ::pg_query::AlterRoleStmt&
Node::_Internal::alter_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_role_stmt_;
}
const ::pg_query::DropRoleStmt&
Node::_Internal::drop_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_role_stmt_;
}
const ::pg_query::LockStmt&
Node::_Internal::lock_stmt(const Node* msg) {
  return *msg->_impl_.node_.lock_stmt_;
}
const ::pg_query::ConstraintsSetStmt&
Node::_Internal::constraints_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.constraints_set_stmt_;
}
const ::pg_query::ReindexStmt&
Node::_Internal::reindex_stmt(const Node* msg) {
  return *msg->_impl_.node_.reindex_stmt_;
}
const ::pg_query::CheckPointStmt&
Node::_Internal::check_point_stmt(const Node* msg) {
  return *msg->_impl_.node_.check_point_stmt_;
}
const ::pg_query::CreateSchemaStmt&
Node::_Internal::create_schema_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_schema_stmt_;
}
const ::pg_query::AlterDatabaseStmt&
Node::_Internal::alter_database_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_database_stmt_;
}
const ::pg_query::AlterDatabaseRefreshCollStmt&
Node::_Internal::alter_database_refresh_coll_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_database_refresh_coll_stmt_;
}
const ::pg_query::AlterDatabaseSetStmt&
Node::_Internal::alter_database_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_database_set_stmt_;
}
const ::pg_query::AlterRoleSetStmt&
Node::_Internal::alter_role_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_role_set_stmt_;
}
const ::pg_query::CreateConversionStmt&
Node::_Internal::create_conversion_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_conversion_stmt_;
}
const ::pg_query::CreateCastStmt&
Node::_Internal::create_cast_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_cast_stmt_;
}
const ::pg_query::CreateOpClassStmt&
Node::_Internal::create_op_class_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_op_class_stmt_;
}
const ::pg_query::CreateOpFamilyStmt&
Node::_Internal::create_op_family_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_op_family_stmt_;
}
const ::pg_query::AlterOpFamilyStmt&
Node::_Internal::alter_op_family_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_op_family_stmt_;
}
const ::pg_query::PrepareStmt&
Node::_Internal::prepare_stmt(const Node* msg) {
  return *msg->_impl_.node_.prepare_stmt_;
}
const ::pg_query::ExecuteStmt&
Node::_Internal::execute_stmt(const Node* msg) {
  return *msg->_impl_.node_.execute_stmt_;
}
const ::pg_query::DeallocateStmt&
Node::_Internal::deallocate_stmt(const Node* msg) {
  return *msg->_impl_.node_.deallocate_stmt_;
}
const ::pg_query::DeclareCursorStmt&
Node::_Internal::declare_cursor_stmt(const Node* msg) {
  return *msg->_impl_.node_.declare_cursor_stmt_;
}
const ::pg_query::CreateTableSpaceStmt&
Node::_Internal::create_table_space_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_table_space_stmt_;
}
const ::pg_query::DropTableSpaceStmt&
Node::_Internal::drop_table_space_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_table_space_stmt_;
}
const ::pg_query::AlterObjectDependsStmt&
Node::_Internal::alter_object_depends_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_object_depends_stmt_;
}
const ::pg_query::AlterObjectSchemaStmt&
Node::_Internal::alter_object_schema_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_object_schema_stmt_;
}
const ::pg_query::AlterOwnerStmt&
Node::_Internal::alter_owner_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_owner_stmt_;
}
const ::pg_query::AlterOperatorStmt&
Node::_Internal::alter_operator_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_operator_stmt_;
}
const ::pg_query::AlterTypeStmt&
Node::_Internal::alter_type_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_type_stmt_;
}
const ::pg_query::DropOwnedStmt&
Node::_Internal::drop_owned_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_owned_stmt_;
}
const ::pg_query::ReassignOwnedStmt&
Node::_Internal::reassign_owned_stmt(const Node* msg) {
  return *msg->_impl_.node_.reassign_owned_stmt_;
}
const ::pg_query::CompositeTypeStmt&
Node::_Internal::composite_type_stmt(const Node* msg) {
  return *msg->_impl_.node_.composite_type_stmt_;
}
const ::pg_query::CreateEnumStmt&
Node::_Internal::create_enum_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_enum_stmt_;
}
const ::pg_query::CreateRangeStmt&
Node::_Internal::create_range_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_range_stmt_;
}
const ::pg_query::AlterEnumStmt&
Node::_Internal::alter_enum_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_enum_stmt_;
}
const ::pg_query::AlterTSDictionaryStmt&
Node::_Internal::alter_tsdictionary_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_tsdictionary_stmt_;
}
const ::pg_query::AlterTSConfigurationStmt&
Node::_Internal::alter_tsconfiguration_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_tsconfiguration_stmt_;
}
const ::pg_query::CreateFdwStmt&
Node::_Internal::create_fdw_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_fdw_stmt_;
}
const ::pg_query::AlterFdwStmt&
Node::_Internal::alter_fdw_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_fdw_stmt_;
}
const ::pg_query::CreateForeignServerStmt&
Node::_Internal::create_foreign_server_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_foreign_server_stmt_;
}
const ::pg_query::AlterForeignServerStmt&
Node::_Internal::alter_foreign_server_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_foreign_server_stmt_;
}
const ::pg_query::CreateUserMappingStmt&
Node::_Internal::create_user_mapping_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_user_mapping_stmt_;
}
const ::pg_query::AlterUserMappingStmt&
Node::_Internal::alter_user_mapping_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_user_mapping_stmt_;
}
const ::pg_query::DropUserMappingStmt&
Node::_Internal::drop_user_mapping_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_user_mapping_stmt_;
}
const ::pg_query::AlterTableSpaceOptionsStmt&
Node::_Internal::alter_table_space_options_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_table_space_options_stmt_;
}
const ::pg_query::AlterTableMoveAllStmt&
Node::_Internal::alter_table_move_all_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_table_move_all_stmt_;
}
const ::pg_query::SecLabelStmt&
Node::_Internal::sec_label_stmt(const Node* msg) {
  return *msg->_impl_.node_.sec_label_stmt_;
}
const ::pg_query::CreateForeignTableStmt&
Node::_Internal::create_foreign_table_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_foreign_table_stmt_;
}
const ::pg_query::ImportForeignSchemaStmt&
Node::_Internal::import_foreign_schema_stmt(const Node* msg) {
  return *msg->_impl_.node_.import_foreign_schema_stmt_;
}
const ::pg_query::CreateExtensionStmt&
Node::_Internal::create_extension_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_extension_stmt_;
}
const ::pg_query::AlterExtensionStmt&
Node::_Internal::alter_extension_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_extension_stmt_;
}
const ::pg_query::AlterExtensionContentsStmt&
Node::_Internal::alter_extension_contents_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_extension_contents_stmt_;
}
const ::pg_query::CreateEventTrigStmt&
Node::_Internal::create_event_trig_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_event_trig_stmt_;
}
const ::pg_query::AlterEventTrigStmt&
Node::_Internal::alter_event_trig_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_event_trig_stmt_;
}
const ::pg_query::RefreshMatViewStmt&
Node::_Internal::refresh_mat_view_stmt(const Node* msg) {
  return *msg->_impl_.node_.refresh_mat_view_stmt_;
}
const ::pg_query::ReplicaIdentityStmt&
Node::_Internal::replica_identity_stmt(const Node* msg) {
  return *msg->_impl_.node_.replica_identity_stmt_;
}
const ::pg_query::AlterSystemStmt&
Node::_Internal::alter_system_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_system_stmt_;
}
const ::pg_query::CreatePolicyStmt&
Node::_Internal::create_policy_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_policy_stmt_;
}
const ::pg_query::AlterPolicyStmt&
Node::_Internal::alter_policy_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_policy_stmt_;
}
const ::pg_query::CreateTransformStmt&
Node::_Internal::create_transform_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_transform_stmt_;
}
const ::pg_query::CreateAmStmt&
Node::_Internal::create_am_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_am_stmt_;
}
const ::pg_query::CreatePublicationStmt&
Node::_Internal::create_publication_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_publication_stmt_;
}
const ::pg_query::AlterPublicationStmt&
Node::_Internal::alter_publication_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_publication_stmt_;
}
const ::pg_query::CreateSubscriptionStmt&
Node::_Internal::create_subscription_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_subscription_stmt_;
}
const ::pg_query::AlterSubscriptionStmt&
Node::_Internal::alter_subscription_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_subscription_stmt_;
}
const ::pg_query::DropSubscriptionStmt&
Node::_Internal::drop_subscription_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_subscription_stmt_;
}
const ::pg_query::CreateStatsStmt&
Node::_Internal::create_stats_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_stats_stmt_;
}
const ::pg_query::AlterCollationStmt&
Node::_Internal::alter_collation_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_collation_stmt_;
}
const ::pg_query::CallStmt&
Node::_Internal::call_stmt(const Node* msg) {
  return *msg->_impl_.node_.call_stmt_;
}
const ::pg_query::AlterStatsStmt&
Node::_Internal::alter_stats_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_stats_stmt_;
}
const ::pg_query::A_Expr&
Node::_Internal::a_expr(const Node* msg) {
  return *msg->_impl_.node_.a_expr_;
}
const ::pg_query::ColumnRef&
Node::_Internal::column_ref(const Node* msg) {
  return *msg->_impl_.node_.column_ref_;
}
const ::pg_query::ParamRef&
Node::_Internal::param_ref(const Node* msg) {
  return *msg->_impl_.node_.param_ref_;
}
const ::pg_query::FuncCall&
Node::_Internal::func_call(const Node* msg) {
  return *msg->_impl_.node_.func_call_;
}
const ::pg_query::A_Star&
Node::_Internal::a_star(const Node* msg) {
  return *msg->_impl_.node_.a_star_;
}
const ::pg_query::A_Indices&
Node::_Internal::a_indices(const Node* msg) {
  return *msg->_impl_.node_.a_indices_;
}
const ::pg_query::A_Indirection&
Node::_Internal::a_indirection(const Node* msg) {
  return *msg->_impl_.node_.a_indirection_;
}
const ::pg_query::A_ArrayExpr&
Node::_Internal::a_array_expr(const Node* msg) {
  return *msg->_impl_.node_.a_array_expr_;
}
const ::pg_query::ResTarget&
Node::_Internal::res_target(const Node* msg) {
  return *msg->_impl_.node_.res_target_;
}
const ::pg_query::MultiAssignRef&
Node::_Internal::multi_assign_ref(const Node* msg) {
  return *msg->_impl_.node_.multi_assign_ref_;
}
const ::pg_query::TypeCast&
Node::_Internal::type_cast(const Node* msg) {
  return *msg->_impl_.node_.type_cast_;
}
const ::pg_query::CollateClause&
Node::_Internal::collate_clause(const Node* msg) {
  return *msg->_impl_.node_.collate_clause_;
}
const ::pg_query::SortBy&
Node::_Internal::sort_by(const Node* msg) {
  return *msg->_impl_.node_.sort_by_;
}
const ::pg_query::WindowDef&
Node::_Internal::window_def(const Node* msg) {
  return *msg->_impl_.node_.window_def_;
}
const ::pg_query::RangeSubselect&
Node::_Internal::range_subselect(const Node* msg) {
  return *msg->_impl_.node_.range_subselect_;
}
const ::pg_query::RangeFunction&
Node::_Internal::range_function(const Node* msg) {
  return *msg->_impl_.node_.range_function_;
}
const ::pg_query::RangeTableSample&
Node::_Internal::range_table_sample(const Node* msg) {
  return *msg->_impl_.node_.range_table_sample_;
}
const ::pg_query::RangeTableFunc&
Node::_Internal::range_table_func(const Node* msg) {
  return *msg->_impl_.node_.range_table_func_;
}
const ::pg_query::RangeTableFuncCol&
Node::_Internal::range_table_func_col(const Node* msg) {
  return *msg->_impl_.node_.range_table_func_col_;
}
const ::pg_query::TypeName&
Node::_Internal::type_name(const Node* msg) {
  return *msg->_impl_.node_.type_name_;
}
const ::pg_query::ColumnDef&
Node::_Internal::column_def(const Node* msg) {
  return *msg->_impl_.node_.column_def_;
}
const ::pg_query::IndexElem&
Node::_Internal::index_elem(const Node* msg) {
  return *msg->_impl_.node_.index_elem_;
}
const ::pg_query::StatsElem&
Node::_Internal::stats_elem(const Node* msg) {
  return *msg->_impl_.node_.stats_elem_;
}
const ::pg_query::Constraint&
Node::_Internal::constraint(const Node* msg) {
  return *msg->_impl_.node_.constraint_;
}
const ::pg_query::DefElem&
Node::_Internal::def_elem(const Node* msg) {
  return *msg->_impl_.node_.def_elem_;
}
const ::pg_query::RangeTblEntry&
Node::_Internal::range_tbl_entry(const Node* msg) {
  return *msg->_impl_.node_.range_tbl_entry_;
}
const ::pg_query::RangeTblFunction&
Node::_Internal::range_tbl_function(const Node* msg) {
  return *msg->_impl_.node_.range_tbl_function_;
}
const ::pg_query::TableSampleClause&
Node::_Internal::table_sample_clause(const Node* msg) {
  return *msg->_impl_.node_.table_sample_clause_;
}
const ::pg_query::WithCheckOption&
Node::_Internal::with_check_option(const Node* msg) {
  return *msg->_impl_.node_.with_check_option_;
}
const ::pg_query::SortGroupClause&
Node::_Internal::sort_group_clause(const Node* msg) {
  return *msg->_impl_.node_.sort_group_clause_;
}
const ::pg_query::GroupingSet&
Node::_Internal::grouping_set(const Node* msg) {
  return *msg->_impl_.node_.grouping_set_;
}
const ::pg_query::WindowClause&
Node::_Internal::window_clause(const Node* msg) {
  return *msg->_impl_.node_.window_clause_;
}
const ::pg_query::ObjectWithArgs&
Node::_Internal::object_with_args(const Node* msg) {
  return *msg->_impl_.node_.object_with_args_;
}
const ::pg_query::AccessPriv&
Node::_Internal::access_priv(const Node* msg) {
  return *msg->_impl_.node_.access_priv_;
}
const ::pg_query::CreateOpClassItem&
Node::_Internal::create_op_class_item(const Node* msg) {
  return *msg->_impl_.node_.create_op_class_item_;
}
const ::pg_query::TableLikeClause&
Node::_Internal::table_like_clause(const Node* msg) {
  return *msg->_impl_.node_.table_like_clause_;
}
const ::pg_query::FunctionParameter&
Node::_Internal::function_parameter(const Node* msg) {
  return *msg->_impl_.node_.function_parameter_;
}
const ::pg_query::LockingClause&
Node::_Internal::locking_clause(const Node* msg) {
  return *msg->_impl_.node_.locking_clause_;
}
const ::pg_query::RowMarkClause&
Node::_Internal::row_mark_clause(const Node* msg) {
  return *msg->_impl_.node_.row_mark_clause_;
}
const ::pg_query::XmlSerialize&
Node::_Internal::xml_serialize(const Node* msg) {
  return *msg->_impl_.node_.xml_serialize_;
}
const ::pg_query::WithClause&
Node::_Internal::with_clause(const Node* msg) {
  return *msg->_impl_.node_.with_clause_;
}
const ::pg_query::InferClause&
Node::_Internal::infer_clause(const Node* msg) {
  return *msg->_impl_.node_.infer_clause_;
}
const ::pg_query::OnConflictClause&
Node::_Internal::on_conflict_clause(const Node* msg) {
  return *msg->_impl_.node_.on_conflict_clause_;
}
const ::pg_query::CTESearchClause&
Node::_Internal::ctesearch_clause(const Node* msg) {
  return *msg->_impl_.node_.ctesearch_clause_;
}
const ::pg_query::CTECycleClause&
Node::_Internal::ctecycle_clause(const Node* msg) {
  return *msg->_impl_.node_.ctecycle_clause_;
}
const ::pg_query::CommonTableExpr&
Node::_Internal::common_table_expr(const Node* msg) {
  return *msg->_impl_.node_.common_table_expr_;
}
const ::pg_query::MergeWhenClause&
Node::_Internal::merge_when_clause(const Node* msg) {
  return *msg->_impl_.node_.merge_when_clause_;
}
const ::pg_query::RoleSpec&
Node::_Internal::role_spec(const Node* msg) {
  return *msg->_impl_.node_.role_spec_;
}
const ::pg_query::TriggerTransition&
Node::_Internal::trigger_transition(const Node* msg) {
  return *msg->_impl_.node_.trigger_transition_;
}
const ::pg_query::PartitionElem&
Node::_Internal::partition_elem(const Node* msg) {
  return *msg->_impl_.node_.partition_elem_;
}
const ::pg_query::PartitionSpec&
Node::_Internal::partition_spec(const Node* msg) {
  return *msg->_impl_.node_.partition_spec_;
}
const ::pg_query::PartitionBoundSpec&
Node::_Internal::partition_bound_spec(const Node* msg) {
  return *msg->_impl_.node_.partition_bound_spec_;
}
const ::pg_query::PartitionRangeDatum&
Node::_Internal::partition_range_datum(const Node* msg) {
  return *msg->_impl_.node_.partition_range_datum_;
}
const ::pg_query::PartitionCmd&
Node::_Internal::partition_cmd(const Node* msg) {
  return *msg->_impl_.node_.partition_cmd_;
}
const ::pg_query::VacuumRelation&
Node::_Internal::vacuum_relation(const Node* msg) {
  return *msg->_impl_.node_.vacuum_relation_;
}
const ::pg_query::PublicationObjSpec&
Node::_Internal::publication_obj_spec(const Node* msg) {
  return *msg->_impl_.node_.publication_obj_spec_;
}
const ::pg_query::PublicationTable&
Node::_Internal::publication_table(const Node* msg) {
  return *msg->_impl_.node_.publication_table_;
}
const ::pg_query::InlineCodeBlock&
Node::_Internal::inline_code_block(const Node* msg) {
  return *msg->_impl_.node_.inline_code_block_;
}
const ::pg_query::CallContext&
Node::_Internal::call_context(const Node* msg) {
  return *msg->_impl_.node_.call_context_;
}
const ::pg_query::Integer&
Node::_Internal::integer(const Node* msg) {
  return *msg->_impl_.node_.integer_;
}
const ::pg_query::Float&
Node::_Internal::float_(const Node* msg) {
  return *msg->_impl_.node_.float__;
}
const ::pg_query::Boolean&
Node::_Internal::boolean(const Node* msg) {
  return *msg->_impl_.node_.boolean_;
}
const ::pg_query::String&
Node::_Internal::string(const Node* msg) {
  return *msg->_impl_.node_.string_;
}
const ::pg_query::BitString&
Node::_Internal::bit_string(const Node* msg) {
  return *msg->_impl_.node_.bit_string_;
}
const ::pg_query::List&
Node::_Internal::list(const Node* msg) {
  return *msg->_impl_.node_.list_;
}
const ::pg_query::IntList&
Node::_Internal::int_list(const Node* msg) {
  return *msg->_impl_.node_.int_list_;
}
const ::pg_query::OidList&
Node::_Internal::oid_list(const Node* msg) {
  return *msg->_impl_.node_.oid_list_;
}
const ::pg_query::A_Const&
Node::_Internal::a_const(const Node* msg) {
  return *msg->_impl_.node_.a_const_;
}
void Node::set_allocated_alias(::pg_query::Alias* alias) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (alias) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alias);
    if (message_arena != submessage_arena) {
      alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alias, submessage_arena);
    }
    set_has_alias();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_var) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(range_var);
    if (message_arena != submessage_arena) {
      range_var = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_var, submessage_arena);
    }
    set_has_range_var();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (table_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(table_func);
    if (message_arena != submessage_arena) {
      table_func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, table_func, submessage_arena);
    }
    set_has_table_func();
    _impl_.node_.table_func_ = table_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.table_func)
}
void Node::set_allocated_var(::pg_query::Var* var) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (var) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(var);
    if (message_arena != submessage_arena) {
      var = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, var, submessage_arena);
    }
    set_has_var();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (param) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param);
    if (message_arena != submessage_arena) {
      param = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, param, submessage_arena);
    }
    set_has_param();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (aggref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(aggref);
    if (message_arena != submessage_arena) {
      aggref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, aggref, submessage_arena);
    }
    set_has_aggref();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (grouping_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(grouping_func);
    if (message_arena != submessage_arena) {
      grouping_func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, grouping_func, submessage_arena);
    }
    set_has_grouping_func();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (window_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(window_func);
    if (message_arena != submessage_arena) {
      window_func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, window_func, submessage_arena);
    }
    set_has_window_func();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (subscripting_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(subscripting_ref);
    if (message_arena != submessage_arena) {
      subscripting_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, subscripting_ref, submessage_arena);
    }
    set_has_subscripting_ref();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (func_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(func_expr);
    if (message_arena != submessage_arena) {
      func_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, func_expr, submessage_arena);
    }
    set_has_func_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (named_arg_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (op_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(op_expr);
    if (message_arena != submessage_arena) {
      op_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, op_expr, submessage_arena);
    }
    set_has_op_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (distinct_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(distinct_expr);
    if (message_arena != submessage_arena) {
      distinct_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, distinct_expr, submessage_arena);
    }
    set_has_distinct_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (null_if_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (scalar_array_op_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (bool_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(bool_expr);
    if (message_arena != submessage_arena) {
      bool_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, bool_expr, submessage_arena);
    }
    set_has_bool_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (sub_link) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sub_link);
    if (message_arena != submessage_arena) {
      sub_link = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sub_link, submessage_arena);
    }
    set_has_sub_link();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (sub_plan) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sub_plan);
    if (message_arena != submessage_arena) {
      sub_plan = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sub_plan, submessage_arena);
    }
    set_has_sub_plan();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alternative_sub_plan) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (field_select) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(field_select);
    if (message_arena != submessage_arena) {
      field_select = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, field_select, submessage_arena);
    }
    set_has_field_select();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (field_store) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(field_store);
    if (message_arena != submessage_arena) {
      field_store = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, field_store, submessage_arena);
    }
    set_has_field_store();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (relabel_type) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relabel_type);
    if (message_arena != submessage_arena) {
      relabel_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, relabel_type, submessage_arena);
    }
    set_has_relabel_type();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (coerce_via_io) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (array_coerce_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (convert_rowtype_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (collate_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(collate_expr);
    if (message_arena != submessage_arena) {
      collate_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, collate_expr, submessage_arena);
    }
    set_has_collate_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (case_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(case_expr);
    if (message_arena != submessage_arena) {
      case_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, case_expr, submessage_arena);
    }
    set_has_case_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (case_when) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(case_when);
    if (message_arena != submessage_arena) {
      case_when = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, case_when, submessage_arena);
    }
    set_has_case_when();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (case_test_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (array_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(array_expr);
    if (message_arena != submessage_arena) {
      array_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, array_expr, submessage_arena);
    }
    set_has_array_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (row_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(row_expr);
    if (message_arena != submessage_arena) {
      row_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, row_expr, submessage_arena);
    }
    set_has_row_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (row_compare_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (coalesce_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(coalesce_expr);
    if (message_arena != submessage_arena) {
      coalesce_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, coalesce_expr, submessage_arena);
    }
    set_has_coalesce_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (min_max_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (sqlvalue_function) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sqlvalue_function);
    if (message_arena != submessage_arena) {
      sqlvalue_function = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sqlvalue_function, submessage_arena);
    }
    set_has_sqlvalue_function();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (xml_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xml_expr);
    if (message_arena != submessage_arena) {
      xml_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, xml_expr, submessage_arena);
    }
    set_has_xml_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (null_test) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(null_test);
    if (message_arena != submessage_arena) {
      null_test = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, null_test, submessage_arena);
    }
    set_has_null_test();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (boolean_test) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(boolean_test);
    if (message_arena != submessage_arena) {
      boolean_test = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, boolean_test, submessage_arena);
    }
    set_has_boolean_test();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (coerce_to_domain) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (coerce_to_domain_value) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (set_to_default) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (current_of_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (next_value_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (inference_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(inference_elem);
    if (message_arena != submessage_arena) {
      inference_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, inference_elem, submessage_arena);
    }
    set_has_inference_elem();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (target_entry) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(target_entry);
    if (message_arena != submessage_arena) {
      target_entry = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, target_entry, submessage_arena);
    }
    set_has_target_entry();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_tbl_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (join_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(join_expr);
    if (message_arena != submessage_arena) {
      join_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, join_expr, submessage_arena);
    }
    set_has_join_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (from_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(from_expr);
    if (message_arena != submessage_arena) {
      from_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, from_expr, submessage_arena);
    }
    set_has_from_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (on_conflict_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (into_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(into_clause);
    if (message_arena != submessage_arena) {
      into_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, into_clause, submessage_arena);
    }
    set_has_into_clause();
    _impl_.node_.into_clause_ = into_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.into_clause)
}
void Node::set_allocated_merge_action(::pg_query::MergeAction* merge_action) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (merge_action) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(merge_action);
    if (message_arena != submessage_arena) {
      merge_action = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, merge_action, submessage_arena);
    }
    set_has_merge_action();
    _impl_.node_.merge_action_ = merge_action;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.merge_action)
}
void Node::set_allocated_raw_stmt(::pg_query::RawStmt* raw_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (raw_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(raw_stmt);
    if (message_arena != submessage_arena) {
      raw_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, raw_stmt, submessage_arena);
    }
    set_has_raw_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (query) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(query);
    if (message_arena != submessage_arena) {
      query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, query, submessage_arena);
    }
    set_has_query();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (insert_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(insert_stmt);
    if (message_arena != submessage_arena) {
      insert_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, insert_stmt, submessage_arena);
    }
    set_has_insert_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (delete_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(delete_stmt);
    if (message_arena != submessage_arena) {
      delete_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, delete_stmt, submessage_arena);
    }
    set_has_delete_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (update_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(update_stmt);
    if (message_arena != submessage_arena) {
      update_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, update_stmt, submessage_arena);
    }
    set_has_update_stmt();
    _impl_.node_.update_stmt_ = update_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.update_stmt)
}
void Node::set_allocated_merge_stmt(::pg_query::MergeStmt* merge_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (merge_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(merge_stmt);
    if (message_arena != submessage_arena) {
      merge_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, merge_stmt, submessage_arena);
    }
    set_has_merge_stmt();
    _impl_.node_.merge_stmt_ = merge_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.merge_stmt)
}
void Node::set_allocated_select_stmt(::pg_query::SelectStmt* select_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (select_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(select_stmt);
    if (message_arena != submessage_arena) {
      select_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, select_stmt, submessage_arena);
    }
    set_has_select_stmt();
    _impl_.node_.select_stmt_ = select_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.select_stmt)
}
void Node::set_allocated_return_stmt(::pg_query::ReturnStmt* return_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (return_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(return_stmt);
    if (message_arena != submessage_arena) {
      return_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, return_stmt, submessage_arena);
    }
    set_has_return_stmt();
    _impl_.node_.return_stmt_ = return_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.return_stmt)
}
void Node::set_allocated_plassign_stmt(::pg_query::PLAssignStmt* plassign_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (plassign_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(plassign_stmt);
    if (message_arena != submessage_arena) {
      plassign_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, plassign_stmt, submessage_arena);
    }
    set_has_plassign_stmt();
    _impl_.node_.plassign_stmt_ = plassign_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.plassign_stmt)
}
void Node::set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* alter_table_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (alter_table_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_table_cmd) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_domain_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (set_operation_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (grant_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(grant_stmt);
    if (message_arena != submessage_arena) {
      grant_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, grant_stmt, submessage_arena);
    }
    set_has_grant_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (grant_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_default_privileges_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (close_portal_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (cluster_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(cluster_stmt);
    if (message_arena != submessage_arena) {
      cluster_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, cluster_stmt, submessage_arena);
    }
    set_has_cluster_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (copy_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(copy_stmt);
    if (message_arena != submessage_arena) {
      copy_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, copy_stmt, submessage_arena);
    }
    set_has_copy_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(create_stmt);
    if (message_arena != submessage_arena) {
      create_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_stmt, submessage_arena);
    }
    set_has_create_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (define_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(define_stmt);
    if (message_arena != submessage_arena) {
      define_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, define_stmt, submessage_arena);
    }
    set_has_define_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (drop_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(drop_stmt);
    if (message_arena != submessage_arena) {
      drop_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, drop_stmt, submessage_arena);
    }
    set_has_drop_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (truncate_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(truncate_stmt);
    if (message_arena != submessage_arena) {
      truncate_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, truncate_stmt, submessage_arena);
    }
    set_has_truncate_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (comment_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(comment_stmt);
    if (message_arena != submessage_arena) {
      comment_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, comment_stmt, submessage_arena);
    }
    set_has_comment_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (fetch_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(fetch_stmt);
    if (message_arena != submessage_arena) {
      fetch_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, fetch_stmt, submessage_arena);
    }
    set_has_fetch_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (index_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(index_stmt);
    if (message_arena != submessage_arena) {
      index_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, index_stmt, submessage_arena);
    }
    set_has_index_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_function_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_function_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (do_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(do_stmt);
    if (message_arena != submessage_arena) {
      do_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, do_stmt, submessage_arena);
    }
    set_has_do_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (rename_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rename_stmt);
    if (message_arena != submessage_arena) {
      rename_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rename_stmt, submessage_arena);
    }
    set_has_rename_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (rule_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rule_stmt);
    if (message_arena != submessage_arena) {
      rule_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, rule_stmt, submessage_arena);
    }
    set_has_rule_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (notify_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(notify_stmt);
    if (message_arena != submessage_arena) {
      notify_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, notify_stmt, submessage_arena);
    }
    set_has_notify_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (listen_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(listen_stmt);
    if (message_arena != submessage_arena) {
      listen_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, listen_stmt, submessage_arena);
    }
    set_has_listen_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (unlisten_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(unlisten_stmt);
    if (message_arena != submessage_arena) {
      unlisten_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, unlisten_stmt, submessage_arena);
    }
    set_has_unlisten_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (transaction_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(transaction_stmt);
    if (message_arena != submessage_arena) {
      transaction_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, transaction_stmt, submessage_arena);
    }
    set_has_transaction_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (view_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(view_stmt);
    if (message_arena != submessage_arena) {
      view_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, view_stmt, submessage_arena);
    }
    set_has_view_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (load_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(load_stmt);
    if (message_arena != submessage_arena) {
      load_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, load_stmt, submessage_arena);
    }
    set_has_load_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_domain_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (createdb_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(createdb_stmt);
    if (message_arena != submessage_arena) {
      createdb_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, createdb_stmt, submessage_arena);
    }
    set_has_createdb_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (dropdb_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(dropdb_stmt);
    if (message_arena != submessage_arena) {
      dropdb_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, dropdb_stmt, submessage_arena);
    }
    set_has_dropdb_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (vacuum_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(vacuum_stmt);
    if (message_arena != submessage_arena) {
      vacuum_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, vacuum_stmt, submessage_arena);
    }
    set_has_vacuum_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (explain_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(explain_stmt);
    if (message_arena != submessage_arena) {
      explain_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, explain_stmt, submessage_arena);
    }
    set_has_explain_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_table_as_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_seq_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_seq_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (variable_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (variable_show_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (discard_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(discard_stmt);
    if (message_arena != submessage_arena) {
      discard_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, discard_stmt, submessage_arena);
    }
    set_has_discard_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_trig_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_plang_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (drop_role_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (lock_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(lock_stmt);
    if (message_arena != submessage_arena) {
      lock_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, lock_stmt, submessage_arena);
    }
    set_has_lock_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (constraints_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (reindex_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(reindex_stmt);
    if (message_arena != submessage_arena) {
      reindex_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, reindex_stmt, submessage_arena);
    }
    set_has_reindex_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (check_point_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_schema_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_database_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (alter_database_refresh_coll_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alter_database_refresh_coll_stmt);
    if (message_arena != submessage_arena) {
      alter_database_refresh_coll_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, alter_database_refresh_coll_stmt, submessage_arena);
    }
    set_has_alter_database_refresh_coll_stmt();
    _impl_.node_.alter_database_refresh_coll_stmt_ = alter_database_refresh_coll_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_database_refresh_coll_stmt)
}
void Node::set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (alter_database_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_role_set_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_conversion_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_cast_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_op_class_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_op_family_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_op_family_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (prepare_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(prepare_stmt);
    if (message_arena != submessage_arena) {
      prepare_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, prepare_stmt, submessage_arena);
    }
    set_has_prepare_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (execute_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(execute_stmt);
    if (message_arena != submessage_arena) {
      execute_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, execute_stmt, submessage_arena);
    }
    set_has_execute_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (deallocate_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(deallocate_stmt);
    if (message_arena != submessage_arena) {
      deallocate_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, deallocate_stmt, submessage_arena);
    }
    set_has_deallocate_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (declare_cursor_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_table_space_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (drop_table_space_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_object_depends_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_object_schema_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_owner_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_operator_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_type_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (drop_owned_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (reassign_owned_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (composite_type_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_enum_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_range_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_enum_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_tsdictionary_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_tsconfiguration_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_fdw_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_fdw_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_foreign_server_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_foreign_server_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_user_mapping_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_user_mapping_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (drop_user_mapping_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_table_space_options_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_table_move_all_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (sec_label_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_foreign_table_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (import_foreign_schema_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_extension_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_extension_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_extension_contents_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_event_trig_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_event_trig_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (refresh_mat_view_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (replica_identity_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_system_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_policy_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_policy_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_transform_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_am_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_publication_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_publication_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_subscription_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_subscription_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (drop_subscription_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_stats_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_collation_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (call_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(call_stmt);
    if (message_arena != submessage_arena) {
      call_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, call_stmt, submessage_arena);
    }
    set_has_call_stmt();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (alter_stats_stmt) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (a_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(a_expr);
    if (message_arena != submessage_arena) {
      a_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_expr, submessage_arena);
    }
    set_has_a_expr();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (column_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(column_ref);
    if (message_arena != submessage_arena) {
      column_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, column_ref, submessage_arena);
    }
    set_has_column_ref();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (param_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(param_ref);
    if (message_arena != submessage_arena) {
      param_ref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, param_ref, submessage_arena);
    }
    set_has_param_ref();
    _impl_.node_.param_ref_ = param_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.param_ref)
}
void Node::set_allocated_func_call(::pg_query::FuncCall* func_call) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (func_call) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(func_call);
    if (message_arena != submessage_arena) {
      func_call = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, func_call, submessage_arena);
    }
    set_has_func_call();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (a_star) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(a_star);
    if (message_arena != submessage_arena) {
      a_star = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_star, submessage_arena);
    }
    set_has_a_star();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (a_indices) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(a_indices);
    if (message_arena != submessage_arena) {
      a_indices = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_indices, submessage_arena);
    }
    set_has_a_indices();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (a_indirection) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(a_indirection);
    if (message_arena != submessage_arena) {
      a_indirection = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_indirection, submessage_arena);
    }
    set_has_a_indirection();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (a_array_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (res_target) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(res_target);
    if (message_arena != submessage_arena) {
      res_target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, res_target, submessage_arena);
    }
    set_has_res_target();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (multi_assign_ref) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (type_cast) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_cast);
    if (message_arena != submessage_arena) {
      type_cast = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, type_cast, submessage_arena);
    }
    set_has_type_cast();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (collate_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(collate_clause);
    if (message_arena != submessage_arena) {
      collate_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, collate_clause, submessage_arena);
    }
    set_has_collate_clause();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (sort_by) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sort_by);
    if (message_arena != submessage_arena) {
      sort_by = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sort_by, submessage_arena);
    }
    set_has_sort_by();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (window_def) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(window_def);
    if (message_arena != submessage_arena) {
      window_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, window_def, submessage_arena);
    }
    set_has_window_def();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_subselect) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(range_subselect);
    if (message_arena != submessage_arena) {
      range_subselect = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_subselect, submessage_arena);
    }
    set_has_range_subselect();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_function) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(range_function);
    if (message_arena != submessage_arena) {
      range_function = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, range_function, submessage_arena);
    }
    set_has_range_function();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_table_sample) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_table_func) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_table_func_col) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (type_name) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_name);
    if (message_arena != submessage_arena) {
      type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, type_name, submessage_arena);
    }
    set_has_type_name();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (column_def) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(column_def);
    if (message_arena != submessage_arena) {
      column_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, column_def, submessage_arena);
    }
    set_has_column_def();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (index_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(index_elem);
    if (message_arena != submessage_arena) {
      index_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, index_elem, submessage_arena);
    }
    set_has_index_elem();
    _impl_.node_.index_elem_ = index_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.index_elem)
}
void Node::set_allocated_stats_elem(::pg_query::StatsElem* stats_elem) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (stats_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(stats_elem);
    if (message_arena != submessage_arena) {
      stats_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, stats_elem, submessage_arena);
    }
    set_has_stats_elem();
    _impl_.node_.stats_elem_ = stats_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.stats_elem)
}
void Node::set_allocated_constraint(::pg_query::Constraint* constraint) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (constraint) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(constraint);
    if (message_arena != submessage_arena) {
      constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, constraint, submessage_arena);
    }
    set_has_constraint();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (def_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(def_elem);
    if (message_arena != submessage_arena) {
      def_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, def_elem, submessage_arena);
    }
    set_has_def_elem();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_tbl_entry) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (range_tbl_function) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (table_sample_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (with_check_option) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (sort_group_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (grouping_set) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(grouping_set);
    if (message_arena != submessage_arena) {
      grouping_set = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, grouping_set, submessage_arena);
    }
    set_has_grouping_set();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (window_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(window_clause);
    if (message_arena != submessage_arena) {
      window_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, window_clause, submessage_arena);
    }
    set_has_window_clause();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (object_with_args) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (access_priv) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(access_priv);
    if (message_arena != submessage_arena) {
      access_priv = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, access_priv, submessage_arena);
    }
    set_has_access_priv();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (create_op_class_item) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (table_like_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (function_parameter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(function_parameter);
    if (message_arena != submessage_arena) {
      function_parameter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, function_parameter, submessage_arena);
    }
    set_has_function_parameter();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (locking_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(locking_clause);
    if (message_arena != submessage_arena) {
      locking_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, locking_clause, submessage_arena);
    }
    set_has_locking_clause();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (row_mark_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (xml_serialize) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xml_serialize);
    if (message_arena != submessage_arena) {
      xml_serialize = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, xml_serialize, submessage_arena);
    }
    set_has_xml_serialize();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (with_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_clause);
    if (message_arena != submessage_arena) {
      with_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, with_clause, submessage_arena);
    }
    set_has_with_clause();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (infer_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(infer_clause);
    if (message_arena != submessage_arena) {
      infer_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, infer_clause, submessage_arena);
    }
    set_has_infer_clause();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (on_conflict_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.node_.on_conflict_clause_ = on_conflict_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.on_conflict_clause)
}
void Node::set_allocated_ctesearch_clause(::pg_query::CTESearchClause* ctesearch_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (ctesearch_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(ctesearch_clause);
    if (message_arena != submessage_arena) {
      ctesearch_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, ctesearch_clause, submessage_arena);
    }
    set_has_ctesearch_clause();
    _impl_.node_.ctesearch_clause_ = ctesearch_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.ctesearch_clause)
}
void Node::set_allocated_ctecycle_clause(::pg_query::CTECycleClause* ctecycle_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (ctecycle_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(ctecycle_clause);
    if (message_arena != submessage_arena) {
      ctecycle_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, ctecycle_clause, submessage_arena);
    }
    set_has_ctecycle_clause();
    _impl_.node_.ctecycle_clause_ = ctecycle_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.ctecycle_clause)
}
void Node::set_allocated_common_table_expr(::pg_query::CommonTableExpr* common_table_expr) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (common_table_expr) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.node_.common_table_expr_ = common_table_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.common_table_expr)
}
void Node::set_allocated_merge_when_clause(::pg_query::MergeWhenClause* merge_when_clause) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (merge_when_clause) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(merge_when_clause);
    if (message_arena != submessage_arena) {
      merge_when_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, merge_when_clause, submessage_arena);
    }
    set_has_merge_when_clause();
    _impl_.node_.merge_when_clause_ = merge_when_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.merge_when_clause)
}
void Node::set_allocated_role_spec(::pg_query::RoleSpec* role_spec) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (role_spec) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(role_spec);
    if (message_arena != submessage_arena) {
      role_spec = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, role_spec, submessage_arena);
    }
    set_has_role_spec();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (trigger_transition) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(trigger_transition);
    if (message_arena != submessage_arena) {
      trigger_transition = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, trigger_transition, submessage_arena);
    }
    set_has_trigger_transition();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (partition_elem) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(partition_elem);
    if (message_arena != submessage_arena) {
      partition_elem = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_elem, submessage_arena);
    }
    set_has_partition_elem();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (partition_spec) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(partition_spec);
    if (message_arena != submessage_arena) {
      partition_spec = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_spec, submessage_arena);
    }
    set_has_partition_spec();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (partition_bound_spec) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (partition_range_datum) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (partition_cmd) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(partition_cmd);
    if (message_arena != submessage_arena) {
      partition_cmd = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, partition_cmd, submessage_arena);
    }
    set_has_partition_cmd();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (vacuum_relation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(vacuum_relation);
    if (message_arena != submessage_arena) {
      vacuum_relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, vacuum_relation, submessage_arena);
    }
    set_has_vacuum_relation();
    _impl_.node_.vacuum_relation_ = vacuum_relation;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.vacuum_relation)
}
void Node::set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* publication_obj_spec) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (publication_obj_spec) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(publication_obj_spec);
    if (message_arena != submessage_arena) {
      publication_obj_spec = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, publication_obj_spec, submessage_arena);
    }
    set_has_publication_obj_spec();
    _impl_.node_.publication_obj_spec_ = publication_obj_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.publication_obj_spec)
}
void Node::set_allocated_publication_table(::pg_query::PublicationTable* publication_table) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (publication_table) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(publication_table);
    if (message_arena != submessage_arena) {
      publication_table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, publication_table, submessage_arena);
    }
    set_has_publication_table();
    _impl_.node_.publication_table_ = publication_table;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.publication_table)
}
void Node::set_allocated_inline_code_block(::pg_query::InlineCodeBlock* inline_code_block) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (inline_code_block) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(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();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (call_context) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(call_context);
    if (message_arena != submessage_arena) {
      call_context = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, call_context, submessage_arena);
    }
    set_has_call_context();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (integer) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(integer);
    if (message_arena != submessage_arena) {
      integer = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, integer, submessage_arena);
    }
    set_has_integer();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (float_) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(float_);
    if (message_arena != submessage_arena) {
      float_ = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, float_, submessage_arena);
    }
    set_has_float_();
    _impl_.node_.float__ = float_;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.float)
}
void Node::set_allocated_boolean(::pg_query::Boolean* boolean) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (boolean) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(boolean);
    if (message_arena != submessage_arena) {
      boolean = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, boolean, submessage_arena);
    }
    set_has_boolean();
    _impl_.node_.boolean_ = boolean;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.boolean)
}
void Node::set_allocated_string(::pg_query::String* string) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (string) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(string);
    if (message_arena != submessage_arena) {
      string = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, string, submessage_arena);
    }
    set_has_string();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (bit_string) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(bit_string);
    if (message_arena != submessage_arena) {
      bit_string = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, bit_string, submessage_arena);
    }
    set_has_bit_string();
    _impl_.node_.bit_string_ = bit_string;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.bit_string)
}
void Node::set_allocated_list(::pg_query::List* list) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (list) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(list);
    if (message_arena != submessage_arena) {
      list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, list, submessage_arena);
    }
    set_has_list();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (int_list) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(int_list);
    if (message_arena != submessage_arena) {
      int_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, int_list, submessage_arena);
    }
    set_has_int_list();
    _impl_.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 = GetArenaForAllocation();
  clear_node();
  if (oid_list) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(oid_list);
    if (message_arena != submessage_arena) {
      oid_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, oid_list, submessage_arena);
    }
    set_has_oid_list();
    _impl_.node_.oid_list_ = oid_list;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.oid_list)
}
void Node::set_allocated_a_const(::pg_query::A_Const* a_const) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_node();
  if (a_const) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(a_const);
    if (message_arena != submessage_arena) {
      a_const = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, a_const, submessage_arena);
    }
    set_has_a_const();
    _impl_.node_.a_const_ = a_const;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_const)
}
Node::Node(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Node)
}
Node::Node(const Node& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Node* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.node_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

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

inline void Node::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.node_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_node();
}

Node::~Node() {
  // @@protoc_insertion_point(destructor:pg_query.Node)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

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

void Node::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // .pg_query.MergeAction merge_action = 51 [json_name = "MergeAction"];
  if (_internal_has_merge_action()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(51, _Internal::merge_action(this),
        _Internal::merge_action(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

  // .pg_query.MergeStmt merge_stmt = 57 [json_name = "MergeStmt"];
  if (_internal_has_merge_stmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(57, _Internal::merge_stmt(this),
        _Internal::merge_stmt(this).GetCachedSize(), target, stream);
  }

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

  // .pg_query.ReturnStmt return_stmt = 59 [json_name = "ReturnStmt"];
  if (_internal_has_return_stmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(59, _Internal::return_stmt(this),
        _Internal::return_stmt(this).GetCachedSize(), target, stream);
  }

  // .pg_query.PLAssignStmt plassign_stmt = 60 [json_name = "PLAssignStmt"];
  if (_internal_has_plassign_stmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(60, _Internal::plassign_stmt(this),
        _Internal::plassign_stmt(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 111 [json_name = "AlterDatabaseRefreshCollStmt"];
  if (_internal_has_alter_database_refresh_coll_stmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(111, _Internal::alter_database_refresh_coll_stmt(this),
        _Internal::alter_database_refresh_coll_stmt(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // .pg_query.StatsElem stats_elem = 193 [json_name = "StatsElem"];
  if (_internal_has_stats_elem()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(193, _Internal::stats_elem(this),
        _Internal::stats_elem(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // .pg_query.CTESearchClause ctesearch_clause = 214 [json_name = "CTESearchClause"];
  if (_internal_has_ctesearch_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(214, _Internal::ctesearch_clause(this),
        _Internal::ctesearch_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CTECycleClause ctecycle_clause = 215 [json_name = "CTECycleClause"];
  if (_internal_has_ctecycle_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(215, _Internal::ctecycle_clause(this),
        _Internal::ctecycle_clause(this).GetCachedSize(), target, stream);
  }

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

  // .pg_query.MergeWhenClause merge_when_clause = 217 [json_name = "MergeWhenClause"];
  if (_internal_has_merge_when_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(217, _Internal::merge_when_clause(this),
        _Internal::merge_when_clause(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

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

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

  // .pg_query.PublicationObjSpec publication_obj_spec = 226 [json_name = "PublicationObjSpec"];
  if (_internal_has_publication_obj_spec()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(226, _Internal::publication_obj_spec(this),
        _Internal::publication_obj_spec(this).GetCachedSize(), target, stream);
  }

  // .pg_query.PublicationTable publication_table = 227 [json_name = "PublicationTable"];
  if (_internal_has_publication_table()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(227, _Internal::publication_table(this),
        _Internal::publication_table(this).GetCachedSize(), target, stream);
  }

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

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

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

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

  // .pg_query.Boolean boolean = 232 [json_name = "Boolean"];
  if (_internal_has_boolean()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(232, _Internal::boolean(this),
        _Internal::boolean(this).GetCachedSize(), target, stream);
  }

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

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

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

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

  // .pg_query.OidList oid_list = 237 [json_name = "OidList"];
  if (_internal_has_oid_list()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(237, _Internal::oid_list(this),
        _Internal::oid_list(this).GetCachedSize(), target, stream);
  }

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

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

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

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Node::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Node::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Node::GetClassData() const { return &_class_data_; }


void Node::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Node*>(&to_msg);
  auto& from = static_cast<const Node&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Node)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

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_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.node_, other->_impl_.node_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata Node::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[2]);
}

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

class Integer::_Internal {
 public:
};

Integer::Integer(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Integer)
}
Integer::Integer(const Integer& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Integer* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.ival_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.ival_ = from._impl_.ival_;
  // @@protoc_insertion_point(copy_constructor:pg_query.Integer)
}

inline void Integer::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.ival_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

Integer::~Integer() {
  // @@protoc_insertion_point(destructor:pg_query.Integer)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

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

void Integer::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* Integer::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 ival = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.ival_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // int32 ival = 1;
  if (this->_internal_ival() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_ival(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Integer::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Integer::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Integer::GetClassData() const { return &_class_data_; }


void Integer::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Integer*>(&to_msg);
  auto& from = static_cast<const Integer&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Integer)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_ival() != 0) {
    _this->_internal_set_ival(from._internal_ival());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.ival_, other->_impl_.ival_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Integer::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[3]);
}

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

class Float::_Internal {
 public:
};

Float::Float(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Float)
}
Float::Float(const Float& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Float* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.fval_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.fval_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fval_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fval().empty()) {
    _this->_impl_.fval_.Set(from._internal_fval(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.Float)
}

inline void Float::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.fval_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.fval_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fval_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Float::~Float() {
  // @@protoc_insertion_point(destructor:pg_query.Float)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Float::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.fval_.Destroy();
}

void Float::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* Float::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string fval = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_fval();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Float.fval"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string fval = 1;
  if (!this->_internal_fval().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fval().data(), static_cast<int>(this->_internal_fval().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.Float.fval");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_fval(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string fval = 1;
  if (!this->_internal_fval().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fval());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Float::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Float::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Float::GetClassData() const { return &_class_data_; }


void Float::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Float*>(&to_msg);
  auto& from = static_cast<const Float&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Float)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_fval().empty()) {
    _this->_internal_set_fval(from._internal_fval());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.fval_, lhs_arena,
      &other->_impl_.fval_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata Float::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[4]);
}

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

class Boolean::_Internal {
 public:
};

Boolean::Boolean(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Boolean)
}
Boolean::Boolean(const Boolean& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Boolean* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.boolval_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.boolval_ = from._impl_.boolval_;
  // @@protoc_insertion_point(copy_constructor:pg_query.Boolean)
}

inline void Boolean::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.boolval_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

Boolean::~Boolean() {
  // @@protoc_insertion_point(destructor:pg_query.Boolean)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Boolean::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void Boolean::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.boolval_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Boolean::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool boolval = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.boolval_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // bool boolval = 1;
  if (this->_internal_boolval() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_boolval(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.Boolean)
  return target;
}

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

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bool boolval = 1;
  if (this->_internal_boolval() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Boolean::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Boolean::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Boolean::GetClassData() const { return &_class_data_; }


void Boolean::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Boolean*>(&to_msg);
  auto& from = static_cast<const Boolean&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Boolean)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_boolval() != 0) {
    _this->_internal_set_boolval(from._internal_boolval());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Boolean::InternalSwap(Boolean* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.boolval_, other->_impl_.boolval_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Boolean::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[5]);
}

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

class String::_Internal {
 public:
};

String::String(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.String)
}
String::String(const String& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  String* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.sval_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.sval_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sval_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sval().empty()) {
    _this->_impl_.sval_.Set(from._internal_sval(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.String)
}

inline void String::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.sval_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.sval_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sval_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

String::~String() {
  // @@protoc_insertion_point(destructor:pg_query.String)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void String::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.sval_.Destroy();
}

void String::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* String::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string sval = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_sval();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.String.sval"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string sval = 1;
  if (!this->_internal_sval().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sval().data(), static_cast<int>(this->_internal_sval().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.String.sval");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_sval(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string sval = 1;
  if (!this->_internal_sval().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sval());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData String::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    String::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*String::GetClassData() const { return &_class_data_; }


void String::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<String*>(&to_msg);
  auto& from = static_cast<const String&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.String)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_sval().empty()) {
    _this->_internal_set_sval(from._internal_sval());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.sval_, lhs_arena,
      &other->_impl_.sval_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata String::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[6]);
}

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

class BitString::_Internal {
 public:
};

BitString::BitString(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.BitString)
}
BitString::BitString(const BitString& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  BitString* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.bsval_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.bsval_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.bsval_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_bsval().empty()) {
    _this->_impl_.bsval_.Set(from._internal_bsval(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.BitString)
}

inline void BitString::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.bsval_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.bsval_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.bsval_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

BitString::~BitString() {
  // @@protoc_insertion_point(destructor:pg_query.BitString)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void BitString::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.bsval_.Destroy();
}

void BitString::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* BitString::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string bsval = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_bsval();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.BitString.bsval"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string bsval = 1;
  if (!this->_internal_bsval().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_bsval().data(), static_cast<int>(this->_internal_bsval().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.BitString.bsval");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_bsval(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string bsval = 1;
  if (!this->_internal_bsval().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_bsval());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BitString::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    BitString::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BitString::GetClassData() const { return &_class_data_; }


void BitString::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<BitString*>(&to_msg);
  auto& from = static_cast<const BitString&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.BitString)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_bsval().empty()) {
    _this->_internal_set_bsval(from._internal_bsval());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.bsval_, lhs_arena,
      &other->_impl_.bsval_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata BitString::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[7]);
}

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

class List::_Internal {
 public:
};

List::List(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.List)
}
List::List(const List& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  List* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){from._impl_.items_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.List)
}

inline void List::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

List::~List() {
  // @@protoc_insertion_point(destructor:pg_query.List)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void List::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.items_.~RepeatedPtrField();
}

void List::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* List::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node items = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData List::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    List::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*List::GetClassData() const { return &_class_data_; }


void List::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<List*>(&to_msg);
  auto& from = static_cast<const List&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.List)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.items_.MergeFrom(from._impl_.items_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
}

::PROTOBUF_NAMESPACE_ID::Metadata List::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[8]);
}

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

class OidList::_Internal {
 public:
};

OidList::OidList(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.OidList)
}
OidList::OidList(const OidList& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  OidList* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){from._impl_.items_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.OidList)
}

inline void OidList::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

OidList::~OidList() {
  // @@protoc_insertion_point(destructor:pg_query.OidList)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void OidList::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.items_.~RepeatedPtrField();
}

void OidList::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* OidList::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node items = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData OidList::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    OidList::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*OidList::GetClassData() const { return &_class_data_; }


void OidList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<OidList*>(&to_msg);
  auto& from = static_cast<const OidList&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OidList)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.items_.MergeFrom(from._impl_.items_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
}

::PROTOBUF_NAMESPACE_ID::Metadata OidList::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[9]);
}

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

class IntList::_Internal {
 public:
};

IntList::IntList(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.IntList)
}
IntList::IntList(const IntList& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  IntList* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){from._impl_.items_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.IntList)
}

inline void IntList::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.items_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

IntList::~IntList() {
  // @@protoc_insertion_point(destructor:pg_query.IntList)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void IntList::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.items_.~RepeatedPtrField();
}

void IntList::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* IntList::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node items = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IntList::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    IntList::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IntList::GetClassData() const { return &_class_data_; }


void IntList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<IntList*>(&to_msg);
  auto& from = static_cast<const IntList&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IntList)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.items_.MergeFrom(from._impl_.items_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
}

::PROTOBUF_NAMESPACE_ID::Metadata IntList::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[10]);
}

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

class A_Const::_Internal {
 public:
  static const ::pg_query::Integer& ival(const A_Const* msg);
  static const ::pg_query::Float& fval(const A_Const* msg);
  static const ::pg_query::Boolean& boolval(const A_Const* msg);
  static const ::pg_query::String& sval(const A_Const* msg);
  static const ::pg_query::BitString& bsval(const A_Const* msg);
};

const ::pg_query::Integer&
A_Const::_Internal::ival(const A_Const* msg) {
  return *msg->_impl_.val_.ival_;
}
const ::pg_query::Float&
A_Const::_Internal::fval(const A_Const* msg) {
  return *msg->_impl_.val_.fval_;
}
const ::pg_query::Boolean&
A_Const::_Internal::boolval(const A_Const* msg) {
  return *msg->_impl_.val_.boolval_;
}
const ::pg_query::String&
A_Const::_Internal::sval(const A_Const* msg) {
  return *msg->_impl_.val_.sval_;
}
const ::pg_query::BitString&
A_Const::_Internal::bsval(const A_Const* msg) {
  return *msg->_impl_.val_.bsval_;
}
void A_Const::set_allocated_ival(::pg_query::Integer* ival) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_val();
  if (ival) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(ival);
    if (message_arena != submessage_arena) {
      ival = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, ival, submessage_arena);
    }
    set_has_ival();
    _impl_.val_.ival_ = ival;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.ival)
}
void A_Const::set_allocated_fval(::pg_query::Float* fval) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_val();
  if (fval) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(fval);
    if (message_arena != submessage_arena) {
      fval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, fval, submessage_arena);
    }
    set_has_fval();
    _impl_.val_.fval_ = fval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.fval)
}
void A_Const::set_allocated_boolval(::pg_query::Boolean* boolval) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_val();
  if (boolval) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(boolval);
    if (message_arena != submessage_arena) {
      boolval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, boolval, submessage_arena);
    }
    set_has_boolval();
    _impl_.val_.boolval_ = boolval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.boolval)
}
void A_Const::set_allocated_sval(::pg_query::String* sval) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_val();
  if (sval) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sval);
    if (message_arena != submessage_arena) {
      sval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sval, submessage_arena);
    }
    set_has_sval();
    _impl_.val_.sval_ = sval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.sval)
}
void A_Const::set_allocated_bsval(::pg_query::BitString* bsval) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_val();
  if (bsval) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(bsval);
    if (message_arena != submessage_arena) {
      bsval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, bsval, submessage_arena);
    }
    set_has_bsval();
    _impl_.val_.bsval_ = bsval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.bsval)
}
A_Const::A_Const(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Const)
}
A_Const::A_Const(const A_Const& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  A_Const* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.isnull_){}
    , decltype(_impl_.location_){}
    , decltype(_impl_.val_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.isnull_, &from._impl_.isnull_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.isnull_)) + sizeof(_impl_.location_));
  clear_has_val();
  switch (from.val_case()) {
    case kIval: {
      _this->_internal_mutable_ival()->::pg_query::Integer::MergeFrom(
          from._internal_ival());
      break;
    }
    case kFval: {
      _this->_internal_mutable_fval()->::pg_query::Float::MergeFrom(
          from._internal_fval());
      break;
    }
    case kBoolval: {
      _this->_internal_mutable_boolval()->::pg_query::Boolean::MergeFrom(
          from._internal_boolval());
      break;
    }
    case kSval: {
      _this->_internal_mutable_sval()->::pg_query::String::MergeFrom(
          from._internal_sval());
      break;
    }
    case kBsval: {
      _this->_internal_mutable_bsval()->::pg_query::BitString::MergeFrom(
          from._internal_bsval());
      break;
    }
    case VAL_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Const)
}

inline void A_Const::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.isnull_){false}
    , decltype(_impl_.location_){0}
    , decltype(_impl_.val_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_val();
}

A_Const::~A_Const() {
  // @@protoc_insertion_point(destructor:pg_query.A_Const)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void A_Const::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_val()) {
    clear_val();
  }
}

void A_Const::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void A_Const::clear_val() {
// @@protoc_insertion_point(one_of_clear_start:pg_query.A_Const)
  switch (val_case()) {
    case kIval: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.val_.ival_;
      }
      break;
    }
    case kFval: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.val_.fval_;
      }
      break;
    }
    case kBoolval: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.val_.boolval_;
      }
      break;
    }
    case kSval: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.val_.sval_;
      }
      break;
    }
    case kBsval: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.val_.bsval_;
      }
      break;
    }
    case VAL_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = VAL_NOT_SET;
}


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

  ::memset(&_impl_.isnull_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.isnull_)) + sizeof(_impl_.location_));
  clear_val();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Const::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Integer ival = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_ival(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Float fval = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_fval(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Boolean boolval = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_boolval(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.String sval = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_sval(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.BitString bsval = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_bsval(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool isnull = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _impl_.isnull_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.Integer ival = 1;
  if (_internal_has_ival()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::ival(this),
        _Internal::ival(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Float fval = 2;
  if (_internal_has_fval()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::fval(this),
        _Internal::fval(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Boolean boolval = 3;
  if (_internal_has_boolval()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::boolval(this),
        _Internal::boolval(this).GetCachedSize(), target, stream);
  }

  // .pg_query.String sval = 4;
  if (_internal_has_sval()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::sval(this),
        _Internal::sval(this).GetCachedSize(), target, stream);
  }

  // .pg_query.BitString bsval = 5;
  if (_internal_has_bsval()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::bsval(this),
        _Internal::bsval(this).GetCachedSize(), target, stream);
  }

  // bool isnull = 10;
  if (this->_internal_isnull() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(10, this->_internal_isnull(), target);
  }

  // int32 location = 11;
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(11, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bool isnull = 10;
  if (this->_internal_isnull() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 11;
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  switch (val_case()) {
    // .pg_query.Integer ival = 1;
    case kIval: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.val_.ival_);
      break;
    }
    // .pg_query.Float fval = 2;
    case kFval: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.val_.fval_);
      break;
    }
    // .pg_query.Boolean boolval = 3;
    case kBoolval: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.val_.boolval_);
      break;
    }
    // .pg_query.String sval = 4;
    case kSval: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.val_.sval_);
      break;
    }
    // .pg_query.BitString bsval = 5;
    case kBsval: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.val_.bsval_);
      break;
    }
    case VAL_NOT_SET: {
      break;
    }
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData A_Const::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    A_Const::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*A_Const::GetClassData() const { return &_class_data_; }


void A_Const::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<A_Const*>(&to_msg);
  auto& from = static_cast<const A_Const&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Const)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_isnull() != 0) {
    _this->_internal_set_isnull(from._internal_isnull());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  switch (from.val_case()) {
    case kIval: {
      _this->_internal_mutable_ival()->::pg_query::Integer::MergeFrom(
          from._internal_ival());
      break;
    }
    case kFval: {
      _this->_internal_mutable_fval()->::pg_query::Float::MergeFrom(
          from._internal_fval());
      break;
    }
    case kBoolval: {
      _this->_internal_mutable_boolval()->::pg_query::Boolean::MergeFrom(
          from._internal_boolval());
      break;
    }
    case kSval: {
      _this->_internal_mutable_sval()->::pg_query::String::MergeFrom(
          from._internal_sval());
      break;
    }
    case kBsval: {
      _this->_internal_mutable_bsval()->::pg_query::BitString::MergeFrom(
          from._internal_bsval());
      break;
    }
    case VAL_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Const, _impl_.location_)
      + sizeof(A_Const::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(A_Const, _impl_.isnull_)>(
          reinterpret_cast<char*>(&_impl_.isnull_),
          reinterpret_cast<char*>(&other->_impl_.isnull_));
  swap(_impl_.val_, other->_impl_.val_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Const::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[11]);
}

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

class Alias::_Internal {
 public:
};

Alias::Alias(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Alias)
}
Alias::Alias(const Alias& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Alias* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.colnames_){from._impl_.colnames_}
    , decltype(_impl_.aliasname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.aliasname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.aliasname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_aliasname().empty()) {
    _this->_impl_.aliasname_.Set(from._internal_aliasname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.Alias)
}

inline void Alias::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.colnames_){arena}
    , decltype(_impl_.aliasname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.aliasname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.aliasname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Alias::~Alias() {
  // @@protoc_insertion_point(destructor:pg_query.Alias)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Alias::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.colnames_.~RepeatedPtrField();
  _impl_.aliasname_.Destroy();
}

void Alias::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* Alias::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string aliasname = 1 [json_name = "aliasname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_aliasname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Alias.aliasname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node colnames = 2 [json_name = "colnames"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string aliasname = 1 [json_name = "aliasname"];
  if (!this->_internal_aliasname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_colnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_colnames(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.colnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Alias::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Alias::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Alias::GetClassData() const { return &_class_data_; }


void Alias::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Alias*>(&to_msg);
  auto& from = static_cast<const Alias&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Alias)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.colnames_.MergeFrom(from._impl_.colnames_);
  if (!from._internal_aliasname().empty()) {
    _this->_internal_set_aliasname(from._internal_aliasname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.colnames_.InternalSwap(&other->_impl_.colnames_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.aliasname_, lhs_arena,
      &other->_impl_.aliasname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata Alias::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[12]);
}

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

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->_impl_.alias_;
}
RangeVar::RangeVar(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeVar)
}
RangeVar::RangeVar(const RangeVar& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeVar* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.catalogname_){}
    , decltype(_impl_.schemaname_){}
    , decltype(_impl_.relname_){}
    , decltype(_impl_.relpersistence_){}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.inh_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.catalogname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalogname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_catalogname().empty()) {
    _this->_impl_.catalogname_.Set(from._internal_catalogname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.schemaname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schemaname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schemaname().empty()) {
    _this->_impl_.schemaname_.Set(from._internal_schemaname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.relname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_relname().empty()) {
    _this->_impl_.relname_.Set(from._internal_relname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.relpersistence_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relpersistence_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_relpersistence().empty()) {
    _this->_impl_.relpersistence_.Set(from._internal_relpersistence(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_alias()) {
    _this->_impl_.alias_ = new ::pg_query::Alias(*from._impl_.alias_);
  }
  ::memcpy(&_impl_.inh_, &from._impl_.inh_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.inh_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeVar)
}

inline void RangeVar::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.catalogname_){}
    , decltype(_impl_.schemaname_){}
    , decltype(_impl_.relname_){}
    , decltype(_impl_.relpersistence_){}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.inh_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.catalogname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.catalogname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.schemaname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schemaname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.relname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.relpersistence_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relpersistence_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

RangeVar::~RangeVar() {
  // @@protoc_insertion_point(destructor:pg_query.RangeVar)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeVar::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.catalogname_.Destroy();
  _impl_.schemaname_.Destroy();
  _impl_.relname_.Destroy();
  _impl_.relpersistence_.Destroy();
  if (this != internal_default_instance()) delete _impl_.alias_;
}

void RangeVar::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* RangeVar::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string catalogname = 1 [json_name = "catalogname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_catalogname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeVar.catalogname"));
        } else
          goto handle_unusual;
        continue;
      // string schemaname = 2 [json_name = "schemaname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_schemaname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeVar.schemaname"));
        } else
          goto handle_unusual;
        continue;
      // string relname = 3 [json_name = "relname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_relname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeVar.relname"));
        } else
          goto handle_unusual;
        continue;
      // bool inh = 4 [json_name = "inh"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 42)) {
          auto str = _internal_mutable_relpersistence();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeVar.relpersistence"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 6 [json_name = "alias"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string catalogname = 1 [json_name = "catalogname"];
  if (!this->_internal_catalogname().empty()) {
    ::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->_internal_schemaname().empty()) {
    ::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->_internal_relname().empty()) {
    ::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->_internal_inh() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_inh(), target);
  }

  // string relpersistence = 5 [json_name = "relpersistence"];
  if (!this->_internal_relpersistence().empty()) {
    ::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->_internal_has_alias()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_catalogname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_catalogname());
  }

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

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

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

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

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeVar::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeVar::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeVar::GetClassData() const { return &_class_data_; }


void RangeVar::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeVar*>(&to_msg);
  auto& from = static_cast<const RangeVar&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeVar)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_catalogname().empty()) {
    _this->_internal_set_catalogname(from._internal_catalogname());
  }
  if (!from._internal_schemaname().empty()) {
    _this->_internal_set_schemaname(from._internal_schemaname());
  }
  if (!from._internal_relname().empty()) {
    _this->_internal_set_relname(from._internal_relname());
  }
  if (!from._internal_relpersistence().empty()) {
    _this->_internal_set_relpersistence(from._internal_relpersistence());
  }
  if (from._internal_has_alias()) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_inh() != 0) {
    _this->_internal_set_inh(from._internal_inh());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.catalogname_, lhs_arena,
      &other->_impl_.catalogname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schemaname_, lhs_arena,
      &other->_impl_.schemaname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.relname_, lhs_arena,
      &other->_impl_.relname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.relpersistence_, lhs_arena,
      &other->_impl_.relpersistence_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.location_)
      + sizeof(RangeVar::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.alias_)>(
          reinterpret_cast<char*>(&_impl_.alias_),
          reinterpret_cast<char*>(&other->_impl_.alias_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeVar::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[13]);
}

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

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->_impl_.docexpr_;
}
const ::pg_query::Node&
TableFunc::_Internal::rowexpr(const TableFunc* msg) {
  return *msg->_impl_.rowexpr_;
}
TableFunc::TableFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableFunc)
}
TableFunc::TableFunc(const TableFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TableFunc* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.ns_uris_){from._impl_.ns_uris_}
    , decltype(_impl_.ns_names_){from._impl_.ns_names_}
    , decltype(_impl_.colnames_){from._impl_.colnames_}
    , decltype(_impl_.coltypes_){from._impl_.coltypes_}
    , decltype(_impl_.coltypmods_){from._impl_.coltypmods_}
    , decltype(_impl_.colcollations_){from._impl_.colcollations_}
    , decltype(_impl_.colexprs_){from._impl_.colexprs_}
    , decltype(_impl_.coldefexprs_){from._impl_.coldefexprs_}
    , decltype(_impl_.notnulls_){from._impl_.notnulls_}
    , /*decltype(_impl_._notnulls_cached_byte_size_)*/{0}
    , decltype(_impl_.docexpr_){nullptr}
    , decltype(_impl_.rowexpr_){nullptr}
    , decltype(_impl_.ordinalitycol_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_docexpr()) {
    _this->_impl_.docexpr_ = new ::pg_query::Node(*from._impl_.docexpr_);
  }
  if (from._internal_has_rowexpr()) {
    _this->_impl_.rowexpr_ = new ::pg_query::Node(*from._impl_.rowexpr_);
  }
  ::memcpy(&_impl_.ordinalitycol_, &from._impl_.ordinalitycol_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.ordinalitycol_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TableFunc)
}

inline void TableFunc::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.ns_uris_){arena}
    , decltype(_impl_.ns_names_){arena}
    , decltype(_impl_.colnames_){arena}
    , decltype(_impl_.coltypes_){arena}
    , decltype(_impl_.coltypmods_){arena}
    , decltype(_impl_.colcollations_){arena}
    , decltype(_impl_.colexprs_){arena}
    , decltype(_impl_.coldefexprs_){arena}
    , decltype(_impl_.notnulls_){arena}
    , /*decltype(_impl_._notnulls_cached_byte_size_)*/{0}
    , decltype(_impl_.docexpr_){nullptr}
    , decltype(_impl_.rowexpr_){nullptr}
    , decltype(_impl_.ordinalitycol_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TableFunc::~TableFunc() {
  // @@protoc_insertion_point(destructor:pg_query.TableFunc)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TableFunc::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.ns_uris_.~RepeatedPtrField();
  _impl_.ns_names_.~RepeatedPtrField();
  _impl_.colnames_.~RepeatedPtrField();
  _impl_.coltypes_.~RepeatedPtrField();
  _impl_.coltypmods_.~RepeatedPtrField();
  _impl_.colcollations_.~RepeatedPtrField();
  _impl_.colexprs_.~RepeatedPtrField();
  _impl_.coldefexprs_.~RepeatedPtrField();
  _impl_.notnulls_.~RepeatedField();
  if (this != internal_default_instance()) delete _impl_.docexpr_;
  if (this != internal_default_instance()) delete _impl_.rowexpr_;
}

void TableFunc::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* TableFunc::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node ns_uris = 1 [json_name = "ns_uris"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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;
      // repeated uint64 notnulls = 11 [json_name = "notnulls"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_notnulls(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 88) {
          _internal_add_notnulls(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 ordinalitycol = 12 [json_name = "ordinalitycol"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _impl_.ordinalitycol_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 13 [json_name = "location"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

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

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

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

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

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

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

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

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

  // repeated uint64 notnulls = 11 [json_name = "notnulls"];
  {
    int byte_size = _impl_._notnulls_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          11, _internal_notnulls(), byte_size, target);
    }
  }

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

  // int32 location = 13 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(13, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.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->_impl_.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->_impl_.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->_impl_.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->_impl_.coldefexprs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated uint64 notnulls = 11 [json_name = "notnulls"];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.notnulls_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._notnulls_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

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

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

  // int32 ordinalitycol = 12 [json_name = "ordinalitycol"];
  if (this->_internal_ordinalitycol() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_ordinalitycol());
  }

  // int32 location = 13 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TableFunc::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TableFunc::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TableFunc::GetClassData() const { return &_class_data_; }


void TableFunc::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TableFunc*>(&to_msg);
  auto& from = static_cast<const TableFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableFunc)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.ns_uris_.MergeFrom(from._impl_.ns_uris_);
  _this->_impl_.ns_names_.MergeFrom(from._impl_.ns_names_);
  _this->_impl_.colnames_.MergeFrom(from._impl_.colnames_);
  _this->_impl_.coltypes_.MergeFrom(from._impl_.coltypes_);
  _this->_impl_.coltypmods_.MergeFrom(from._impl_.coltypmods_);
  _this->_impl_.colcollations_.MergeFrom(from._impl_.colcollations_);
  _this->_impl_.colexprs_.MergeFrom(from._impl_.colexprs_);
  _this->_impl_.coldefexprs_.MergeFrom(from._impl_.coldefexprs_);
  _this->_impl_.notnulls_.MergeFrom(from._impl_.notnulls_);
  if (from._internal_has_docexpr()) {
    _this->_internal_mutable_docexpr()->::pg_query::Node::MergeFrom(
        from._internal_docexpr());
  }
  if (from._internal_has_rowexpr()) {
    _this->_internal_mutable_rowexpr()->::pg_query::Node::MergeFrom(
        from._internal_rowexpr());
  }
  if (from._internal_ordinalitycol() != 0) {
    _this->_internal_set_ordinalitycol(from._internal_ordinalitycol());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.ns_uris_.InternalSwap(&other->_impl_.ns_uris_);
  _impl_.ns_names_.InternalSwap(&other->_impl_.ns_names_);
  _impl_.colnames_.InternalSwap(&other->_impl_.colnames_);
  _impl_.coltypes_.InternalSwap(&other->_impl_.coltypes_);
  _impl_.coltypmods_.InternalSwap(&other->_impl_.coltypmods_);
  _impl_.colcollations_.InternalSwap(&other->_impl_.colcollations_);
  _impl_.colexprs_.InternalSwap(&other->_impl_.colexprs_);
  _impl_.coldefexprs_.InternalSwap(&other->_impl_.coldefexprs_);
  _impl_.notnulls_.InternalSwap(&other->_impl_.notnulls_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.location_)
      + sizeof(TableFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.docexpr_)>(
          reinterpret_cast<char*>(&_impl_.docexpr_),
          reinterpret_cast<char*>(&other->_impl_.docexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TableFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[14]);
}

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

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->_impl_.xpr_;
}
Var::Var(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Var)
}
Var::Var(const Var& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Var* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.varno_){}
    , decltype(_impl_.varattno_){}
    , decltype(_impl_.vartype_){}
    , decltype(_impl_.vartypmod_){}
    , decltype(_impl_.varcollid_){}
    , decltype(_impl_.varlevelsup_){}
    , decltype(_impl_.varnosyn_){}
    , decltype(_impl_.varattnosyn_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.varno_, &from._impl_.varno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.varno_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Var)
}

inline void Var::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.varno_){0}
    , decltype(_impl_.varattno_){0}
    , decltype(_impl_.vartype_){0u}
    , decltype(_impl_.vartypmod_){0}
    , decltype(_impl_.varcollid_){0u}
    , decltype(_impl_.varlevelsup_){0u}
    , decltype(_impl_.varnosyn_){0u}
    , decltype(_impl_.varattnosyn_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

Var::~Var() {
  // @@protoc_insertion_point(destructor:pg_query.Var)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Var::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void Var::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* Var::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_xpr(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 varno = 2 [json_name = "varno"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.varattno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 vartype = 4 [json_name = "vartype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.vartypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 varcollid = 6 [json_name = "varcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(tag) == 64)) {
          _impl_.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<uint8_t>(tag) == 72)) {
          _impl_.varattnosyn_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 10 [json_name = "location"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // int32 varno = 2 [json_name = "varno"];
  if (this->_internal_varno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_varno(), target);
  }

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

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

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

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

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

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

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

  // int32 location = 10 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(10, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // int32 varno = 2 [json_name = "varno"];
  if (this->_internal_varno() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_varno());
  }

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

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

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

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

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

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

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Var::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Var::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Var::GetClassData() const { return &_class_data_; }


void Var::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Var*>(&to_msg);
  auto& from = static_cast<const Var&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Var)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_varno() != 0) {
    _this->_internal_set_varno(from._internal_varno());
  }
  if (from._internal_varattno() != 0) {
    _this->_internal_set_varattno(from._internal_varattno());
  }
  if (from._internal_vartype() != 0) {
    _this->_internal_set_vartype(from._internal_vartype());
  }
  if (from._internal_vartypmod() != 0) {
    _this->_internal_set_vartypmod(from._internal_vartypmod());
  }
  if (from._internal_varcollid() != 0) {
    _this->_internal_set_varcollid(from._internal_varcollid());
  }
  if (from._internal_varlevelsup() != 0) {
    _this->_internal_set_varlevelsup(from._internal_varlevelsup());
  }
  if (from._internal_varnosyn() != 0) {
    _this->_internal_set_varnosyn(from._internal_varnosyn());
  }
  if (from._internal_varattnosyn() != 0) {
    _this->_internal_set_varattnosyn(from._internal_varattnosyn());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Var, _impl_.location_)
      + sizeof(Var::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(Var, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Var::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[15]);
}

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

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->_impl_.xpr_;
}
Param::Param(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Param)
}
Param::Param(const Param& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Param* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.paramkind_){}
    , decltype(_impl_.paramid_){}
    , decltype(_impl_.paramtype_){}
    , decltype(_impl_.paramtypmod_){}
    , decltype(_impl_.paramcollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.paramkind_, &from._impl_.paramkind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.paramkind_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Param)
}

inline void Param::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.paramkind_){0}
    , decltype(_impl_.paramid_){0}
    , decltype(_impl_.paramtype_){0u}
    , decltype(_impl_.paramtypmod_){0}
    , decltype(_impl_.paramcollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

Param::~Param() {
  // @@protoc_insertion_point(destructor:pg_query.Param)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Param::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void Param::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* Param::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          _impl_.paramid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 paramtype = 4 [json_name = "paramtype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.paramtypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 paramcollid = 6 [json_name = "paramcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

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

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

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

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

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

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

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

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

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

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Param::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Param::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Param::GetClassData() const { return &_class_data_; }


void Param::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Param*>(&to_msg);
  auto& from = static_cast<const Param&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Param)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_paramkind() != 0) {
    _this->_internal_set_paramkind(from._internal_paramkind());
  }
  if (from._internal_paramid() != 0) {
    _this->_internal_set_paramid(from._internal_paramid());
  }
  if (from._internal_paramtype() != 0) {
    _this->_internal_set_paramtype(from._internal_paramtype());
  }
  if (from._internal_paramtypmod() != 0) {
    _this->_internal_set_paramtypmod(from._internal_paramtypmod());
  }
  if (from._internal_paramcollid() != 0) {
    _this->_internal_set_paramcollid(from._internal_paramcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Param, _impl_.location_)
      + sizeof(Param::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(Param, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Param::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[16]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
Aggref::_Internal::aggfilter(const Aggref* msg) {
  return *msg->_impl_.aggfilter_;
}
Aggref::Aggref(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Aggref)
}
Aggref::Aggref(const Aggref& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Aggref* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.aggargtypes_){from._impl_.aggargtypes_}
    , decltype(_impl_.aggdirectargs_){from._impl_.aggdirectargs_}
    , decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.aggorder_){from._impl_.aggorder_}
    , decltype(_impl_.aggdistinct_){from._impl_.aggdistinct_}
    , decltype(_impl_.aggkind_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.aggfilter_){nullptr}
    , decltype(_impl_.aggfnoid_){}
    , decltype(_impl_.aggtype_){}
    , decltype(_impl_.aggcollid_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.aggtranstype_){}
    , decltype(_impl_.aggstar_){}
    , decltype(_impl_.aggvariadic_){}
    , decltype(_impl_.agglevelsup_){}
    , decltype(_impl_.aggsplit_){}
    , decltype(_impl_.aggno_){}
    , decltype(_impl_.aggtransno_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.aggkind_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.aggkind_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_aggkind().empty()) {
    _this->_impl_.aggkind_.Set(from._internal_aggkind(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_aggfilter()) {
    _this->_impl_.aggfilter_ = new ::pg_query::Node(*from._impl_.aggfilter_);
  }
  ::memcpy(&_impl_.aggfnoid_, &from._impl_.aggfnoid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.aggfnoid_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Aggref)
}

inline void Aggref::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.aggargtypes_){arena}
    , decltype(_impl_.aggdirectargs_){arena}
    , decltype(_impl_.args_){arena}
    , decltype(_impl_.aggorder_){arena}
    , decltype(_impl_.aggdistinct_){arena}
    , decltype(_impl_.aggkind_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.aggfilter_){nullptr}
    , decltype(_impl_.aggfnoid_){0u}
    , decltype(_impl_.aggtype_){0u}
    , decltype(_impl_.aggcollid_){0u}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.aggtranstype_){0u}
    , decltype(_impl_.aggstar_){false}
    , decltype(_impl_.aggvariadic_){false}
    , decltype(_impl_.agglevelsup_){0u}
    , decltype(_impl_.aggsplit_){0}
    , decltype(_impl_.aggno_){0}
    , decltype(_impl_.aggtransno_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.aggkind_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.aggkind_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Aggref::~Aggref() {
  // @@protoc_insertion_point(destructor:pg_query.Aggref)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Aggref::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.aggargtypes_.~RepeatedPtrField();
  _impl_.aggdirectargs_.~RepeatedPtrField();
  _impl_.args_.~RepeatedPtrField();
  _impl_.aggorder_.~RepeatedPtrField();
  _impl_.aggdistinct_.~RepeatedPtrField();
  _impl_.aggkind_.Destroy();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.aggfilter_;
}

void Aggref::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.aggargtypes_.Clear();
  _impl_.aggdirectargs_.Clear();
  _impl_.args_.Clear();
  _impl_.aggorder_.Clear();
  _impl_.aggdistinct_.Clear();
  _impl_.aggkind_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.aggfilter_ != nullptr) {
    delete _impl_.aggfilter_;
  }
  _impl_.aggfilter_ = nullptr;
  ::memset(&_impl_.aggfnoid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.aggfnoid_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Aggref::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 104)) {
          _impl_.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<uint8_t>(tag) == 112)) {
          _impl_.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<uint8_t>(tag) == 122)) {
          auto str = _internal_mutable_aggkind();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Aggref.aggkind"));
        } else
          goto handle_unusual;
        continue;
      // uint32 agglevelsup = 16 [json_name = "agglevelsup"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 128)) {
          _impl_.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<uint8_t>(tag) == 136)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_aggsplit(static_cast<::pg_query::AggSplit>(val));
        } else
          goto handle_unusual;
        continue;
      // int32 aggno = 18 [json_name = "aggno"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          _impl_.aggno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 aggtransno = 19 [json_name = "aggtransno"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 152)) {
          _impl_.aggtransno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 20 [json_name = "location"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 160)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
  if (this->_internal_aggfnoid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_aggfnoid(), target);
  }

  // uint32 aggtype = 3 [json_name = "aggtype"];
  if (this->_internal_aggtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_aggtype(), target);
  }

  // uint32 aggcollid = 4 [json_name = "aggcollid"];
  if (this->_internal_aggcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_aggcollid(), target);
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_inputcollid(), target);
  }

  // uint32 aggtranstype = 6 [json_name = "aggtranstype"];
  if (this->_internal_aggtranstype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_aggtranstype(), target);
  }

  // repeated .pg_query.Node aggargtypes = 7 [json_name = "aggargtypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggargtypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggargtypes(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aggdirectargs = 8 [json_name = "aggdirectargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggdirectargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggdirectargs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 9 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aggorder = 10 [json_name = "aggorder"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggorder_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggorder(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aggdistinct = 11 [json_name = "aggdistinct"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggdistinct_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggdistinct(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node aggfilter = 12 [json_name = "aggfilter"];
  if (this->_internal_has_aggfilter()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(12, _Internal::aggfilter(this),
        _Internal::aggfilter(this).GetCachedSize(), target, stream);
  }

  // bool aggstar = 13 [json_name = "aggstar"];
  if (this->_internal_aggstar() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(13, this->_internal_aggstar(), target);
  }

  // bool aggvariadic = 14 [json_name = "aggvariadic"];
  if (this->_internal_aggvariadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(14, this->_internal_aggvariadic(), target);
  }

  // string aggkind = 15 [json_name = "aggkind"];
  if (!this->_internal_aggkind().empty()) {
    ::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->_internal_agglevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(16, this->_internal_agglevelsup(), target);
  }

  // .pg_query.AggSplit aggsplit = 17 [json_name = "aggsplit"];
  if (this->_internal_aggsplit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      17, this->_internal_aggsplit(), target);
  }

  // int32 aggno = 18 [json_name = "aggno"];
  if (this->_internal_aggno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(18, this->_internal_aggno(), target);
  }

  // int32 aggtransno = 19 [json_name = "aggtransno"];
  if (this->_internal_aggtransno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(19, this->_internal_aggtransno(), target);
  }

  // int32 location = 20 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(20, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.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->_impl_.aggdistinct_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string aggkind = 15 [json_name = "aggkind"];
  if (!this->_internal_aggkind().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_aggkind());
  }

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

  // .pg_query.Node aggfilter = 12 [json_name = "aggfilter"];
  if (this->_internal_has_aggfilter()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.aggfilter_);
  }

  // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
  if (this->_internal_aggfnoid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_aggfnoid());
  }

  // uint32 aggtype = 3 [json_name = "aggtype"];
  if (this->_internal_aggtype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_aggtype());
  }

  // uint32 aggcollid = 4 [json_name = "aggcollid"];
  if (this->_internal_aggcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_aggcollid());
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

  // uint32 aggtranstype = 6 [json_name = "aggtranstype"];
  if (this->_internal_aggtranstype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_aggtranstype());
  }

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

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

  // uint32 agglevelsup = 16 [json_name = "agglevelsup"];
  if (this->_internal_agglevelsup() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::UInt32Size(
        this->_internal_agglevelsup());
  }

  // .pg_query.AggSplit aggsplit = 17 [json_name = "aggsplit"];
  if (this->_internal_aggsplit() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_aggsplit());
  }

  // int32 aggno = 18 [json_name = "aggno"];
  if (this->_internal_aggno() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::Int32Size(
        this->_internal_aggno());
  }

  // int32 aggtransno = 19 [json_name = "aggtransno"];
  if (this->_internal_aggtransno() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::Int32Size(
        this->_internal_aggtransno());
  }

  // int32 location = 20 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Aggref::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Aggref::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Aggref::GetClassData() const { return &_class_data_; }


void Aggref::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Aggref*>(&to_msg);
  auto& from = static_cast<const Aggref&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Aggref)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.aggargtypes_.MergeFrom(from._impl_.aggargtypes_);
  _this->_impl_.aggdirectargs_.MergeFrom(from._impl_.aggdirectargs_);
  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  _this->_impl_.aggorder_.MergeFrom(from._impl_.aggorder_);
  _this->_impl_.aggdistinct_.MergeFrom(from._impl_.aggdistinct_);
  if (!from._internal_aggkind().empty()) {
    _this->_internal_set_aggkind(from._internal_aggkind());
  }
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_aggfilter()) {
    _this->_internal_mutable_aggfilter()->::pg_query::Node::MergeFrom(
        from._internal_aggfilter());
  }
  if (from._internal_aggfnoid() != 0) {
    _this->_internal_set_aggfnoid(from._internal_aggfnoid());
  }
  if (from._internal_aggtype() != 0) {
    _this->_internal_set_aggtype(from._internal_aggtype());
  }
  if (from._internal_aggcollid() != 0) {
    _this->_internal_set_aggcollid(from._internal_aggcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_aggtranstype() != 0) {
    _this->_internal_set_aggtranstype(from._internal_aggtranstype());
  }
  if (from._internal_aggstar() != 0) {
    _this->_internal_set_aggstar(from._internal_aggstar());
  }
  if (from._internal_aggvariadic() != 0) {
    _this->_internal_set_aggvariadic(from._internal_aggvariadic());
  }
  if (from._internal_agglevelsup() != 0) {
    _this->_internal_set_agglevelsup(from._internal_agglevelsup());
  }
  if (from._internal_aggsplit() != 0) {
    _this->_internal_set_aggsplit(from._internal_aggsplit());
  }
  if (from._internal_aggno() != 0) {
    _this->_internal_set_aggno(from._internal_aggno());
  }
  if (from._internal_aggtransno() != 0) {
    _this->_internal_set_aggtransno(from._internal_aggtransno());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.aggargtypes_.InternalSwap(&other->_impl_.aggargtypes_);
  _impl_.aggdirectargs_.InternalSwap(&other->_impl_.aggdirectargs_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.aggorder_.InternalSwap(&other->_impl_.aggorder_);
  _impl_.aggdistinct_.InternalSwap(&other->_impl_.aggdistinct_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.aggkind_, lhs_arena,
      &other->_impl_.aggkind_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Aggref, _impl_.location_)
      + sizeof(Aggref::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(Aggref, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Aggref::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[17]);
}

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

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->_impl_.xpr_;
}
GroupingFunc::GroupingFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.GroupingFunc)
}
GroupingFunc::GroupingFunc(const GroupingFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  GroupingFunc* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.refs_){from._impl_.refs_}
    , decltype(_impl_.cols_){from._impl_.cols_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.agglevelsup_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.agglevelsup_, &from._impl_.agglevelsup_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.agglevelsup_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GroupingFunc)
}

inline void GroupingFunc::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.refs_){arena}
    , decltype(_impl_.cols_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.agglevelsup_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

GroupingFunc::~GroupingFunc() {
  // @@protoc_insertion_point(destructor:pg_query.GroupingFunc)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GroupingFunc::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  _impl_.refs_.~RepeatedPtrField();
  _impl_.cols_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void GroupingFunc::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* GroupingFunc::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node refs = 3 [json_name = "refs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_refs_size()); i < n; i++) {
    const auto& repfield = this->_internal_refs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node cols = 4 [json_name = "cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_cols(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 agglevelsup = 5 [json_name = "agglevelsup"];
  if (this->_internal_agglevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_agglevelsup(), target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 agglevelsup = 5 [json_name = "agglevelsup"];
  if (this->_internal_agglevelsup() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_agglevelsup());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GroupingFunc::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    GroupingFunc::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GroupingFunc::GetClassData() const { return &_class_data_; }


void GroupingFunc::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<GroupingFunc*>(&to_msg);
  auto& from = static_cast<const GroupingFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GroupingFunc)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  _this->_impl_.refs_.MergeFrom(from._impl_.refs_);
  _this->_impl_.cols_.MergeFrom(from._impl_.cols_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_agglevelsup() != 0) {
    _this->_internal_set_agglevelsup(from._internal_agglevelsup());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.refs_.InternalSwap(&other->_impl_.refs_);
  _impl_.cols_.InternalSwap(&other->_impl_.cols_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.location_)
      + sizeof(GroupingFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GroupingFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[18]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
WindowFunc::_Internal::aggfilter(const WindowFunc* msg) {
  return *msg->_impl_.aggfilter_;
}
WindowFunc::WindowFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowFunc)
}
WindowFunc::WindowFunc(const WindowFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  WindowFunc* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.aggfilter_){nullptr}
    , decltype(_impl_.winfnoid_){}
    , decltype(_impl_.wintype_){}
    , decltype(_impl_.wincollid_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.winref_){}
    , decltype(_impl_.winstar_){}
    , decltype(_impl_.winagg_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_aggfilter()) {
    _this->_impl_.aggfilter_ = new ::pg_query::Node(*from._impl_.aggfilter_);
  }
  ::memcpy(&_impl_.winfnoid_, &from._impl_.winfnoid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.winfnoid_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WindowFunc)
}

inline void WindowFunc::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.aggfilter_){nullptr}
    , decltype(_impl_.winfnoid_){0u}
    , decltype(_impl_.wintype_){0u}
    , decltype(_impl_.wincollid_){0u}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.winref_){0u}
    , decltype(_impl_.winstar_){false}
    , decltype(_impl_.winagg_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

WindowFunc::~WindowFunc() {
  // @@protoc_insertion_point(destructor:pg_query.WindowFunc)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void WindowFunc::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.aggfilter_;
}

void WindowFunc::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* WindowFunc::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 64)) {
          _impl_.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<uint8_t>(tag) == 72)) {
          _impl_.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<uint8_t>(tag) == 80)) {
          _impl_.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<uint8_t>(tag) == 88)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 winfnoid = 2 [json_name = "winfnoid"];
  if (this->_internal_winfnoid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_winfnoid(), target);
  }

  // uint32 wintype = 3 [json_name = "wintype"];
  if (this->_internal_wintype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_wintype(), target);
  }

  // uint32 wincollid = 4 [json_name = "wincollid"];
  if (this->_internal_wincollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_wincollid(), target);
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
  if (this->_internal_has_aggfilter()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::aggfilter(this),
        _Internal::aggfilter(this).GetCachedSize(), target, stream);
  }

  // uint32 winref = 8 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_winref(), target);
  }

  // bool winstar = 9 [json_name = "winstar"];
  if (this->_internal_winstar() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(9, this->_internal_winstar(), target);
  }

  // bool winagg = 10 [json_name = "winagg"];
  if (this->_internal_winagg() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(10, this->_internal_winagg(), target);
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(11, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
  if (this->_internal_has_aggfilter()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.aggfilter_);
  }

  // uint32 winfnoid = 2 [json_name = "winfnoid"];
  if (this->_internal_winfnoid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_winfnoid());
  }

  // uint32 wintype = 3 [json_name = "wintype"];
  if (this->_internal_wintype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_wintype());
  }

  // uint32 wincollid = 4 [json_name = "wincollid"];
  if (this->_internal_wincollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_wincollid());
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

  // uint32 winref = 8 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_winref());
  }

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

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

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData WindowFunc::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    WindowFunc::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*WindowFunc::GetClassData() const { return &_class_data_; }


void WindowFunc::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<WindowFunc*>(&to_msg);
  auto& from = static_cast<const WindowFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowFunc)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_aggfilter()) {
    _this->_internal_mutable_aggfilter()->::pg_query::Node::MergeFrom(
        from._internal_aggfilter());
  }
  if (from._internal_winfnoid() != 0) {
    _this->_internal_set_winfnoid(from._internal_winfnoid());
  }
  if (from._internal_wintype() != 0) {
    _this->_internal_set_wintype(from._internal_wintype());
  }
  if (from._internal_wincollid() != 0) {
    _this->_internal_set_wincollid(from._internal_wincollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_winref() != 0) {
    _this->_internal_set_winref(from._internal_winref());
  }
  if (from._internal_winstar() != 0) {
    _this->_internal_set_winstar(from._internal_winstar());
  }
  if (from._internal_winagg() != 0) {
    _this->_internal_set_winagg(from._internal_winagg());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.location_)
      + sizeof(WindowFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WindowFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[19]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
SubscriptingRef::_Internal::refexpr(const SubscriptingRef* msg) {
  return *msg->_impl_.refexpr_;
}
const ::pg_query::Node&
SubscriptingRef::_Internal::refassgnexpr(const SubscriptingRef* msg) {
  return *msg->_impl_.refassgnexpr_;
}
SubscriptingRef::SubscriptingRef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubscriptingRef)
}
SubscriptingRef::SubscriptingRef(const SubscriptingRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SubscriptingRef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.refupperindexpr_){from._impl_.refupperindexpr_}
    , decltype(_impl_.reflowerindexpr_){from._impl_.reflowerindexpr_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.refexpr_){nullptr}
    , decltype(_impl_.refassgnexpr_){nullptr}
    , decltype(_impl_.refcontainertype_){}
    , decltype(_impl_.refelemtype_){}
    , decltype(_impl_.refrestype_){}
    , decltype(_impl_.reftypmod_){}
    , decltype(_impl_.refcollid_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_refexpr()) {
    _this->_impl_.refexpr_ = new ::pg_query::Node(*from._impl_.refexpr_);
  }
  if (from._internal_has_refassgnexpr()) {
    _this->_impl_.refassgnexpr_ = new ::pg_query::Node(*from._impl_.refassgnexpr_);
  }
  ::memcpy(&_impl_.refcontainertype_, &from._impl_.refcontainertype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.refcollid_) -
    reinterpret_cast<char*>(&_impl_.refcontainertype_)) + sizeof(_impl_.refcollid_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SubscriptingRef)
}

inline void SubscriptingRef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.refupperindexpr_){arena}
    , decltype(_impl_.reflowerindexpr_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.refexpr_){nullptr}
    , decltype(_impl_.refassgnexpr_){nullptr}
    , decltype(_impl_.refcontainertype_){0u}
    , decltype(_impl_.refelemtype_){0u}
    , decltype(_impl_.refrestype_){0u}
    , decltype(_impl_.reftypmod_){0}
    , decltype(_impl_.refcollid_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SubscriptingRef::~SubscriptingRef() {
  // @@protoc_insertion_point(destructor:pg_query.SubscriptingRef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SubscriptingRef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.refupperindexpr_.~RepeatedPtrField();
  _impl_.reflowerindexpr_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.refexpr_;
  if (this != internal_default_instance()) delete _impl_.refassgnexpr_;
}

void SubscriptingRef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.refupperindexpr_.Clear();
  _impl_.reflowerindexpr_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.refexpr_ != nullptr) {
    delete _impl_.refexpr_;
  }
  _impl_.refexpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.refassgnexpr_ != nullptr) {
    delete _impl_.refassgnexpr_;
  }
  _impl_.refassgnexpr_ = nullptr;
  ::memset(&_impl_.refcontainertype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.refcollid_) -
      reinterpret_cast<char*>(&_impl_.refcontainertype_)) + sizeof(_impl_.refcollid_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SubscriptingRef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.refelemtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 refrestype = 4 [json_name = "refrestype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.refrestype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 reftypmod = 5 [json_name = "reftypmod"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.reftypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 refcollid = 6 [json_name = "refcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.refcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          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<58>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          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<66>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node refexpr = 9 [json_name = "refexpr"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_refexpr(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_refassgnexpr(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
  if (this->_internal_refcontainertype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_refcontainertype(), target);
  }

  // uint32 refelemtype = 3 [json_name = "refelemtype"];
  if (this->_internal_refelemtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_refelemtype(), target);
  }

  // uint32 refrestype = 4 [json_name = "refrestype"];
  if (this->_internal_refrestype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_refrestype(), target);
  }

  // int32 reftypmod = 5 [json_name = "reftypmod"];
  if (this->_internal_reftypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_reftypmod(), target);
  }

  // uint32 refcollid = 6 [json_name = "refcollid"];
  if (this->_internal_refcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_refcollid(), target);
  }

  // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_refupperindexpr_size()); i < n; i++) {
    const auto& repfield = this->_internal_refupperindexpr(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_reflowerindexpr_size()); i < n; i++) {
    const auto& repfield = this->_internal_reflowerindexpr(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node refexpr = 9 [json_name = "refexpr"];
  if (this->_internal_has_refexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, _Internal::refexpr(this),
        _Internal::refexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"];
  if (this->_internal_has_refassgnexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, _Internal::refassgnexpr(this),
        _Internal::refassgnexpr(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

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

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

  // .pg_query.Node refexpr = 9 [json_name = "refexpr"];
  if (this->_internal_has_refexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.refexpr_);
  }

  // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"];
  if (this->_internal_has_refassgnexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.refassgnexpr_);
  }

  // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
  if (this->_internal_refcontainertype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_refcontainertype());
  }

  // uint32 refelemtype = 3 [json_name = "refelemtype"];
  if (this->_internal_refelemtype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_refelemtype());
  }

  // uint32 refrestype = 4 [json_name = "refrestype"];
  if (this->_internal_refrestype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_refrestype());
  }

  // int32 reftypmod = 5 [json_name = "reftypmod"];
  if (this->_internal_reftypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_reftypmod());
  }

  // uint32 refcollid = 6 [json_name = "refcollid"];
  if (this->_internal_refcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_refcollid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubscriptingRef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SubscriptingRef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubscriptingRef::GetClassData() const { return &_class_data_; }


void SubscriptingRef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SubscriptingRef*>(&to_msg);
  auto& from = static_cast<const SubscriptingRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SubscriptingRef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.refupperindexpr_.MergeFrom(from._impl_.refupperindexpr_);
  _this->_impl_.reflowerindexpr_.MergeFrom(from._impl_.reflowerindexpr_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_refexpr()) {
    _this->_internal_mutable_refexpr()->::pg_query::Node::MergeFrom(
        from._internal_refexpr());
  }
  if (from._internal_has_refassgnexpr()) {
    _this->_internal_mutable_refassgnexpr()->::pg_query::Node::MergeFrom(
        from._internal_refassgnexpr());
  }
  if (from._internal_refcontainertype() != 0) {
    _this->_internal_set_refcontainertype(from._internal_refcontainertype());
  }
  if (from._internal_refelemtype() != 0) {
    _this->_internal_set_refelemtype(from._internal_refelemtype());
  }
  if (from._internal_refrestype() != 0) {
    _this->_internal_set_refrestype(from._internal_refrestype());
  }
  if (from._internal_reftypmod() != 0) {
    _this->_internal_set_reftypmod(from._internal_reftypmod());
  }
  if (from._internal_refcollid() != 0) {
    _this->_internal_set_refcollid(from._internal_refcollid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.refupperindexpr_.InternalSwap(&other->_impl_.refupperindexpr_);
  _impl_.reflowerindexpr_.InternalSwap(&other->_impl_.reflowerindexpr_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refcollid_)
      + sizeof(SubscriptingRef::_impl_.refcollid_)
      - PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SubscriptingRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[20]);
}

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

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->_impl_.xpr_;
}
FuncExpr::FuncExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.FuncExpr)
}
FuncExpr::FuncExpr(const FuncExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  FuncExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.funcid_){}
    , decltype(_impl_.funcresulttype_){}
    , decltype(_impl_.funcretset_){}
    , decltype(_impl_.funcvariadic_){}
    , decltype(_impl_.funcformat_){}
    , decltype(_impl_.funccollid_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.funcid_, &from._impl_.funcid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.funcid_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FuncExpr)
}

inline void FuncExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.funcid_){0u}
    , decltype(_impl_.funcresulttype_){0u}
    , decltype(_impl_.funcretset_){false}
    , decltype(_impl_.funcvariadic_){false}
    , decltype(_impl_.funcformat_){0}
    , decltype(_impl_.funccollid_){0u}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

FuncExpr::~FuncExpr() {
  // @@protoc_insertion_point(destructor:pg_query.FuncExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void FuncExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void FuncExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* FuncExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          uint64_t 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<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(tag) == 64)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 80)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 funcid = 2 [json_name = "funcid"];
  if (this->_internal_funcid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_funcid(), target);
  }

  // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
  if (this->_internal_funcresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_funcresulttype(), target);
  }

  // bool funcretset = 4 [json_name = "funcretset"];
  if (this->_internal_funcretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_funcretset(), target);
  }

  // bool funcvariadic = 5 [json_name = "funcvariadic"];
  if (this->_internal_funcvariadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_funcvariadic(), target);
  }

  // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      6, this->_internal_funcformat(), target);
  }

  // uint32 funccollid = 7 [json_name = "funccollid"];
  if (this->_internal_funccollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_funccollid(), target);
  }

  // uint32 inputcollid = 8 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 9 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 10 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(10, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 funcid = 2 [json_name = "funcid"];
  if (this->_internal_funcid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_funcid());
  }

  // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
  if (this->_internal_funcresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_funcresulttype());
  }

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

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

  // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_funcformat());
  }

  // uint32 funccollid = 7 [json_name = "funccollid"];
  if (this->_internal_funccollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_funccollid());
  }

  // uint32 inputcollid = 8 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FuncExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    FuncExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FuncExpr::GetClassData() const { return &_class_data_; }


void FuncExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<FuncExpr*>(&to_msg);
  auto& from = static_cast<const FuncExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FuncExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_funcid() != 0) {
    _this->_internal_set_funcid(from._internal_funcid());
  }
  if (from._internal_funcresulttype() != 0) {
    _this->_internal_set_funcresulttype(from._internal_funcresulttype());
  }
  if (from._internal_funcretset() != 0) {
    _this->_internal_set_funcretset(from._internal_funcretset());
  }
  if (from._internal_funcvariadic() != 0) {
    _this->_internal_set_funcvariadic(from._internal_funcvariadic());
  }
  if (from._internal_funcformat() != 0) {
    _this->_internal_set_funcformat(from._internal_funcformat());
  }
  if (from._internal_funccollid() != 0) {
    _this->_internal_set_funccollid(from._internal_funccollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.location_)
      + sizeof(FuncExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FuncExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[21]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
NamedArgExpr::_Internal::arg(const NamedArgExpr* msg) {
  return *msg->_impl_.arg_;
}
NamedArgExpr::NamedArgExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.NamedArgExpr)
}
NamedArgExpr::NamedArgExpr(const NamedArgExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  NamedArgExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.argnumber_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.argnumber_, &from._impl_.argnumber_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.argnumber_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NamedArgExpr)
}

inline void NamedArgExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.argnumber_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

NamedArgExpr::~NamedArgExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NamedArgExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void NamedArgExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void NamedArgExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* NamedArgExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.NamedArgExpr.name"));
        } else
          goto handle_unusual;
        continue;
      // int32 argnumber = 4 [json_name = "argnumber"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.argnumber_ = ::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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_argnumber() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_argnumber(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // int32 argnumber = 4 [json_name = "argnumber"];
  if (this->_internal_argnumber() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_argnumber());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NamedArgExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    NamedArgExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NamedArgExpr::GetClassData() const { return &_class_data_; }


void NamedArgExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<NamedArgExpr*>(&to_msg);
  auto& from = static_cast<const NamedArgExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NamedArgExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_argnumber() != 0) {
    _this->_internal_set_argnumber(from._internal_argnumber());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.location_)
      + sizeof(NamedArgExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NamedArgExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[22]);
}

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

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->_impl_.xpr_;
}
OpExpr::OpExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.OpExpr)
}
OpExpr::OpExpr(const OpExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  OpExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){}
    , decltype(_impl_.opfuncid_){}
    , decltype(_impl_.opresulttype_){}
    , decltype(_impl_.opretset_){}
    , decltype(_impl_.opcollid_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.opno_, &from._impl_.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.OpExpr)
}

inline void OpExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){0u}
    , decltype(_impl_.opfuncid_){0u}
    , decltype(_impl_.opresulttype_){0u}
    , decltype(_impl_.opretset_){false}
    , decltype(_impl_.opcollid_){0u}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

OpExpr::~OpExpr() {
  // @@protoc_insertion_point(destructor:pg_query.OpExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void OpExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void OpExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* OpExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 72)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_opresulttype(), target);
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opfuncid());
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opresulttype());
  }

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

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opcollid());
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData OpExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    OpExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*OpExpr::GetClassData() const { return &_class_data_; }


void OpExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<OpExpr*>(&to_msg);
  auto& from = static_cast<const OpExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OpExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_opfuncid() != 0) {
    _this->_internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from._internal_opresulttype() != 0) {
    _this->_internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from._internal_opretset() != 0) {
    _this->_internal_set_opretset(from._internal_opretset());
  }
  if (from._internal_opcollid() != 0) {
    _this->_internal_set_opcollid(from._internal_opcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.location_)
      + sizeof(OpExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata OpExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[23]);
}

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

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->_impl_.xpr_;
}
DistinctExpr::DistinctExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DistinctExpr)
}
DistinctExpr::DistinctExpr(const DistinctExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DistinctExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){}
    , decltype(_impl_.opfuncid_){}
    , decltype(_impl_.opresulttype_){}
    , decltype(_impl_.opretset_){}
    , decltype(_impl_.opcollid_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.opno_, &from._impl_.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DistinctExpr)
}

inline void DistinctExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){0u}
    , decltype(_impl_.opfuncid_){0u}
    , decltype(_impl_.opresulttype_){0u}
    , decltype(_impl_.opretset_){false}
    , decltype(_impl_.opcollid_){0u}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DistinctExpr::~DistinctExpr() {
  // @@protoc_insertion_point(destructor:pg_query.DistinctExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DistinctExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void DistinctExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* DistinctExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 72)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_opresulttype(), target);
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opfuncid());
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opresulttype());
  }

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

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opcollid());
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DistinctExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DistinctExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DistinctExpr::GetClassData() const { return &_class_data_; }


void DistinctExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DistinctExpr*>(&to_msg);
  auto& from = static_cast<const DistinctExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DistinctExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_opfuncid() != 0) {
    _this->_internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from._internal_opresulttype() != 0) {
    _this->_internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from._internal_opretset() != 0) {
    _this->_internal_set_opretset(from._internal_opretset());
  }
  if (from._internal_opcollid() != 0) {
    _this->_internal_set_opcollid(from._internal_opcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.location_)
      + sizeof(DistinctExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DistinctExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[24]);
}

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

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->_impl_.xpr_;
}
NullIfExpr::NullIfExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.NullIfExpr)
}
NullIfExpr::NullIfExpr(const NullIfExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  NullIfExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){}
    , decltype(_impl_.opfuncid_){}
    , decltype(_impl_.opresulttype_){}
    , decltype(_impl_.opretset_){}
    , decltype(_impl_.opcollid_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.opno_, &from._impl_.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NullIfExpr)
}

inline void NullIfExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){0u}
    , decltype(_impl_.opfuncid_){0u}
    , decltype(_impl_.opresulttype_){0u}
    , decltype(_impl_.opretset_){false}
    , decltype(_impl_.opcollid_){0u}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

NullIfExpr::~NullIfExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NullIfExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void NullIfExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void NullIfExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* NullIfExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 72)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_opresulttype(), target);
  }

  // bool opretset = 5 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opfuncid());
  }

  // uint32 opresulttype = 4 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opresulttype());
  }

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

  // uint32 opcollid = 6 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opcollid());
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NullIfExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    NullIfExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NullIfExpr::GetClassData() const { return &_class_data_; }


void NullIfExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<NullIfExpr*>(&to_msg);
  auto& from = static_cast<const NullIfExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NullIfExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_opfuncid() != 0) {
    _this->_internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from._internal_opresulttype() != 0) {
    _this->_internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from._internal_opretset() != 0) {
    _this->_internal_set_opretset(from._internal_opretset());
  }
  if (from._internal_opcollid() != 0) {
    _this->_internal_set_opcollid(from._internal_opcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.location_)
      + sizeof(NullIfExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NullIfExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[25]);
}

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

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->_impl_.xpr_;
}
ScalarArrayOpExpr::ScalarArrayOpExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScalarArrayOpExpr)
}
ScalarArrayOpExpr::ScalarArrayOpExpr(const ScalarArrayOpExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ScalarArrayOpExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){}
    , decltype(_impl_.opfuncid_){}
    , decltype(_impl_.hashfuncid_){}
    , decltype(_impl_.negfuncid_){}
    , decltype(_impl_.use_or_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.opno_, &from._impl_.opno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ScalarArrayOpExpr)
}

inline void ScalarArrayOpExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.opno_){0u}
    , decltype(_impl_.opfuncid_){0u}
    , decltype(_impl_.hashfuncid_){0u}
    , decltype(_impl_.negfuncid_){0u}
    , decltype(_impl_.use_or_){false}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ScalarArrayOpExpr::~ScalarArrayOpExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ScalarArrayOpExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ScalarArrayOpExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void ScalarArrayOpExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ScalarArrayOpExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.opfuncid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 hashfuncid = 4 [json_name = "hashfuncid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.hashfuncid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 negfuncid = 5 [json_name = "negfuncid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.negfuncid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool use_or = 6 [json_name = "useOr"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.use_or_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 inputcollid = 7 [json_name = "inputcollid"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 72)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_opno(), target);
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_opfuncid(), target);
  }

  // uint32 hashfuncid = 4 [json_name = "hashfuncid"];
  if (this->_internal_hashfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_hashfuncid(), target);
  }

  // uint32 negfuncid = 5 [json_name = "negfuncid"];
  if (this->_internal_negfuncid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_negfuncid(), target);
  }

  // bool use_or = 6 [json_name = "useOr"];
  if (this->_internal_use_or() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_use_or(), target);
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opno());
  }

  // uint32 opfuncid = 3 [json_name = "opfuncid"];
  if (this->_internal_opfuncid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_opfuncid());
  }

  // uint32 hashfuncid = 4 [json_name = "hashfuncid"];
  if (this->_internal_hashfuncid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_hashfuncid());
  }

  // uint32 negfuncid = 5 [json_name = "negfuncid"];
  if (this->_internal_negfuncid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_negfuncid());
  }

  // bool use_or = 6 [json_name = "useOr"];
  if (this->_internal_use_or() != 0) {
    total_size += 1 + 1;
  }

  // uint32 inputcollid = 7 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ScalarArrayOpExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ScalarArrayOpExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ScalarArrayOpExpr::GetClassData() const { return &_class_data_; }


void ScalarArrayOpExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ScalarArrayOpExpr*>(&to_msg);
  auto& from = static_cast<const ScalarArrayOpExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ScalarArrayOpExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_opfuncid() != 0) {
    _this->_internal_set_opfuncid(from._internal_opfuncid());
  }
  if (from._internal_hashfuncid() != 0) {
    _this->_internal_set_hashfuncid(from._internal_hashfuncid());
  }
  if (from._internal_negfuncid() != 0) {
    _this->_internal_set_negfuncid(from._internal_negfuncid());
  }
  if (from._internal_use_or() != 0) {
    _this->_internal_set_use_or(from._internal_use_or());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.location_)
      + sizeof(ScalarArrayOpExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ScalarArrayOpExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[26]);
}

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

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->_impl_.xpr_;
}
BoolExpr::BoolExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.BoolExpr)
}
BoolExpr::BoolExpr(const BoolExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  BoolExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.boolop_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.boolop_, &from._impl_.boolop_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.boolop_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.BoolExpr)
}

inline void BoolExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.boolop_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

BoolExpr::~BoolExpr() {
  // @@protoc_insertion_point(destructor:pg_query.BoolExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void BoolExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void BoolExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* BoolExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
  if (this->_internal_boolop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_boolop(), target);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
  if (this->_internal_boolop() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_boolop());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BoolExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    BoolExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BoolExpr::GetClassData() const { return &_class_data_; }


void BoolExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<BoolExpr*>(&to_msg);
  auto& from = static_cast<const BoolExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.BoolExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_boolop() != 0) {
    _this->_internal_set_boolop(from._internal_boolop());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.location_)
      + sizeof(BoolExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata BoolExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[27]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
SubLink::_Internal::testexpr(const SubLink* msg) {
  return *msg->_impl_.testexpr_;
}
const ::pg_query::Node&
SubLink::_Internal::subselect(const SubLink* msg) {
  return *msg->_impl_.subselect_;
}
SubLink::SubLink(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubLink)
}
SubLink::SubLink(const SubLink& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SubLink* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.oper_name_){from._impl_.oper_name_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.testexpr_){nullptr}
    , decltype(_impl_.subselect_){nullptr}
    , decltype(_impl_.sub_link_type_){}
    , decltype(_impl_.sub_link_id_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_testexpr()) {
    _this->_impl_.testexpr_ = new ::pg_query::Node(*from._impl_.testexpr_);
  }
  if (from._internal_has_subselect()) {
    _this->_impl_.subselect_ = new ::pg_query::Node(*from._impl_.subselect_);
  }
  ::memcpy(&_impl_.sub_link_type_, &from._impl_.sub_link_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.sub_link_type_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SubLink)
}

inline void SubLink::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.oper_name_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.testexpr_){nullptr}
    , decltype(_impl_.subselect_){nullptr}
    , decltype(_impl_.sub_link_type_){0}
    , decltype(_impl_.sub_link_id_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SubLink::~SubLink() {
  // @@protoc_insertion_point(destructor:pg_query.SubLink)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SubLink::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.oper_name_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.testexpr_;
  if (this != internal_default_instance()) delete _impl_.subselect_;
}

void SubLink::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* SubLink::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          _impl_.sub_link_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_sub_link_type(), target);
  }

  // int32 sub_link_id = 3 [json_name = "subLinkId"];
  if (this->_internal_sub_link_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_sub_link_id(), target);
  }

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

  // repeated .pg_query.Node oper_name = 5 [json_name = "operName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_oper_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_oper_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node subselect = 6 [json_name = "subselect"];
  if (this->_internal_has_subselect()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::subselect(this),
        _Internal::subselect(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.oper_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

  // .pg_query.Node subselect = 6 [json_name = "subselect"];
  if (this->_internal_has_subselect()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.subselect_);
  }

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_sub_link_type());
  }

  // int32 sub_link_id = 3 [json_name = "subLinkId"];
  if (this->_internal_sub_link_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_sub_link_id());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubLink::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SubLink::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubLink::GetClassData() const { return &_class_data_; }


void SubLink::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SubLink*>(&to_msg);
  auto& from = static_cast<const SubLink&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SubLink)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.oper_name_.MergeFrom(from._impl_.oper_name_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_testexpr()) {
    _this->_internal_mutable_testexpr()->::pg_query::Node::MergeFrom(
        from._internal_testexpr());
  }
  if (from._internal_has_subselect()) {
    _this->_internal_mutable_subselect()->::pg_query::Node::MergeFrom(
        from._internal_subselect());
  }
  if (from._internal_sub_link_type() != 0) {
    _this->_internal_set_sub_link_type(from._internal_sub_link_type());
  }
  if (from._internal_sub_link_id() != 0) {
    _this->_internal_set_sub_link_id(from._internal_sub_link_id());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.oper_name_.InternalSwap(&other->_impl_.oper_name_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubLink, _impl_.location_)
      + sizeof(SubLink::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SubLink, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SubLink::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[28]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
SubPlan::_Internal::testexpr(const SubPlan* msg) {
  return *msg->_impl_.testexpr_;
}
SubPlan::SubPlan(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubPlan)
}
SubPlan::SubPlan(const SubPlan& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SubPlan* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.param_ids_){from._impl_.param_ids_}
    , decltype(_impl_.set_param_){from._impl_.set_param_}
    , decltype(_impl_.par_param_){from._impl_.par_param_}
    , decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.plan_name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.testexpr_){nullptr}
    , decltype(_impl_.sub_link_type_){}
    , decltype(_impl_.plan_id_){}
    , decltype(_impl_.first_col_type_){}
    , decltype(_impl_.first_col_typmod_){}
    , decltype(_impl_.first_col_collation_){}
    , decltype(_impl_.use_hash_table_){}
    , decltype(_impl_.unknown_eq_false_){}
    , decltype(_impl_.parallel_safe_){}
    , decltype(_impl_.startup_cost_){}
    , decltype(_impl_.per_call_cost_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.plan_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.plan_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_plan_name().empty()) {
    _this->_impl_.plan_name_.Set(from._internal_plan_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_testexpr()) {
    _this->_impl_.testexpr_ = new ::pg_query::Node(*from._impl_.testexpr_);
  }
  ::memcpy(&_impl_.sub_link_type_, &from._impl_.sub_link_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.per_call_cost_) -
    reinterpret_cast<char*>(&_impl_.sub_link_type_)) + sizeof(_impl_.per_call_cost_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SubPlan)
}

inline void SubPlan::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.param_ids_){arena}
    , decltype(_impl_.set_param_){arena}
    , decltype(_impl_.par_param_){arena}
    , decltype(_impl_.args_){arena}
    , decltype(_impl_.plan_name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.testexpr_){nullptr}
    , decltype(_impl_.sub_link_type_){0}
    , decltype(_impl_.plan_id_){0}
    , decltype(_impl_.first_col_type_){0u}
    , decltype(_impl_.first_col_typmod_){0}
    , decltype(_impl_.first_col_collation_){0u}
    , decltype(_impl_.use_hash_table_){false}
    , decltype(_impl_.unknown_eq_false_){false}
    , decltype(_impl_.parallel_safe_){false}
    , decltype(_impl_.startup_cost_){0}
    , decltype(_impl_.per_call_cost_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.plan_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.plan_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

SubPlan::~SubPlan() {
  // @@protoc_insertion_point(destructor:pg_query.SubPlan)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SubPlan::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.param_ids_.~RepeatedPtrField();
  _impl_.set_param_.~RepeatedPtrField();
  _impl_.par_param_.~RepeatedPtrField();
  _impl_.args_.~RepeatedPtrField();
  _impl_.plan_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.testexpr_;
}

void SubPlan::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.param_ids_.Clear();
  _impl_.set_param_.Clear();
  _impl_.par_param_.Clear();
  _impl_.args_.Clear();
  _impl_.plan_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.testexpr_ != nullptr) {
    delete _impl_.testexpr_;
  }
  _impl_.testexpr_ = nullptr;
  ::memset(&_impl_.sub_link_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.per_call_cost_) -
      reinterpret_cast<char*>(&_impl_.sub_link_type_)) + sizeof(_impl_.per_call_cost_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SubPlan::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.plan_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string plan_name = 6 [json_name = "plan_name"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_plan_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.SubPlan.plan_name"));
        } else
          goto handle_unusual;
        continue;
      // uint32 first_col_type = 7 [json_name = "firstColType"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(tag) == 64)) {
          _impl_.first_col_typmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _impl_.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<uint8_t>(tag) == 80)) {
          _impl_.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<uint8_t>(tag) == 88)) {
          _impl_.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<uint8_t>(tag) == 96)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 129)) {
          _impl_.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<uint8_t>(tag) == 137)) {
          _impl_.per_call_cost_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_sub_link_type(), target);
  }

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

  // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_param_ids_size()); i < n; i++) {
    const auto& repfield = this->_internal_param_ids(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 plan_id = 5 [json_name = "plan_id"];
  if (this->_internal_plan_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_plan_id(), target);
  }

  // string plan_name = 6 [json_name = "plan_name"];
  if (!this->_internal_plan_name().empty()) {
    ::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->_internal_first_col_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_first_col_type(), target);
  }

  // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
  if (this->_internal_first_col_typmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(8, this->_internal_first_col_typmod(), target);
  }

  // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
  if (this->_internal_first_col_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_first_col_collation(), target);
  }

  // bool use_hash_table = 10 [json_name = "useHashTable"];
  if (this->_internal_use_hash_table() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(10, this->_internal_use_hash_table(), target);
  }

  // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
  if (this->_internal_unknown_eq_false() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(11, this->_internal_unknown_eq_false(), target);
  }

  // bool parallel_safe = 12 [json_name = "parallel_safe"];
  if (this->_internal_parallel_safe() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(12, this->_internal_parallel_safe(), target);
  }

  // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_set_param_size()); i < n; i++) {
    const auto& repfield = this->_internal_set_param(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_par_param_size()); i < n; i++) {
    const auto& repfield = this->_internal_par_param(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(14, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 15 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(15, repfield, repfield.GetCachedSize(), target, stream);
  }

  // double startup_cost = 16 [json_name = "startup_cost"];
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_startup_cost = this->_internal_startup_cost();
  uint64_t raw_startup_cost;
  memcpy(&raw_startup_cost, &tmp_startup_cost, sizeof(tmp_startup_cost));
  if (raw_startup_cost != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(16, this->_internal_startup_cost(), target);
  }

  // double per_call_cost = 17 [json_name = "per_call_cost"];
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_per_call_cost = this->_internal_per_call_cost();
  uint64_t raw_per_call_cost;
  memcpy(&raw_per_call_cost, &tmp_per_call_cost, sizeof(tmp_per_call_cost));
  if (raw_per_call_cost != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(17, this->_internal_per_call_cost(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string plan_name = 6 [json_name = "plan_name"];
  if (!this->_internal_plan_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_plan_name());
  }

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

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

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_sub_link_type());
  }

  // int32 plan_id = 5 [json_name = "plan_id"];
  if (this->_internal_plan_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_plan_id());
  }

  // uint32 first_col_type = 7 [json_name = "firstColType"];
  if (this->_internal_first_col_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_first_col_type());
  }

  // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
  if (this->_internal_first_col_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_first_col_typmod());
  }

  // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
  if (this->_internal_first_col_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_first_col_collation());
  }

  // bool use_hash_table = 10 [json_name = "useHashTable"];
  if (this->_internal_use_hash_table() != 0) {
    total_size += 1 + 1;
  }

  // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
  if (this->_internal_unknown_eq_false() != 0) {
    total_size += 1 + 1;
  }

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

  // double startup_cost = 16 [json_name = "startup_cost"];
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_startup_cost = this->_internal_startup_cost();
  uint64_t raw_startup_cost;
  memcpy(&raw_startup_cost, &tmp_startup_cost, sizeof(tmp_startup_cost));
  if (raw_startup_cost != 0) {
    total_size += 2 + 8;
  }

  // double per_call_cost = 17 [json_name = "per_call_cost"];
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_per_call_cost = this->_internal_per_call_cost();
  uint64_t raw_per_call_cost;
  memcpy(&raw_per_call_cost, &tmp_per_call_cost, sizeof(tmp_per_call_cost));
  if (raw_per_call_cost != 0) {
    total_size += 2 + 8;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubPlan::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SubPlan::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubPlan::GetClassData() const { return &_class_data_; }


void SubPlan::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SubPlan*>(&to_msg);
  auto& from = static_cast<const SubPlan&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SubPlan)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.param_ids_.MergeFrom(from._impl_.param_ids_);
  _this->_impl_.set_param_.MergeFrom(from._impl_.set_param_);
  _this->_impl_.par_param_.MergeFrom(from._impl_.par_param_);
  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (!from._internal_plan_name().empty()) {
    _this->_internal_set_plan_name(from._internal_plan_name());
  }
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_testexpr()) {
    _this->_internal_mutable_testexpr()->::pg_query::Node::MergeFrom(
        from._internal_testexpr());
  }
  if (from._internal_sub_link_type() != 0) {
    _this->_internal_set_sub_link_type(from._internal_sub_link_type());
  }
  if (from._internal_plan_id() != 0) {
    _this->_internal_set_plan_id(from._internal_plan_id());
  }
  if (from._internal_first_col_type() != 0) {
    _this->_internal_set_first_col_type(from._internal_first_col_type());
  }
  if (from._internal_first_col_typmod() != 0) {
    _this->_internal_set_first_col_typmod(from._internal_first_col_typmod());
  }
  if (from._internal_first_col_collation() != 0) {
    _this->_internal_set_first_col_collation(from._internal_first_col_collation());
  }
  if (from._internal_use_hash_table() != 0) {
    _this->_internal_set_use_hash_table(from._internal_use_hash_table());
  }
  if (from._internal_unknown_eq_false() != 0) {
    _this->_internal_set_unknown_eq_false(from._internal_unknown_eq_false());
  }
  if (from._internal_parallel_safe() != 0) {
    _this->_internal_set_parallel_safe(from._internal_parallel_safe());
  }
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_startup_cost = from._internal_startup_cost();
  uint64_t raw_startup_cost;
  memcpy(&raw_startup_cost, &tmp_startup_cost, sizeof(tmp_startup_cost));
  if (raw_startup_cost != 0) {
    _this->_internal_set_startup_cost(from._internal_startup_cost());
  }
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_per_call_cost = from._internal_per_call_cost();
  uint64_t raw_per_call_cost;
  memcpy(&raw_per_call_cost, &tmp_per_call_cost, sizeof(tmp_per_call_cost));
  if (raw_per_call_cost != 0) {
    _this->_internal_set_per_call_cost(from._internal_per_call_cost());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.param_ids_.InternalSwap(&other->_impl_.param_ids_);
  _impl_.set_param_.InternalSwap(&other->_impl_.set_param_);
  _impl_.par_param_.InternalSwap(&other->_impl_.par_param_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.plan_name_, lhs_arena,
      &other->_impl_.plan_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.per_call_cost_)
      + sizeof(SubPlan::_impl_.per_call_cost_)
      - PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SubPlan::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[29]);
}

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

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->_impl_.xpr_;
}
AlternativeSubPlan::AlternativeSubPlan(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlternativeSubPlan)
}
AlternativeSubPlan::AlternativeSubPlan(const AlternativeSubPlan& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlternativeSubPlan* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.subplans_){from._impl_.subplans_}
    , decltype(_impl_.xpr_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlternativeSubPlan)
}

inline void AlternativeSubPlan::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.subplans_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlternativeSubPlan::~AlternativeSubPlan() {
  // @@protoc_insertion_point(destructor:pg_query.AlternativeSubPlan)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlternativeSubPlan::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.subplans_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void AlternativeSubPlan::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.subplans_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlternativeSubPlan::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // repeated .pg_query.Node subplans = 2 [json_name = "subplans"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_subplans_size()); i < n; i++) {
    const auto& repfield = this->_internal_subplans(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.subplans_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlternativeSubPlan::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlternativeSubPlan::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlternativeSubPlan::GetClassData() const { return &_class_data_; }


void AlternativeSubPlan::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlternativeSubPlan*>(&to_msg);
  auto& from = static_cast<const AlternativeSubPlan&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlternativeSubPlan)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.subplans_.MergeFrom(from._impl_.subplans_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.subplans_.InternalSwap(&other->_impl_.subplans_);
  swap(_impl_.xpr_, other->_impl_.xpr_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlternativeSubPlan::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[30]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
FieldSelect::_Internal::arg(const FieldSelect* msg) {
  return *msg->_impl_.arg_;
}
FieldSelect::FieldSelect(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.FieldSelect)
}
FieldSelect::FieldSelect(const FieldSelect& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  FieldSelect* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.fieldnum_){}
    , decltype(_impl_.resulttype_){}
    , decltype(_impl_.resulttypmod_){}
    , decltype(_impl_.resultcollid_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.fieldnum_, &from._impl_.fieldnum_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.resultcollid_) -
    reinterpret_cast<char*>(&_impl_.fieldnum_)) + sizeof(_impl_.resultcollid_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FieldSelect)
}

inline void FieldSelect::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.fieldnum_){0}
    , decltype(_impl_.resulttype_){0u}
    , decltype(_impl_.resulttypmod_){0}
    , decltype(_impl_.resultcollid_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

FieldSelect::~FieldSelect() {
  // @@protoc_insertion_point(destructor:pg_query.FieldSelect)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void FieldSelect::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void FieldSelect::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) {
    delete _impl_.arg_;
  }
  _impl_.arg_ = nullptr;
  ::memset(&_impl_.fieldnum_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.resultcollid_) -
      reinterpret_cast<char*>(&_impl_.fieldnum_)) + sizeof(_impl_.resultcollid_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FieldSelect::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.fieldnum_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 resulttype = 4 [json_name = "resulttype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 resultcollid = 6 [json_name = "resultcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.resultcollid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // int32 fieldnum = 3 [json_name = "fieldnum"];
  if (this->_internal_fieldnum() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_fieldnum(), target);
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_resultcollid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // int32 fieldnum = 3 [json_name = "fieldnum"];
  if (this->_internal_fieldnum() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_fieldnum());
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resulttype());
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resultcollid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FieldSelect::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    FieldSelect::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FieldSelect::GetClassData() const { return &_class_data_; }


void FieldSelect::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<FieldSelect*>(&to_msg);
  auto& from = static_cast<const FieldSelect&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FieldSelect)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_fieldnum() != 0) {
    _this->_internal_set_fieldnum(from._internal_fieldnum());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resultcollid_)
      + sizeof(FieldSelect::_impl_.resultcollid_)
      - PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FieldSelect::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[31]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
FieldStore::_Internal::arg(const FieldStore* msg) {
  return *msg->_impl_.arg_;
}
FieldStore::FieldStore(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.FieldStore)
}
FieldStore::FieldStore(const FieldStore& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  FieldStore* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.newvals_){from._impl_.newvals_}
    , decltype(_impl_.fieldnums_){from._impl_.fieldnums_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  _this->_impl_.resulttype_ = from._impl_.resulttype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.FieldStore)
}

inline void FieldStore::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.newvals_){arena}
    , decltype(_impl_.fieldnums_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

FieldStore::~FieldStore() {
  // @@protoc_insertion_point(destructor:pg_query.FieldStore)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void FieldStore::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.newvals_.~RepeatedPtrField();
  _impl_.fieldnums_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void FieldStore::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.newvals_.Clear();
  _impl_.fieldnums_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) {
    delete _impl_.arg_;
  }
  _impl_.arg_ = nullptr;
  _impl_.resulttype_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FieldStore::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.resulttype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node newvals = 3 [json_name = "newvals"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_newvals_size()); i < n; i++) {
    const auto& repfield = this->_internal_newvals(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fieldnums_size()); i < n; i++) {
    const auto& repfield = this->_internal_fieldnums(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 5 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_resulttype(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.fieldnums_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // uint32 resulttype = 5 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resulttype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FieldStore::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    FieldStore::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FieldStore::GetClassData() const { return &_class_data_; }


void FieldStore::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<FieldStore*>(&to_msg);
  auto& from = static_cast<const FieldStore&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FieldStore)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.newvals_.MergeFrom(from._impl_.newvals_);
  _this->_impl_.fieldnums_.MergeFrom(from._impl_.fieldnums_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.newvals_.InternalSwap(&other->_impl_.newvals_);
  _impl_.fieldnums_.InternalSwap(&other->_impl_.fieldnums_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.resulttype_)
      + sizeof(FieldStore::_impl_.resulttype_)
      - PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FieldStore::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[32]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
RelabelType::_Internal::arg(const RelabelType* msg) {
  return *msg->_impl_.arg_;
}
RelabelType::RelabelType(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RelabelType)
}
RelabelType::RelabelType(const RelabelType& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RelabelType* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){}
    , decltype(_impl_.resulttypmod_){}
    , decltype(_impl_.resultcollid_){}
    , decltype(_impl_.relabelformat_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.resulttype_, &from._impl_.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RelabelType)
}

inline void RelabelType::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){0u}
    , decltype(_impl_.resulttypmod_){0}
    , decltype(_impl_.resultcollid_){0u}
    , decltype(_impl_.relabelformat_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RelabelType::~RelabelType() {
  // @@protoc_insertion_point(destructor:pg_query.RelabelType)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RelabelType::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void RelabelType::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* RelabelType::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 resultcollid = 5 [json_name = "resultcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          uint64_t 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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
  if (this->_internal_relabelformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      6, this->_internal_relabelformat(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resulttype());
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
  if (this->_internal_relabelformat() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_relabelformat());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RelabelType::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RelabelType::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RelabelType::GetClassData() const { return &_class_data_; }


void RelabelType::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RelabelType*>(&to_msg);
  auto& from = static_cast<const RelabelType&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RelabelType)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_relabelformat() != 0) {
    _this->_internal_set_relabelformat(from._internal_relabelformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.location_)
      + sizeof(RelabelType::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RelabelType::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[33]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
CoerceViaIO::_Internal::arg(const CoerceViaIO* msg) {
  return *msg->_impl_.arg_;
}
CoerceViaIO::CoerceViaIO(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceViaIO)
}
CoerceViaIO::CoerceViaIO(const CoerceViaIO& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CoerceViaIO* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){}
    , decltype(_impl_.resultcollid_){}
    , decltype(_impl_.coerceformat_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.resulttype_, &from._impl_.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceViaIO)
}

inline void CoerceViaIO::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){0u}
    , decltype(_impl_.resultcollid_){0u}
    , decltype(_impl_.coerceformat_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CoerceViaIO::~CoerceViaIO() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceViaIO)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CoerceViaIO::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void CoerceViaIO::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* CoerceViaIO::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          uint64_t 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<uint8_t>(tag) == 48)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // uint32 resultcollid = 4 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      5, this->_internal_coerceformat(), target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resulttype());
  }

  // uint32 resultcollid = 4 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_coerceformat());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CoerceViaIO::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CoerceViaIO::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CoerceViaIO::GetClassData() const { return &_class_data_; }


void CoerceViaIO::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CoerceViaIO*>(&to_msg);
  auto& from = static_cast<const CoerceViaIO&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoerceViaIO)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_coerceformat() != 0) {
    _this->_internal_set_coerceformat(from._internal_coerceformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.location_)
      + sizeof(CoerceViaIO::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoerceViaIO::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[34]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
ArrayCoerceExpr::_Internal::arg(const ArrayCoerceExpr* msg) {
  return *msg->_impl_.arg_;
}
const ::pg_query::Node&
ArrayCoerceExpr::_Internal::elemexpr(const ArrayCoerceExpr* msg) {
  return *msg->_impl_.elemexpr_;
}
ArrayCoerceExpr::ArrayCoerceExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ArrayCoerceExpr)
}
ArrayCoerceExpr::ArrayCoerceExpr(const ArrayCoerceExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ArrayCoerceExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.elemexpr_){nullptr}
    , decltype(_impl_.resulttype_){}
    , decltype(_impl_.resulttypmod_){}
    , decltype(_impl_.resultcollid_){}
    , decltype(_impl_.coerceformat_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  if (from._internal_has_elemexpr()) {
    _this->_impl_.elemexpr_ = new ::pg_query::Node(*from._impl_.elemexpr_);
  }
  ::memcpy(&_impl_.resulttype_, &from._impl_.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ArrayCoerceExpr)
}

inline void ArrayCoerceExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.elemexpr_){nullptr}
    , decltype(_impl_.resulttype_){0u}
    , decltype(_impl_.resulttypmod_){0}
    , decltype(_impl_.resultcollid_){0u}
    , decltype(_impl_.coerceformat_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ArrayCoerceExpr::~ArrayCoerceExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ArrayCoerceExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ArrayCoerceExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
  if (this != internal_default_instance()) delete _impl_.elemexpr_;
}

void ArrayCoerceExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ArrayCoerceExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 resultcollid = 6 [json_name = "resultcollid"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          uint64_t 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<uint8_t>(tag) == 64)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

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

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      7, this->_internal_coerceformat(), target);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

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

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resulttype());
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_coerceformat());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ArrayCoerceExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ArrayCoerceExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ArrayCoerceExpr::GetClassData() const { return &_class_data_; }


void ArrayCoerceExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ArrayCoerceExpr*>(&to_msg);
  auto& from = static_cast<const ArrayCoerceExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ArrayCoerceExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_has_elemexpr()) {
    _this->_internal_mutable_elemexpr()->::pg_query::Node::MergeFrom(
        from._internal_elemexpr());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_coerceformat() != 0) {
    _this->_internal_set_coerceformat(from._internal_coerceformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.location_)
      + sizeof(ArrayCoerceExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ArrayCoerceExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[35]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
ConvertRowtypeExpr::_Internal::arg(const ConvertRowtypeExpr* msg) {
  return *msg->_impl_.arg_;
}
ConvertRowtypeExpr::ConvertRowtypeExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ConvertRowtypeExpr)
}
ConvertRowtypeExpr::ConvertRowtypeExpr(const ConvertRowtypeExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ConvertRowtypeExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){}
    , decltype(_impl_.convertformat_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.resulttype_, &from._impl_.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ConvertRowtypeExpr)
}

inline void ConvertRowtypeExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){0u}
    , decltype(_impl_.convertformat_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ConvertRowtypeExpr::~ConvertRowtypeExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ConvertRowtypeExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ConvertRowtypeExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void ConvertRowtypeExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ConvertRowtypeExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          uint64_t 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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
  if (this->_internal_convertformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      4, this->_internal_convertformat(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resulttype());
  }

  // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
  if (this->_internal_convertformat() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_convertformat());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ConvertRowtypeExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ConvertRowtypeExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ConvertRowtypeExpr::GetClassData() const { return &_class_data_; }


void ConvertRowtypeExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ConvertRowtypeExpr*>(&to_msg);
  auto& from = static_cast<const ConvertRowtypeExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ConvertRowtypeExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_convertformat() != 0) {
    _this->_internal_set_convertformat(from._internal_convertformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.location_)
      + sizeof(ConvertRowtypeExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ConvertRowtypeExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[36]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
CollateExpr::_Internal::arg(const CollateExpr* msg) {
  return *msg->_impl_.arg_;
}
CollateExpr::CollateExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CollateExpr)
}
CollateExpr::CollateExpr(const CollateExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CollateExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.coll_oid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.coll_oid_, &from._impl_.coll_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.coll_oid_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CollateExpr)
}

inline void CollateExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.coll_oid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CollateExpr::~CollateExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CollateExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CollateExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void CollateExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* CollateExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 coll_oid = 3 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_coll_oid(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // uint32 coll_oid = 3 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_coll_oid());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CollateExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CollateExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CollateExpr::GetClassData() const { return &_class_data_; }


void CollateExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CollateExpr*>(&to_msg);
  auto& from = static_cast<const CollateExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CollateExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_coll_oid() != 0) {
    _this->_internal_set_coll_oid(from._internal_coll_oid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.location_)
      + sizeof(CollateExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CollateExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[37]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
CaseExpr::_Internal::arg(const CaseExpr* msg) {
  return *msg->_impl_.arg_;
}
const ::pg_query::Node&
CaseExpr::_Internal::defresult(const CaseExpr* msg) {
  return *msg->_impl_.defresult_;
}
CaseExpr::CaseExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseExpr)
}
CaseExpr::CaseExpr(const CaseExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CaseExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.defresult_){nullptr}
    , decltype(_impl_.casetype_){}
    , decltype(_impl_.casecollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  if (from._internal_has_defresult()) {
    _this->_impl_.defresult_ = new ::pg_query::Node(*from._impl_.defresult_);
  }
  ::memcpy(&_impl_.casetype_, &from._impl_.casetype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.casetype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CaseExpr)
}

inline void CaseExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.defresult_){nullptr}
    , decltype(_impl_.casetype_){0u}
    , decltype(_impl_.casecollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CaseExpr::~CaseExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CaseExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CaseExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
  if (this != internal_default_instance()) delete _impl_.defresult_;
}

void CaseExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* CaseExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 casetype = 2 [json_name = "casetype"];
  if (this->_internal_casetype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_casetype(), target);
  }

  // uint32 casecollid = 3 [json_name = "casecollid"];
  if (this->_internal_casecollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_casecollid(), target);
  }

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

  // repeated .pg_query.Node args = 5 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node defresult = 6 [json_name = "defresult"];
  if (this->_internal_has_defresult()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::defresult(this),
        _Internal::defresult(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

  // .pg_query.Node defresult = 6 [json_name = "defresult"];
  if (this->_internal_has_defresult()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.defresult_);
  }

  // uint32 casetype = 2 [json_name = "casetype"];
  if (this->_internal_casetype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_casetype());
  }

  // uint32 casecollid = 3 [json_name = "casecollid"];
  if (this->_internal_casecollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_casecollid());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CaseExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CaseExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CaseExpr::GetClassData() const { return &_class_data_; }


void CaseExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CaseExpr*>(&to_msg);
  auto& from = static_cast<const CaseExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CaseExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_has_defresult()) {
    _this->_internal_mutable_defresult()->::pg_query::Node::MergeFrom(
        from._internal_defresult());
  }
  if (from._internal_casetype() != 0) {
    _this->_internal_set_casetype(from._internal_casetype());
  }
  if (from._internal_casecollid() != 0) {
    _this->_internal_set_casecollid(from._internal_casecollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.location_)
      + sizeof(CaseExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CaseExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[38]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
CaseWhen::_Internal::expr(const CaseWhen* msg) {
  return *msg->_impl_.expr_;
}
const ::pg_query::Node&
CaseWhen::_Internal::result(const CaseWhen* msg) {
  return *msg->_impl_.result_;
}
CaseWhen::CaseWhen(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseWhen)
}
CaseWhen::CaseWhen(const CaseWhen& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CaseWhen* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.result_){nullptr}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_expr()) {
    _this->_impl_.expr_ = new ::pg_query::Node(*from._impl_.expr_);
  }
  if (from._internal_has_result()) {
    _this->_impl_.result_ = new ::pg_query::Node(*from._impl_.result_);
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CaseWhen)
}

inline void CaseWhen::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.result_){nullptr}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CaseWhen::~CaseWhen() {
  // @@protoc_insertion_point(destructor:pg_query.CaseWhen)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CaseWhen::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.expr_;
  if (this != internal_default_instance()) delete _impl_.result_;
}

void CaseWhen::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) {
    delete _impl_.expr_;
  }
  _impl_.expr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.result_ != nullptr) {
    delete _impl_.result_;
  }
  _impl_.result_ = nullptr;
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CaseWhen::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

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

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.expr_);
  }

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

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CaseWhen::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CaseWhen::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CaseWhen::GetClassData() const { return &_class_data_; }


void CaseWhen::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CaseWhen*>(&to_msg);
  auto& from = static_cast<const CaseWhen&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CaseWhen)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_expr()) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_has_result()) {
    _this->_internal_mutable_result()->::pg_query::Node::MergeFrom(
        from._internal_result());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.location_)
      + sizeof(CaseWhen::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CaseWhen::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[39]);
}

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

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->_impl_.xpr_;
}
CaseTestExpr::CaseTestExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseTestExpr)
}
CaseTestExpr::CaseTestExpr(const CaseTestExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CaseTestExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.type_id_){}
    , decltype(_impl_.type_mod_){}
    , decltype(_impl_.collation_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.type_id_, &from._impl_.type_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.collation_) -
    reinterpret_cast<char*>(&_impl_.type_id_)) + sizeof(_impl_.collation_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CaseTestExpr)
}

inline void CaseTestExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.type_id_){0u}
    , decltype(_impl_.type_mod_){0}
    , decltype(_impl_.collation_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CaseTestExpr::~CaseTestExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CaseTestExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CaseTestExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void CaseTestExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* CaseTestExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.type_mod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.collation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_collation(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_collation());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CaseTestExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CaseTestExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CaseTestExpr::GetClassData() const { return &_class_data_; }


void CaseTestExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CaseTestExpr*>(&to_msg);
  auto& from = static_cast<const CaseTestExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CaseTestExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  if (from._internal_type_mod() != 0) {
    _this->_internal_set_type_mod(from._internal_type_mod());
  }
  if (from._internal_collation() != 0) {
    _this->_internal_set_collation(from._internal_collation());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.collation_)
      + sizeof(CaseTestExpr::_impl_.collation_)
      - PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CaseTestExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[40]);
}

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

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->_impl_.xpr_;
}
ArrayExpr::ArrayExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ArrayExpr)
}
ArrayExpr::ArrayExpr(const ArrayExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ArrayExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.elements_){from._impl_.elements_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.array_typeid_){}
    , decltype(_impl_.array_collid_){}
    , decltype(_impl_.element_typeid_){}
    , decltype(_impl_.multidims_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.array_typeid_, &from._impl_.array_typeid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.array_typeid_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ArrayExpr)
}

inline void ArrayExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.elements_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.array_typeid_){0u}
    , decltype(_impl_.array_collid_){0u}
    , decltype(_impl_.element_typeid_){0u}
    , decltype(_impl_.multidims_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ArrayExpr::~ArrayExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ArrayExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ArrayExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.elements_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void ArrayExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ArrayExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 array_typeid = 2 [json_name = "array_typeid"];
  if (this->_internal_array_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_array_typeid(), target);
  }

  // uint32 array_collid = 3 [json_name = "array_collid"];
  if (this->_internal_array_collid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_array_collid(), target);
  }

  // uint32 element_typeid = 4 [json_name = "element_typeid"];
  if (this->_internal_element_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_element_typeid(), target);
  }

  // repeated .pg_query.Node elements = 5 [json_name = "elements"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_elements_size()); i < n; i++) {
    const auto& repfield = this->_internal_elements(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool multidims = 6 [json_name = "multidims"];
  if (this->_internal_multidims() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_multidims(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.elements_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 array_typeid = 2 [json_name = "array_typeid"];
  if (this->_internal_array_typeid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_array_typeid());
  }

  // uint32 array_collid = 3 [json_name = "array_collid"];
  if (this->_internal_array_collid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_array_collid());
  }

  // uint32 element_typeid = 4 [json_name = "element_typeid"];
  if (this->_internal_element_typeid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_element_typeid());
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ArrayExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ArrayExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ArrayExpr::GetClassData() const { return &_class_data_; }


void ArrayExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ArrayExpr*>(&to_msg);
  auto& from = static_cast<const ArrayExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ArrayExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.elements_.MergeFrom(from._impl_.elements_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_array_typeid() != 0) {
    _this->_internal_set_array_typeid(from._internal_array_typeid());
  }
  if (from._internal_array_collid() != 0) {
    _this->_internal_set_array_collid(from._internal_array_collid());
  }
  if (from._internal_element_typeid() != 0) {
    _this->_internal_set_element_typeid(from._internal_element_typeid());
  }
  if (from._internal_multidims() != 0) {
    _this->_internal_set_multidims(from._internal_multidims());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.elements_.InternalSwap(&other->_impl_.elements_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.location_)
      + sizeof(ArrayExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ArrayExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[41]);
}

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

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->_impl_.xpr_;
}
RowExpr::RowExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowExpr)
}
RowExpr::RowExpr(const RowExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RowExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.colnames_){from._impl_.colnames_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.row_typeid_){}
    , decltype(_impl_.row_format_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.row_typeid_, &from._impl_.row_typeid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.row_typeid_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RowExpr)
}

inline void RowExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.colnames_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.row_typeid_){0u}
    , decltype(_impl_.row_format_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RowExpr::~RowExpr() {
  // @@protoc_insertion_point(destructor:pg_query.RowExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RowExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  _impl_.colnames_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void RowExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* RowExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 48)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 row_typeid = 3 [json_name = "row_typeid"];
  if (this->_internal_row_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_row_typeid(), target);
  }

  // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
  if (this->_internal_row_format() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      4, this->_internal_row_format(), target);
  }

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

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.colnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 row_typeid = 3 [json_name = "row_typeid"];
  if (this->_internal_row_typeid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_row_typeid());
  }

  // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
  if (this->_internal_row_format() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_row_format());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RowExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RowExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RowExpr::GetClassData() const { return &_class_data_; }


void RowExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RowExpr*>(&to_msg);
  auto& from = static_cast<const RowExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RowExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  _this->_impl_.colnames_.MergeFrom(from._impl_.colnames_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_row_typeid() != 0) {
    _this->_internal_set_row_typeid(from._internal_row_typeid());
  }
  if (from._internal_row_format() != 0) {
    _this->_internal_set_row_format(from._internal_row_format());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.colnames_.InternalSwap(&other->_impl_.colnames_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.location_)
      + sizeof(RowExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RowExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[42]);
}

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

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->_impl_.xpr_;
}
RowCompareExpr::RowCompareExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowCompareExpr)
}
RowCompareExpr::RowCompareExpr(const RowCompareExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RowCompareExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.opnos_){from._impl_.opnos_}
    , decltype(_impl_.opfamilies_){from._impl_.opfamilies_}
    , decltype(_impl_.inputcollids_){from._impl_.inputcollids_}
    , decltype(_impl_.largs_){from._impl_.largs_}
    , decltype(_impl_.rargs_){from._impl_.rargs_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.rctype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  _this->_impl_.rctype_ = from._impl_.rctype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RowCompareExpr)
}

inline void RowCompareExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.opnos_){arena}
    , decltype(_impl_.opfamilies_){arena}
    , decltype(_impl_.inputcollids_){arena}
    , decltype(_impl_.largs_){arena}
    , decltype(_impl_.rargs_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.rctype_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RowCompareExpr::~RowCompareExpr() {
  // @@protoc_insertion_point(destructor:pg_query.RowCompareExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RowCompareExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.opnos_.~RepeatedPtrField();
  _impl_.opfamilies_.~RepeatedPtrField();
  _impl_.inputcollids_.~RepeatedPtrField();
  _impl_.largs_.~RepeatedPtrField();
  _impl_.rargs_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void RowCompareExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.opnos_.Clear();
  _impl_.opfamilies_.Clear();
  _impl_.inputcollids_.Clear();
  _impl_.largs_.Clear();
  _impl_.rargs_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  _impl_.rctype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RowCompareExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
  if (this->_internal_rctype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_rctype(), target);
  }

  // repeated .pg_query.Node opnos = 3 [json_name = "opnos"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opnos_size()); i < n; i++) {
    const auto& repfield = this->_internal_opnos(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilies_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilies(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_inputcollids_size()); i < n; i++) {
    const auto& repfield = this->_internal_inputcollids(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node largs = 6 [json_name = "largs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_largs_size()); i < n; i++) {
    const auto& repfield = this->_internal_largs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_rargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_rargs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.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->_impl_.rargs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
  if (this->_internal_rctype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_rctype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RowCompareExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RowCompareExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RowCompareExpr::GetClassData() const { return &_class_data_; }


void RowCompareExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RowCompareExpr*>(&to_msg);
  auto& from = static_cast<const RowCompareExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RowCompareExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.opnos_.MergeFrom(from._impl_.opnos_);
  _this->_impl_.opfamilies_.MergeFrom(from._impl_.opfamilies_);
  _this->_impl_.inputcollids_.MergeFrom(from._impl_.inputcollids_);
  _this->_impl_.largs_.MergeFrom(from._impl_.largs_);
  _this->_impl_.rargs_.MergeFrom(from._impl_.rargs_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_rctype() != 0) {
    _this->_internal_set_rctype(from._internal_rctype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.opnos_.InternalSwap(&other->_impl_.opnos_);
  _impl_.opfamilies_.InternalSwap(&other->_impl_.opfamilies_);
  _impl_.inputcollids_.InternalSwap(&other->_impl_.inputcollids_);
  _impl_.largs_.InternalSwap(&other->_impl_.largs_);
  _impl_.rargs_.InternalSwap(&other->_impl_.rargs_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.rctype_)
      + sizeof(RowCompareExpr::_impl_.rctype_)
      - PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RowCompareExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[43]);
}

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

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->_impl_.xpr_;
}
CoalesceExpr::CoalesceExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoalesceExpr)
}
CoalesceExpr::CoalesceExpr(const CoalesceExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CoalesceExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.coalescetype_){}
    , decltype(_impl_.coalescecollid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.coalescetype_, &from._impl_.coalescetype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.coalescetype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoalesceExpr)
}

inline void CoalesceExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.coalescetype_){0u}
    , decltype(_impl_.coalescecollid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CoalesceExpr::~CoalesceExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CoalesceExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CoalesceExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void CoalesceExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* CoalesceExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 coalescetype = 2 [json_name = "coalescetype"];
  if (this->_internal_coalescetype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_coalescetype(), target);
  }

  // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
  if (this->_internal_coalescecollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_coalescecollid(), target);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 coalescetype = 2 [json_name = "coalescetype"];
  if (this->_internal_coalescetype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_coalescetype());
  }

  // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
  if (this->_internal_coalescecollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_coalescecollid());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CoalesceExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CoalesceExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CoalesceExpr::GetClassData() const { return &_class_data_; }


void CoalesceExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CoalesceExpr*>(&to_msg);
  auto& from = static_cast<const CoalesceExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoalesceExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_coalescetype() != 0) {
    _this->_internal_set_coalescetype(from._internal_coalescetype());
  }
  if (from._internal_coalescecollid() != 0) {
    _this->_internal_set_coalescecollid(from._internal_coalescecollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.location_)
      + sizeof(CoalesceExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoalesceExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[44]);
}

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

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->_impl_.xpr_;
}
MinMaxExpr::MinMaxExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.MinMaxExpr)
}
MinMaxExpr::MinMaxExpr(const MinMaxExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  MinMaxExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.minmaxtype_){}
    , decltype(_impl_.minmaxcollid_){}
    , decltype(_impl_.inputcollid_){}
    , decltype(_impl_.op_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.minmaxtype_, &from._impl_.minmaxtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.minmaxtype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.MinMaxExpr)
}

inline void MinMaxExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.minmaxtype_){0u}
    , decltype(_impl_.minmaxcollid_){0u}
    , decltype(_impl_.inputcollid_){0u}
    , decltype(_impl_.op_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

MinMaxExpr::~MinMaxExpr() {
  // @@protoc_insertion_point(destructor:pg_query.MinMaxExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void MinMaxExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void MinMaxExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* MinMaxExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
  if (this->_internal_minmaxtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_minmaxtype(), target);
  }

  // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
  if (this->_internal_minmaxcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_minmaxcollid(), target);
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_inputcollid(), target);
  }

  // .pg_query.MinMaxOp op = 5 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      5, this->_internal_op(), target);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
  if (this->_internal_minmaxtype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_minmaxtype());
  }

  // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
  if (this->_internal_minmaxcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_minmaxcollid());
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inputcollid());
  }

  // .pg_query.MinMaxOp op = 5 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MinMaxExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    MinMaxExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MinMaxExpr::GetClassData() const { return &_class_data_; }


void MinMaxExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<MinMaxExpr*>(&to_msg);
  auto& from = static_cast<const MinMaxExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MinMaxExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_minmaxtype() != 0) {
    _this->_internal_set_minmaxtype(from._internal_minmaxtype());
  }
  if (from._internal_minmaxcollid() != 0) {
    _this->_internal_set_minmaxcollid(from._internal_minmaxcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.location_)
      + sizeof(MinMaxExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata MinMaxExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[45]);
}

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

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->_impl_.xpr_;
}
SQLValueFunction::SQLValueFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SQLValueFunction)
}
SQLValueFunction::SQLValueFunction(const SQLValueFunction& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SQLValueFunction* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.op_){}
    , decltype(_impl_.type_){}
    , decltype(_impl_.typmod_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.op_, &from._impl_.op_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SQLValueFunction)
}

inline void SQLValueFunction::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.op_){0}
    , decltype(_impl_.type_){0u}
    , decltype(_impl_.typmod_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SQLValueFunction::~SQLValueFunction() {
  // @@protoc_insertion_point(destructor:pg_query.SQLValueFunction)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SQLValueFunction::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void SQLValueFunction::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* SQLValueFunction::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.typmod_ = ::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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_op(), target);
  }

  // uint32 type = 3 [json_name = "type"];
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_type(), target);
  }

  // int32 typmod = 4 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_typmod(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // uint32 type = 3 [json_name = "type"];
  if (this->_internal_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type());
  }

  // int32 typmod = 4 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_typmod());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SQLValueFunction::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SQLValueFunction::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SQLValueFunction::GetClassData() const { return &_class_data_; }


void SQLValueFunction::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SQLValueFunction*>(&to_msg);
  auto& from = static_cast<const SQLValueFunction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SQLValueFunction)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_type() != 0) {
    _this->_internal_set_type(from._internal_type());
  }
  if (from._internal_typmod() != 0) {
    _this->_internal_set_typmod(from._internal_typmod());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.location_)
      + sizeof(SQLValueFunction::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SQLValueFunction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[46]);
}

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

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->_impl_.xpr_;
}
XmlExpr::XmlExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.XmlExpr)
}
XmlExpr::XmlExpr(const XmlExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  XmlExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.named_args_){from._impl_.named_args_}
    , decltype(_impl_.arg_names_){from._impl_.arg_names_}
    , decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.op_){}
    , decltype(_impl_.xmloption_){}
    , decltype(_impl_.type_){}
    , decltype(_impl_.typmod_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.op_, &from._impl_.op_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.XmlExpr)
}

inline void XmlExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.named_args_){arena}
    , decltype(_impl_.arg_names_){arena}
    , decltype(_impl_.args_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.op_){0}
    , decltype(_impl_.xmloption_){0}
    , decltype(_impl_.type_){0u}
    , decltype(_impl_.typmod_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

XmlExpr::~XmlExpr() {
  // @@protoc_insertion_point(destructor:pg_query.XmlExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void XmlExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.named_args_.~RepeatedPtrField();
  _impl_.arg_names_.~RepeatedPtrField();
  _impl_.args_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void XmlExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.named_args_.Clear();
  _impl_.arg_names_.Clear();
  _impl_.args_.Clear();
  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  ::memset(&_impl_.op_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* XmlExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.XmlExpr.name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node named_args = 4 [json_name = "named_args"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          uint64_t 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<uint8_t>(tag) == 64)) {
          _impl_.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<uint8_t>(tag) == 72)) {
          _impl_.typmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 10 [json_name = "location"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.XmlExprOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_op(), target);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_named_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_named_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_arg_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_arg_names(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      7, this->_internal_xmloption(), target);
  }

  // uint32 type = 8 [json_name = "type"];
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_type(), target);
  }

  // int32 typmod = 9 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_typmod(), target);
  }

  // int32 location = 10 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(10, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

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

  // .pg_query.XmlExprOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_xmloption());
  }

  // uint32 type = 8 [json_name = "type"];
  if (this->_internal_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type());
  }

  // int32 typmod = 9 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_typmod());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData XmlExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    XmlExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*XmlExpr::GetClassData() const { return &_class_data_; }


void XmlExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<XmlExpr*>(&to_msg);
  auto& from = static_cast<const XmlExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.XmlExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.named_args_.MergeFrom(from._impl_.named_args_);
  _this->_impl_.arg_names_.MergeFrom(from._impl_.arg_names_);
  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_xmloption() != 0) {
    _this->_internal_set_xmloption(from._internal_xmloption());
  }
  if (from._internal_type() != 0) {
    _this->_internal_set_type(from._internal_type());
  }
  if (from._internal_typmod() != 0) {
    _this->_internal_set_typmod(from._internal_typmod());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.named_args_.InternalSwap(&other->_impl_.named_args_);
  _impl_.arg_names_.InternalSwap(&other->_impl_.arg_names_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.location_)
      + sizeof(XmlExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata XmlExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[47]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
NullTest::_Internal::arg(const NullTest* msg) {
  return *msg->_impl_.arg_;
}
NullTest::NullTest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.NullTest)
}
NullTest::NullTest(const NullTest& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  NullTest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.nulltesttype_){}
    , decltype(_impl_.argisrow_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.nulltesttype_, &from._impl_.nulltesttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.nulltesttype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NullTest)
}

inline void NullTest::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.nulltesttype_){0}
    , decltype(_impl_.argisrow_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

NullTest::~NullTest() {
  // @@protoc_insertion_point(destructor:pg_query.NullTest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void NullTest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void NullTest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* NullTest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
  if (this->_internal_nulltesttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_nulltesttype(), target);
  }

  // bool argisrow = 4 [json_name = "argisrow"];
  if (this->_internal_argisrow() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_argisrow(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
  if (this->_internal_nulltesttype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_nulltesttype());
  }

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

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NullTest::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    NullTest::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NullTest::GetClassData() const { return &_class_data_; }


void NullTest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<NullTest*>(&to_msg);
  auto& from = static_cast<const NullTest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NullTest)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_nulltesttype() != 0) {
    _this->_internal_set_nulltesttype(from._internal_nulltesttype());
  }
  if (from._internal_argisrow() != 0) {
    _this->_internal_set_argisrow(from._internal_argisrow());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NullTest, _impl_.location_)
      + sizeof(NullTest::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(NullTest, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NullTest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[48]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
BooleanTest::_Internal::arg(const BooleanTest* msg) {
  return *msg->_impl_.arg_;
}
BooleanTest::BooleanTest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.BooleanTest)
}
BooleanTest::BooleanTest(const BooleanTest& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  BooleanTest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.booltesttype_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.booltesttype_, &from._impl_.booltesttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.booltesttype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.BooleanTest)
}

inline void BooleanTest::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.booltesttype_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

BooleanTest::~BooleanTest() {
  // @@protoc_insertion_point(destructor:pg_query.BooleanTest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void BooleanTest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void BooleanTest::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* BooleanTest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
  if (this->_internal_booltesttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_booltesttype(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
  if (this->_internal_booltesttype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_booltesttype());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BooleanTest::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    BooleanTest::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BooleanTest::GetClassData() const { return &_class_data_; }


void BooleanTest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<BooleanTest*>(&to_msg);
  auto& from = static_cast<const BooleanTest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.BooleanTest)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_booltesttype() != 0) {
    _this->_internal_set_booltesttype(from._internal_booltesttype());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.location_)
      + sizeof(BooleanTest::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata BooleanTest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[49]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
CoerceToDomain::_Internal::arg(const CoerceToDomain* msg) {
  return *msg->_impl_.arg_;
}
CoerceToDomain::CoerceToDomain(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceToDomain)
}
CoerceToDomain::CoerceToDomain(const CoerceToDomain& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CoerceToDomain* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){}
    , decltype(_impl_.resulttypmod_){}
    , decltype(_impl_.resultcollid_){}
    , decltype(_impl_.coercionformat_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.resulttype_, &from._impl_.resulttype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceToDomain)
}

inline void CoerceToDomain::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.resulttype_){0u}
    , decltype(_impl_.resulttypmod_){0}
    , decltype(_impl_.resultcollid_){0u}
    , decltype(_impl_.coercionformat_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CoerceToDomain::~CoerceToDomain() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceToDomain)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CoerceToDomain::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void CoerceToDomain::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* CoerceToDomain::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.resulttypmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 resultcollid = 5 [json_name = "resultcollid"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          uint64_t 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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
  if (this->_internal_coercionformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      6, this->_internal_coercionformat(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resulttype());
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
  if (this->_internal_coercionformat() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_coercionformat());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CoerceToDomain::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CoerceToDomain::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CoerceToDomain::GetClassData() const { return &_class_data_; }


void CoerceToDomain::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CoerceToDomain*>(&to_msg);
  auto& from = static_cast<const CoerceToDomain&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoerceToDomain)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_coercionformat() != 0) {
    _this->_internal_set_coercionformat(from._internal_coercionformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.location_)
      + sizeof(CoerceToDomain::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoerceToDomain::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[50]);
}

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

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->_impl_.xpr_;
}
CoerceToDomainValue::CoerceToDomainValue(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceToDomainValue)
}
CoerceToDomainValue::CoerceToDomainValue(const CoerceToDomainValue& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CoerceToDomainValue* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.type_id_){}
    , decltype(_impl_.type_mod_){}
    , decltype(_impl_.collation_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.type_id_, &from._impl_.type_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.type_id_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceToDomainValue)
}

inline void CoerceToDomainValue::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.type_id_){0u}
    , decltype(_impl_.type_mod_){0}
    , decltype(_impl_.collation_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CoerceToDomainValue::~CoerceToDomainValue() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceToDomainValue)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CoerceToDomainValue::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void CoerceToDomainValue::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* CoerceToDomainValue::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.type_mod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_collation(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_collation());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CoerceToDomainValue::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CoerceToDomainValue::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CoerceToDomainValue::GetClassData() const { return &_class_data_; }


void CoerceToDomainValue::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CoerceToDomainValue*>(&to_msg);
  auto& from = static_cast<const CoerceToDomainValue&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoerceToDomainValue)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  if (from._internal_type_mod() != 0) {
    _this->_internal_set_type_mod(from._internal_type_mod());
  }
  if (from._internal_collation() != 0) {
    _this->_internal_set_collation(from._internal_collation());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.location_)
      + sizeof(CoerceToDomainValue::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CoerceToDomainValue::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[51]);
}

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

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->_impl_.xpr_;
}
SetToDefault::SetToDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SetToDefault)
}
SetToDefault::SetToDefault(const SetToDefault& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SetToDefault* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.type_id_){}
    , decltype(_impl_.type_mod_){}
    , decltype(_impl_.collation_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.type_id_, &from._impl_.type_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.type_id_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SetToDefault)
}

inline void SetToDefault::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.type_id_){0u}
    , decltype(_impl_.type_mod_){0}
    , decltype(_impl_.collation_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SetToDefault::~SetToDefault() {
  // @@protoc_insertion_point(destructor:pg_query.SetToDefault)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SetToDefault::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void SetToDefault::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* SetToDefault::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.type_mod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_collation(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_collation());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SetToDefault::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SetToDefault::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SetToDefault::GetClassData() const { return &_class_data_; }


void SetToDefault::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SetToDefault*>(&to_msg);
  auto& from = static_cast<const SetToDefault&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SetToDefault)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  if (from._internal_type_mod() != 0) {
    _this->_internal_set_type_mod(from._internal_type_mod());
  }
  if (from._internal_collation() != 0) {
    _this->_internal_set_collation(from._internal_collation());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.location_)
      + sizeof(SetToDefault::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SetToDefault::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[52]);
}

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

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->_impl_.xpr_;
}
CurrentOfExpr::CurrentOfExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CurrentOfExpr)
}
CurrentOfExpr::CurrentOfExpr(const CurrentOfExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CurrentOfExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.cursor_name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.cvarno_){}
    , decltype(_impl_.cursor_param_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.cursor_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cursor_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_cursor_name().empty()) {
    _this->_impl_.cursor_name_.Set(from._internal_cursor_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.cvarno_, &from._impl_.cvarno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.cursor_param_) -
    reinterpret_cast<char*>(&_impl_.cvarno_)) + sizeof(_impl_.cursor_param_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CurrentOfExpr)
}

inline void CurrentOfExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.cursor_name_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.cvarno_){0u}
    , decltype(_impl_.cursor_param_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.cursor_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cursor_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CurrentOfExpr::~CurrentOfExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CurrentOfExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CurrentOfExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cursor_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void CurrentOfExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.cursor_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  ::memset(&_impl_.cvarno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.cursor_param_) -
      reinterpret_cast<char*>(&_impl_.cvarno_)) + sizeof(_impl_.cursor_param_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CurrentOfExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_cursor_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CurrentOfExpr.cursor_name"));
        } else
          goto handle_unusual;
        continue;
      // int32 cursor_param = 4 [json_name = "cursor_param"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.cursor_param_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 cvarno = 2 [json_name = "cvarno"];
  if (this->_internal_cvarno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_cvarno(), target);
  }

  // string cursor_name = 3 [json_name = "cursor_name"];
  if (!this->_internal_cursor_name().empty()) {
    ::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->_internal_cursor_param() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_cursor_param(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_cursor_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cursor_name());
  }

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

  // uint32 cvarno = 2 [json_name = "cvarno"];
  if (this->_internal_cvarno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cvarno());
  }

  // int32 cursor_param = 4 [json_name = "cursor_param"];
  if (this->_internal_cursor_param() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_cursor_param());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CurrentOfExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CurrentOfExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CurrentOfExpr::GetClassData() const { return &_class_data_; }


void CurrentOfExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CurrentOfExpr*>(&to_msg);
  auto& from = static_cast<const CurrentOfExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CurrentOfExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_cursor_name().empty()) {
    _this->_internal_set_cursor_name(from._internal_cursor_name());
  }
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_cvarno() != 0) {
    _this->_internal_set_cvarno(from._internal_cvarno());
  }
  if (from._internal_cursor_param() != 0) {
    _this->_internal_set_cursor_param(from._internal_cursor_param());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.cursor_name_, lhs_arena,
      &other->_impl_.cursor_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cursor_param_)
      + sizeof(CurrentOfExpr::_impl_.cursor_param_)
      - PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CurrentOfExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[53]);
}

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

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->_impl_.xpr_;
}
NextValueExpr::NextValueExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.NextValueExpr)
}
NextValueExpr::NextValueExpr(const NextValueExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  NextValueExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.seqid_){}
    , decltype(_impl_.type_id_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  ::memcpy(&_impl_.seqid_, &from._impl_.seqid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.type_id_) -
    reinterpret_cast<char*>(&_impl_.seqid_)) + sizeof(_impl_.type_id_));
  // @@protoc_insertion_point(copy_constructor:pg_query.NextValueExpr)
}

inline void NextValueExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.seqid_){0u}
    , decltype(_impl_.type_id_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

NextValueExpr::~NextValueExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NextValueExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void NextValueExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
}

void NextValueExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* NextValueExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // uint32 seqid = 2 [json_name = "seqid"];
  if (this->_internal_seqid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_seqid(), target);
  }

  // uint32 type_id = 3 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_type_id(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // uint32 seqid = 2 [json_name = "seqid"];
  if (this->_internal_seqid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_seqid());
  }

  // uint32 type_id = 3 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type_id());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NextValueExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    NextValueExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NextValueExpr::GetClassData() const { return &_class_data_; }


void NextValueExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<NextValueExpr*>(&to_msg);
  auto& from = static_cast<const NextValueExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NextValueExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_seqid() != 0) {
    _this->_internal_set_seqid(from._internal_seqid());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.type_id_)
      + sizeof(NextValueExpr::_impl_.type_id_)
      - PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata NextValueExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[54]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
InferenceElem::_Internal::expr(const InferenceElem* msg) {
  return *msg->_impl_.expr_;
}
InferenceElem::InferenceElem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.InferenceElem)
}
InferenceElem::InferenceElem(const InferenceElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  InferenceElem* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.infercollid_){}
    , decltype(_impl_.inferopclass_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_expr()) {
    _this->_impl_.expr_ = new ::pg_query::Node(*from._impl_.expr_);
  }
  ::memcpy(&_impl_.infercollid_, &from._impl_.infercollid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.inferopclass_) -
    reinterpret_cast<char*>(&_impl_.infercollid_)) + sizeof(_impl_.inferopclass_));
  // @@protoc_insertion_point(copy_constructor:pg_query.InferenceElem)
}

inline void InferenceElem::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.infercollid_){0u}
    , decltype(_impl_.inferopclass_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

InferenceElem::~InferenceElem() {
  // @@protoc_insertion_point(destructor:pg_query.InferenceElem)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void InferenceElem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.expr_;
}

void InferenceElem::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) {
    delete _impl_.expr_;
  }
  _impl_.expr_ = nullptr;
  ::memset(&_impl_.infercollid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.inferopclass_) -
      reinterpret_cast<char*>(&_impl_.infercollid_)) + sizeof(_impl_.inferopclass_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InferenceElem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.inferopclass_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

  // uint32 infercollid = 3 [json_name = "infercollid"];
  if (this->_internal_infercollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_infercollid(), target);
  }

  // uint32 inferopclass = 4 [json_name = "inferopclass"];
  if (this->_internal_inferopclass() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_inferopclass(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_xpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.xpr_);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.expr_);
  }

  // uint32 infercollid = 3 [json_name = "infercollid"];
  if (this->_internal_infercollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_infercollid());
  }

  // uint32 inferopclass = 4 [json_name = "inferopclass"];
  if (this->_internal_inferopclass() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_inferopclass());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData InferenceElem::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    InferenceElem::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*InferenceElem::GetClassData() const { return &_class_data_; }


void InferenceElem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<InferenceElem*>(&to_msg);
  auto& from = static_cast<const InferenceElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InferenceElem)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_expr()) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_infercollid() != 0) {
    _this->_internal_set_infercollid(from._internal_infercollid());
  }
  if (from._internal_inferopclass() != 0) {
    _this->_internal_set_inferopclass(from._internal_inferopclass());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.inferopclass_)
      + sizeof(InferenceElem::_impl_.inferopclass_)
      - PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InferenceElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[55]);
}

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

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->_impl_.xpr_;
}
const ::pg_query::Node&
TargetEntry::_Internal::expr(const TargetEntry* msg) {
  return *msg->_impl_.expr_;
}
TargetEntry::TargetEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TargetEntry)
}
TargetEntry::TargetEntry(const TargetEntry& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TargetEntry* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.resname_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.resno_){}
    , decltype(_impl_.ressortgroupref_){}
    , decltype(_impl_.resorigtbl_){}
    , decltype(_impl_.resorigcol_){}
    , decltype(_impl_.resjunk_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.resname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.resname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_resname().empty()) {
    _this->_impl_.resname_.Set(from._internal_resname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_xpr()) {
    _this->_impl_.xpr_ = new ::pg_query::Node(*from._impl_.xpr_);
  }
  if (from._internal_has_expr()) {
    _this->_impl_.expr_ = new ::pg_query::Node(*from._impl_.expr_);
  }
  ::memcpy(&_impl_.resno_, &from._impl_.resno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.resjunk_) -
    reinterpret_cast<char*>(&_impl_.resno_)) + sizeof(_impl_.resjunk_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TargetEntry)
}

inline void TargetEntry::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.resname_){}
    , decltype(_impl_.xpr_){nullptr}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.resno_){0}
    , decltype(_impl_.ressortgroupref_){0u}
    , decltype(_impl_.resorigtbl_){0u}
    , decltype(_impl_.resorigcol_){0}
    , decltype(_impl_.resjunk_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.resname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.resname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

TargetEntry::~TargetEntry() {
  // @@protoc_insertion_point(destructor:pg_query.TargetEntry)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TargetEntry::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.resname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.xpr_;
  if (this != internal_default_instance()) delete _impl_.expr_;
}

void TargetEntry::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.resname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) {
    delete _impl_.xpr_;
  }
  _impl_.xpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) {
    delete _impl_.expr_;
  }
  _impl_.expr_ = nullptr;
  ::memset(&_impl_.resno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.resjunk_) -
      reinterpret_cast<char*>(&_impl_.resno_)) + sizeof(_impl_.resjunk_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TargetEntry::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node xpr = 1 [json_name = "xpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.resno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string resname = 4 [json_name = "resname"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_resname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.TargetEntry.resname"));
        } else
          goto handle_unusual;
        continue;
      // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.resorigcol_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool resjunk = 8 [json_name = "resjunk"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.resjunk_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

  // int32 resno = 3 [json_name = "resno"];
  if (this->_internal_resno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_resno(), target);
  }

  // string resname = 4 [json_name = "resname"];
  if (!this->_internal_resname().empty()) {
    ::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->_internal_ressortgroupref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_ressortgroupref(), target);
  }

  // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
  if (this->_internal_resorigtbl() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_resorigtbl(), target);
  }

  // int32 resorigcol = 7 [json_name = "resorigcol"];
  if (this->_internal_resorigcol() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_resorigcol(), target);
  }

  // bool resjunk = 8 [json_name = "resjunk"];
  if (this->_internal_resjunk() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_resjunk(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_resname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_resname());
  }

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

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.expr_);
  }

  // int32 resno = 3 [json_name = "resno"];
  if (this->_internal_resno() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_resno());
  }

  // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
  if (this->_internal_ressortgroupref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_ressortgroupref());
  }

  // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
  if (this->_internal_resorigtbl() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_resorigtbl());
  }

  // int32 resorigcol = 7 [json_name = "resorigcol"];
  if (this->_internal_resorigcol() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_resorigcol());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TargetEntry::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TargetEntry::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TargetEntry::GetClassData() const { return &_class_data_; }


void TargetEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TargetEntry*>(&to_msg);
  auto& from = static_cast<const TargetEntry&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TargetEntry)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_resname().empty()) {
    _this->_internal_set_resname(from._internal_resname());
  }
  if (from._internal_has_xpr()) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_has_expr()) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_resno() != 0) {
    _this->_internal_set_resno(from._internal_resno());
  }
  if (from._internal_ressortgroupref() != 0) {
    _this->_internal_set_ressortgroupref(from._internal_ressortgroupref());
  }
  if (from._internal_resorigtbl() != 0) {
    _this->_internal_set_resorigtbl(from._internal_resorigtbl());
  }
  if (from._internal_resorigcol() != 0) {
    _this->_internal_set_resorigcol(from._internal_resorigcol());
  }
  if (from._internal_resjunk() != 0) {
    _this->_internal_set_resjunk(from._internal_resjunk());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.resname_, lhs_arena,
      &other->_impl_.resname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resjunk_)
      + sizeof(TargetEntry::_impl_.resjunk_)
      - PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TargetEntry::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[56]);
}

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

class RangeTblRef::_Internal {
 public:
};

RangeTblRef::RangeTblRef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblRef)
}
RangeTblRef::RangeTblRef(const RangeTblRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeTblRef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.rtindex_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.rtindex_ = from._impl_.rtindex_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblRef)
}

inline void RangeTblRef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.rtindex_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RangeTblRef::~RangeTblRef() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblRef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeTblRef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void RangeTblRef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* RangeTblRef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 rtindex = 1 [json_name = "rtindex"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.rtindex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // int32 rtindex = 1 [json_name = "rtindex"];
  if (this->_internal_rtindex() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_rtindex(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_rtindex() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_rtindex());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeTblRef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeTblRef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeTblRef::GetClassData() const { return &_class_data_; }


void RangeTblRef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeTblRef*>(&to_msg);
  auto& from = static_cast<const RangeTblRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblRef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_rtindex() != 0) {
    _this->_internal_set_rtindex(from._internal_rtindex());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.rtindex_, other->_impl_.rtindex_);
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTblRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[57]);
}

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

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::Alias& join_using_alias(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->_impl_.larg_;
}
const ::pg_query::Node&
JoinExpr::_Internal::rarg(const JoinExpr* msg) {
  return *msg->_impl_.rarg_;
}
const ::pg_query::Alias&
JoinExpr::_Internal::join_using_alias(const JoinExpr* msg) {
  return *msg->_impl_.join_using_alias_;
}
const ::pg_query::Node&
JoinExpr::_Internal::quals(const JoinExpr* msg) {
  return *msg->_impl_.quals_;
}
const ::pg_query::Alias&
JoinExpr::_Internal::alias(const JoinExpr* msg) {
  return *msg->_impl_.alias_;
}
JoinExpr::JoinExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.JoinExpr)
}
JoinExpr::JoinExpr(const JoinExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  JoinExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.using_clause_){from._impl_.using_clause_}
    , decltype(_impl_.larg_){nullptr}
    , decltype(_impl_.rarg_){nullptr}
    , decltype(_impl_.join_using_alias_){nullptr}
    , decltype(_impl_.quals_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.jointype_){}
    , decltype(_impl_.is_natural_){}
    , decltype(_impl_.rtindex_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_larg()) {
    _this->_impl_.larg_ = new ::pg_query::Node(*from._impl_.larg_);
  }
  if (from._internal_has_rarg()) {
    _this->_impl_.rarg_ = new ::pg_query::Node(*from._impl_.rarg_);
  }
  if (from._internal_has_join_using_alias()) {
    _this->_impl_.join_using_alias_ = new ::pg_query::Alias(*from._impl_.join_using_alias_);
  }
  if (from._internal_has_quals()) {
    _this->_impl_.quals_ = new ::pg_query::Node(*from._impl_.quals_);
  }
  if (from._internal_has_alias()) {
    _this->_impl_.alias_ = new ::pg_query::Alias(*from._impl_.alias_);
  }
  ::memcpy(&_impl_.jointype_, &from._impl_.jointype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.rtindex_) -
    reinterpret_cast<char*>(&_impl_.jointype_)) + sizeof(_impl_.rtindex_));
  // @@protoc_insertion_point(copy_constructor:pg_query.JoinExpr)
}

inline void JoinExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.using_clause_){arena}
    , decltype(_impl_.larg_){nullptr}
    , decltype(_impl_.rarg_){nullptr}
    , decltype(_impl_.join_using_alias_){nullptr}
    , decltype(_impl_.quals_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.jointype_){0}
    , decltype(_impl_.is_natural_){false}
    , decltype(_impl_.rtindex_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

JoinExpr::~JoinExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JoinExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void JoinExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.using_clause_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.larg_;
  if (this != internal_default_instance()) delete _impl_.rarg_;
  if (this != internal_default_instance()) delete _impl_.join_using_alias_;
  if (this != internal_default_instance()) delete _impl_.quals_;
  if (this != internal_default_instance()) delete _impl_.alias_;
}

void JoinExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.using_clause_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.larg_ != nullptr) {
    delete _impl_.larg_;
  }
  _impl_.larg_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.rarg_ != nullptr) {
    delete _impl_.rarg_;
  }
  _impl_.rarg_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.join_using_alias_ != nullptr) {
    delete _impl_.join_using_alias_;
  }
  _impl_.join_using_alias_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.quals_ != nullptr) {
    delete _impl_.quals_;
  }
  _impl_.quals_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) {
    delete _impl_.alias_;
  }
  _impl_.alias_ = nullptr;
  ::memset(&_impl_.jointype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.rtindex_) -
      reinterpret_cast<char*>(&_impl_.jointype_)) + sizeof(_impl_.rtindex_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* JoinExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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.Alias join_using_alias = 6 [json_name = "join_using_alias"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_join_using_alias(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node quals = 7 [json_name = "quals"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_quals(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 8 [json_name = "alias"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 rtindex = 9 [json_name = "rtindex"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _impl_.rtindex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_jointype(), target);
  }

  // bool is_natural = 2 [json_name = "isNatural"];
  if (this->_internal_is_natural() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_natural(), target);
  }

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

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

  // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_using_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_using_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // .pg_query.Node quals = 7 [json_name = "quals"];
  if (this->_internal_has_quals()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::quals(this),
        _Internal::quals(this).GetCachedSize(), target, stream);
  }

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

  // int32 rtindex = 9 [json_name = "rtindex"];
  if (this->_internal_rtindex() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_rtindex(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.using_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

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

  // .pg_query.Node quals = 7 [json_name = "quals"];
  if (this->_internal_has_quals()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.quals_);
  }

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

  // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_jointype());
  }

  // bool is_natural = 2 [json_name = "isNatural"];
  if (this->_internal_is_natural() != 0) {
    total_size += 1 + 1;
  }

  // int32 rtindex = 9 [json_name = "rtindex"];
  if (this->_internal_rtindex() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_rtindex());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData JoinExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    JoinExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*JoinExpr::GetClassData() const { return &_class_data_; }


void JoinExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<JoinExpr*>(&to_msg);
  auto& from = static_cast<const JoinExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JoinExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.using_clause_.MergeFrom(from._impl_.using_clause_);
  if (from._internal_has_larg()) {
    _this->_internal_mutable_larg()->::pg_query::Node::MergeFrom(
        from._internal_larg());
  }
  if (from._internal_has_rarg()) {
    _this->_internal_mutable_rarg()->::pg_query::Node::MergeFrom(
        from._internal_rarg());
  }
  if (from._internal_has_join_using_alias()) {
    _this->_internal_mutable_join_using_alias()->::pg_query::Alias::MergeFrom(
        from._internal_join_using_alias());
  }
  if (from._internal_has_quals()) {
    _this->_internal_mutable_quals()->::pg_query::Node::MergeFrom(
        from._internal_quals());
  }
  if (from._internal_has_alias()) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_jointype() != 0) {
    _this->_internal_set_jointype(from._internal_jointype());
  }
  if (from._internal_is_natural() != 0) {
    _this->_internal_set_is_natural(from._internal_is_natural());
  }
  if (from._internal_rtindex() != 0) {
    _this->_internal_set_rtindex(from._internal_rtindex());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.using_clause_.InternalSwap(&other->_impl_.using_clause_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.rtindex_)
      + sizeof(JoinExpr::_impl_.rtindex_)
      - PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.larg_)>(
          reinterpret_cast<char*>(&_impl_.larg_),
          reinterpret_cast<char*>(&other->_impl_.larg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata JoinExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[58]);
}

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

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->_impl_.quals_;
}
FromExpr::FromExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.FromExpr)
}
FromExpr::FromExpr(const FromExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  FromExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.fromlist_){from._impl_.fromlist_}
    , decltype(_impl_.quals_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_quals()) {
    _this->_impl_.quals_ = new ::pg_query::Node(*from._impl_.quals_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.FromExpr)
}

inline void FromExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.fromlist_){arena}
    , decltype(_impl_.quals_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

FromExpr::~FromExpr() {
  // @@protoc_insertion_point(destructor:pg_query.FromExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void FromExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.fromlist_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.quals_;
}

void FromExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.fromlist_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.quals_ != nullptr) {
    delete _impl_.quals_;
  }
  _impl_.quals_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FromExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_quals(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fromlist_size()); i < n; i++) {
    const auto& repfield = this->_internal_fromlist(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node quals = 2 [json_name = "quals"];
  if (this->_internal_has_quals()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::quals(this),
        _Internal::quals(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.fromlist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node quals = 2 [json_name = "quals"];
  if (this->_internal_has_quals()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.quals_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FromExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    FromExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FromExpr::GetClassData() const { return &_class_data_; }


void FromExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<FromExpr*>(&to_msg);
  auto& from = static_cast<const FromExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FromExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.fromlist_.MergeFrom(from._impl_.fromlist_);
  if (from._internal_has_quals()) {
    _this->_internal_mutable_quals()->::pg_query::Node::MergeFrom(
        from._internal_quals());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.fromlist_.InternalSwap(&other->_impl_.fromlist_);
  swap(_impl_.quals_, other->_impl_.quals_);
}

::PROTOBUF_NAMESPACE_ID::Metadata FromExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[59]);
}

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

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->_impl_.arbiter_where_;
}
const ::pg_query::Node&
OnConflictExpr::_Internal::on_conflict_where(const OnConflictExpr* msg) {
  return *msg->_impl_.on_conflict_where_;
}
OnConflictExpr::OnConflictExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.OnConflictExpr)
}
OnConflictExpr::OnConflictExpr(const OnConflictExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  OnConflictExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.arbiter_elems_){from._impl_.arbiter_elems_}
    , decltype(_impl_.on_conflict_set_){from._impl_.on_conflict_set_}
    , decltype(_impl_.excl_rel_tlist_){from._impl_.excl_rel_tlist_}
    , decltype(_impl_.arbiter_where_){nullptr}
    , decltype(_impl_.on_conflict_where_){nullptr}
    , decltype(_impl_.action_){}
    , decltype(_impl_.constraint_){}
    , decltype(_impl_.excl_rel_index_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arbiter_where()) {
    _this->_impl_.arbiter_where_ = new ::pg_query::Node(*from._impl_.arbiter_where_);
  }
  if (from._internal_has_on_conflict_where()) {
    _this->_impl_.on_conflict_where_ = new ::pg_query::Node(*from._impl_.on_conflict_where_);
  }
  ::memcpy(&_impl_.action_, &from._impl_.action_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.excl_rel_index_) -
    reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.excl_rel_index_));
  // @@protoc_insertion_point(copy_constructor:pg_query.OnConflictExpr)
}

inline void OnConflictExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.arbiter_elems_){arena}
    , decltype(_impl_.on_conflict_set_){arena}
    , decltype(_impl_.excl_rel_tlist_){arena}
    , decltype(_impl_.arbiter_where_){nullptr}
    , decltype(_impl_.on_conflict_where_){nullptr}
    , decltype(_impl_.action_){0}
    , decltype(_impl_.constraint_){0u}
    , decltype(_impl_.excl_rel_index_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

OnConflictExpr::~OnConflictExpr() {
  // @@protoc_insertion_point(destructor:pg_query.OnConflictExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void OnConflictExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.arbiter_elems_.~RepeatedPtrField();
  _impl_.on_conflict_set_.~RepeatedPtrField();
  _impl_.excl_rel_tlist_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.arbiter_where_;
  if (this != internal_default_instance()) delete _impl_.on_conflict_where_;
}

void OnConflictExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.arbiter_elems_.Clear();
  _impl_.on_conflict_set_.Clear();
  _impl_.excl_rel_tlist_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.arbiter_where_ != nullptr) {
    delete _impl_.arbiter_where_;
  }
  _impl_.arbiter_where_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.on_conflict_where_ != nullptr) {
    delete _impl_.on_conflict_where_;
  }
  _impl_.on_conflict_where_ = nullptr;
  ::memset(&_impl_.action_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.excl_rel_index_) -
      reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.excl_rel_index_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* OnConflictExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.OnConflictAction action = 1 [json_name = "action"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.excl_rel_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_action(), target);
  }

  // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_arbiter_elems_size()); i < n; i++) {
    const auto& repfield = this->_internal_arbiter_elems(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // uint32 constraint = 4 [json_name = "constraint"];
  if (this->_internal_constraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_constraint(), target);
  }

  // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_on_conflict_set_size()); i < n; i++) {
    const auto& repfield = this->_internal_on_conflict_set(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
  if (this->_internal_has_on_conflict_where()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::on_conflict_where(this),
        _Internal::on_conflict_where(this).GetCachedSize(), target, stream);
  }

  // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
  if (this->_internal_excl_rel_index() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_excl_rel_index(), target);
  }

  // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_excl_rel_tlist_size()); i < n; i++) {
    const auto& repfield = this->_internal_excl_rel_tlist(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.excl_rel_tlist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
  if (this->_internal_has_arbiter_where()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arbiter_where_);
  }

  // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
  if (this->_internal_has_on_conflict_where()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.on_conflict_where_);
  }

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_action());
  }

  // uint32 constraint = 4 [json_name = "constraint"];
  if (this->_internal_constraint() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_constraint());
  }

  // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
  if (this->_internal_excl_rel_index() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_excl_rel_index());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData OnConflictExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    OnConflictExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*OnConflictExpr::GetClassData() const { return &_class_data_; }


void OnConflictExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<OnConflictExpr*>(&to_msg);
  auto& from = static_cast<const OnConflictExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OnConflictExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.arbiter_elems_.MergeFrom(from._impl_.arbiter_elems_);
  _this->_impl_.on_conflict_set_.MergeFrom(from._impl_.on_conflict_set_);
  _this->_impl_.excl_rel_tlist_.MergeFrom(from._impl_.excl_rel_tlist_);
  if (from._internal_has_arbiter_where()) {
    _this->_internal_mutable_arbiter_where()->::pg_query::Node::MergeFrom(
        from._internal_arbiter_where());
  }
  if (from._internal_has_on_conflict_where()) {
    _this->_internal_mutable_on_conflict_where()->::pg_query::Node::MergeFrom(
        from._internal_on_conflict_where());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  if (from._internal_constraint() != 0) {
    _this->_internal_set_constraint(from._internal_constraint());
  }
  if (from._internal_excl_rel_index() != 0) {
    _this->_internal_set_excl_rel_index(from._internal_excl_rel_index());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.arbiter_elems_.InternalSwap(&other->_impl_.arbiter_elems_);
  _impl_.on_conflict_set_.InternalSwap(&other->_impl_.on_conflict_set_);
  _impl_.excl_rel_tlist_.InternalSwap(&other->_impl_.excl_rel_tlist_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.excl_rel_index_)
      + sizeof(OnConflictExpr::_impl_.excl_rel_index_)
      - PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.arbiter_where_)>(
          reinterpret_cast<char*>(&_impl_.arbiter_where_),
          reinterpret_cast<char*>(&other->_impl_.arbiter_where_));
}

::PROTOBUF_NAMESPACE_ID::Metadata OnConflictExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[60]);
}

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

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->_impl_.rel_;
}
const ::pg_query::Node&
IntoClause::_Internal::view_query(const IntoClause* msg) {
  return *msg->_impl_.view_query_;
}
IntoClause::IntoClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.IntoClause)
}
IntoClause::IntoClause(const IntoClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  IntoClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.col_names_){from._impl_.col_names_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.table_space_name_){}
    , decltype(_impl_.rel_){nullptr}
    , decltype(_impl_.view_query_){nullptr}
    , decltype(_impl_.on_commit_){}
    , decltype(_impl_.skip_data_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_access_method().empty()) {
    _this->_impl_.access_method_.Set(from._internal_access_method(), 
      _this->GetArenaForAllocation());
  }
  _impl_.table_space_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_space_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_table_space_name().empty()) {
    _this->_impl_.table_space_name_.Set(from._internal_table_space_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_rel()) {
    _this->_impl_.rel_ = new ::pg_query::RangeVar(*from._impl_.rel_);
  }
  if (from._internal_has_view_query()) {
    _this->_impl_.view_query_ = new ::pg_query::Node(*from._impl_.view_query_);
  }
  ::memcpy(&_impl_.on_commit_, &from._impl_.on_commit_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.skip_data_) -
    reinterpret_cast<char*>(&_impl_.on_commit_)) + sizeof(_impl_.skip_data_));
  // @@protoc_insertion_point(copy_constructor:pg_query.IntoClause)
}

inline void IntoClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.col_names_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.table_space_name_){}
    , decltype(_impl_.rel_){nullptr}
    , decltype(_impl_.view_query_){nullptr}
    , decltype(_impl_.on_commit_){0}
    , decltype(_impl_.skip_data_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.table_space_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_space_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

IntoClause::~IntoClause() {
  // @@protoc_insertion_point(destructor:pg_query.IntoClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void IntoClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.col_names_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.access_method_.Destroy();
  _impl_.table_space_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.rel_;
  if (this != internal_default_instance()) delete _impl_.view_query_;
}

void IntoClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.col_names_.Clear();
  _impl_.options_.Clear();
  _impl_.access_method_.ClearToEmpty();
  _impl_.table_space_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.rel_ != nullptr) {
    delete _impl_.rel_;
  }
  _impl_.rel_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.view_query_ != nullptr) {
    delete _impl_.view_query_;
  }
  _impl_.view_query_ = nullptr;
  ::memset(&_impl_.on_commit_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.skip_data_) -
      reinterpret_cast<char*>(&_impl_.on_commit_)) + sizeof(_impl_.skip_data_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IntoClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar rel = 1 [json_name = "rel"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_access_method();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IntoClause.access_method"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 4 [json_name = "options"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 40)) {
          uint64_t 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<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_table_space_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IntoClause.table_space_name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 64)) {
          _impl_.skip_data_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar rel = 1 [json_name = "rel"];
  if (this->_internal_has_rel()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::rel(this),
        _Internal::rel(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node col_names = 2 [json_name = "colNames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_names(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
  if (this->_internal_on_commit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      5, this->_internal_on_commit(), target);
  }

  // string table_space_name = 6 [json_name = "tableSpaceName"];
  if (!this->_internal_table_space_name().empty()) {
    ::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->_internal_has_view_query()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::view_query(this),
        _Internal::view_query(this).GetCachedSize(), target, stream);
  }

  // bool skip_data = 8 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_skip_data(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // string table_space_name = 6 [json_name = "tableSpaceName"];
  if (!this->_internal_table_space_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_space_name());
  }

  // .pg_query.RangeVar rel = 1 [json_name = "rel"];
  if (this->_internal_has_rel()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.rel_);
  }

  // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
  if (this->_internal_has_view_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.view_query_);
  }

  // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
  if (this->_internal_on_commit() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_on_commit());
  }

  // bool skip_data = 8 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IntoClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    IntoClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IntoClause::GetClassData() const { return &_class_data_; }


void IntoClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<IntoClause*>(&to_msg);
  auto& from = static_cast<const IntoClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IntoClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.col_names_.MergeFrom(from._impl_.col_names_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  if (!from._internal_table_space_name().empty()) {
    _this->_internal_set_table_space_name(from._internal_table_space_name());
  }
  if (from._internal_has_rel()) {
    _this->_internal_mutable_rel()->::pg_query::RangeVar::MergeFrom(
        from._internal_rel());
  }
  if (from._internal_has_view_query()) {
    _this->_internal_mutable_view_query()->::pg_query::Node::MergeFrom(
        from._internal_view_query());
  }
  if (from._internal_on_commit() != 0) {
    _this->_internal_set_on_commit(from._internal_on_commit());
  }
  if (from._internal_skip_data() != 0) {
    _this->_internal_set_skip_data(from._internal_skip_data());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.col_names_.InternalSwap(&other->_impl_.col_names_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.access_method_, lhs_arena,
      &other->_impl_.access_method_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.table_space_name_, lhs_arena,
      &other->_impl_.table_space_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.skip_data_)
      + sizeof(IntoClause::_impl_.skip_data_)
      - PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.rel_)>(
          reinterpret_cast<char*>(&_impl_.rel_),
          reinterpret_cast<char*>(&other->_impl_.rel_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IntoClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[61]);
}

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

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

const ::pg_query::Node&
MergeAction::_Internal::qual(const MergeAction* msg) {
  return *msg->_impl_.qual_;
}
MergeAction::MergeAction(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.MergeAction)
}
MergeAction::MergeAction(const MergeAction& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  MergeAction* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){from._impl_.target_list_}
    , decltype(_impl_.update_colnos_){from._impl_.update_colnos_}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.matched_){}
    , decltype(_impl_.command_type_){}
    , decltype(_impl_.override_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_qual()) {
    _this->_impl_.qual_ = new ::pg_query::Node(*from._impl_.qual_);
  }
  ::memcpy(&_impl_.matched_, &from._impl_.matched_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.override_) -
    reinterpret_cast<char*>(&_impl_.matched_)) + sizeof(_impl_.override_));
  // @@protoc_insertion_point(copy_constructor:pg_query.MergeAction)
}

inline void MergeAction::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){arena}
    , decltype(_impl_.update_colnos_){arena}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.matched_){false}
    , decltype(_impl_.command_type_){0}
    , decltype(_impl_.override_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

MergeAction::~MergeAction() {
  // @@protoc_insertion_point(destructor:pg_query.MergeAction)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void MergeAction::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.target_list_.~RepeatedPtrField();
  _impl_.update_colnos_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.qual_;
}

void MergeAction::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.target_list_.Clear();
  _impl_.update_colnos_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) {
    delete _impl_.qual_;
  }
  _impl_.qual_ = nullptr;
  ::memset(&_impl_.matched_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.override_) -
      reinterpret_cast<char*>(&_impl_.matched_)) + sizeof(_impl_.override_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* MergeAction::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool matched = 1 [json_name = "matched"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.matched_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t 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.OverridingKind override = 3 [json_name = "override"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          uint64_t 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.Node qual = 4 [json_name = "qual"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_qual(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          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<42>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_update_colnos(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // bool matched = 1 [json_name = "matched"];
  if (this->_internal_matched() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_matched(), target);
  }

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_command_type(), target);
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_override(), target);
  }

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

  // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_update_colnos_size()); i < n; i++) {
    const auto& repfield = this->_internal_update_colnos(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.MergeAction)
  return target;
}

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

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

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

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

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

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_command_type());
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MergeAction::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    MergeAction::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MergeAction::GetClassData() const { return &_class_data_; }


void MergeAction::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<MergeAction*>(&to_msg);
  auto& from = static_cast<const MergeAction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MergeAction)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.target_list_.MergeFrom(from._impl_.target_list_);
  _this->_impl_.update_colnos_.MergeFrom(from._impl_.update_colnos_);
  if (from._internal_has_qual()) {
    _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
        from._internal_qual());
  }
  if (from._internal_matched() != 0) {
    _this->_internal_set_matched(from._internal_matched());
  }
  if (from._internal_command_type() != 0) {
    _this->_internal_set_command_type(from._internal_command_type());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void MergeAction::InternalSwap(MergeAction* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.update_colnos_.InternalSwap(&other->_impl_.update_colnos_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.override_)
      + sizeof(MergeAction::_impl_.override_)
      - PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.qual_)>(
          reinterpret_cast<char*>(&_impl_.qual_),
          reinterpret_cast<char*>(&other->_impl_.qual_));
}

::PROTOBUF_NAMESPACE_ID::Metadata MergeAction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[62]);
}

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

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->_impl_.stmt_;
}
RawStmt::RawStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RawStmt)
}
RawStmt::RawStmt(const RawStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RawStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.stmt_){nullptr}
    , decltype(_impl_.stmt_location_){}
    , decltype(_impl_.stmt_len_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_stmt()) {
    _this->_impl_.stmt_ = new ::pg_query::Node(*from._impl_.stmt_);
  }
  ::memcpy(&_impl_.stmt_location_, &from._impl_.stmt_location_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.stmt_len_) -
    reinterpret_cast<char*>(&_impl_.stmt_location_)) + sizeof(_impl_.stmt_len_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RawStmt)
}

inline void RawStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.stmt_){nullptr}
    , decltype(_impl_.stmt_location_){0}
    , decltype(_impl_.stmt_len_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RawStmt::~RawStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RawStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RawStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.stmt_;
}

void RawStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  if (GetArenaForAllocation() == nullptr && _impl_.stmt_ != nullptr) {
    delete _impl_.stmt_;
  }
  _impl_.stmt_ = nullptr;
  ::memset(&_impl_.stmt_location_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.stmt_len_) -
      reinterpret_cast<char*>(&_impl_.stmt_location_)) + sizeof(_impl_.stmt_len_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RawStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node stmt = 1 [json_name = "stmt"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.stmt_location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 stmt_len = 3 [json_name = "stmt_len"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.stmt_len_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // int32 stmt_location = 2 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_stmt_location(), target);
  }

  // int32 stmt_len = 3 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_stmt_len(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.stmt_);
  }

  // int32 stmt_location = 2 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_stmt_location());
  }

  // int32 stmt_len = 3 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_stmt_len());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RawStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RawStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RawStmt::GetClassData() const { return &_class_data_; }


void RawStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RawStmt*>(&to_msg);
  auto& from = static_cast<const RawStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RawStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_stmt()) {
    _this->_internal_mutable_stmt()->::pg_query::Node::MergeFrom(
        from._internal_stmt());
  }
  if (from._internal_stmt_location() != 0) {
    _this->_internal_set_stmt_location(from._internal_stmt_location());
  }
  if (from._internal_stmt_len() != 0) {
    _this->_internal_set_stmt_len(from._internal_stmt_len());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_len_)
      + sizeof(RawStmt::_impl_.stmt_len_)
      - PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_)>(
          reinterpret_cast<char*>(&_impl_.stmt_),
          reinterpret_cast<char*>(&other->_impl_.stmt_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RawStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[63]);
}

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

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->_impl_.utility_stmt_;
}
const ::pg_query::FromExpr&
Query::_Internal::jointree(const Query* msg) {
  return *msg->_impl_.jointree_;
}
const ::pg_query::OnConflictExpr&
Query::_Internal::on_conflict(const Query* msg) {
  return *msg->_impl_.on_conflict_;
}
const ::pg_query::Node&
Query::_Internal::having_qual(const Query* msg) {
  return *msg->_impl_.having_qual_;
}
const ::pg_query::Node&
Query::_Internal::limit_offset(const Query* msg) {
  return *msg->_impl_.limit_offset_;
}
const ::pg_query::Node&
Query::_Internal::limit_count(const Query* msg) {
  return *msg->_impl_.limit_count_;
}
const ::pg_query::Node&
Query::_Internal::set_operations(const Query* msg) {
  return *msg->_impl_.set_operations_;
}
Query::Query(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Query)
}
Query::Query(const Query& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Query* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.cte_list_){from._impl_.cte_list_}
    , decltype(_impl_.rtable_){from._impl_.rtable_}
    , decltype(_impl_.merge_action_list_){from._impl_.merge_action_list_}
    , decltype(_impl_.target_list_){from._impl_.target_list_}
    , decltype(_impl_.returning_list_){from._impl_.returning_list_}
    , decltype(_impl_.group_clause_){from._impl_.group_clause_}
    , decltype(_impl_.grouping_sets_){from._impl_.grouping_sets_}
    , decltype(_impl_.window_clause_){from._impl_.window_clause_}
    , decltype(_impl_.distinct_clause_){from._impl_.distinct_clause_}
    , decltype(_impl_.sort_clause_){from._impl_.sort_clause_}
    , decltype(_impl_.row_marks_){from._impl_.row_marks_}
    , decltype(_impl_.constraint_deps_){from._impl_.constraint_deps_}
    , decltype(_impl_.with_check_options_){from._impl_.with_check_options_}
    , decltype(_impl_.utility_stmt_){nullptr}
    , decltype(_impl_.jointree_){nullptr}
    , decltype(_impl_.on_conflict_){nullptr}
    , decltype(_impl_.having_qual_){nullptr}
    , decltype(_impl_.limit_offset_){nullptr}
    , decltype(_impl_.limit_count_){nullptr}
    , decltype(_impl_.set_operations_){nullptr}
    , decltype(_impl_.command_type_){}
    , decltype(_impl_.query_source_){}
    , decltype(_impl_.result_relation_){}
    , decltype(_impl_.can_set_tag_){}
    , decltype(_impl_.has_aggs_){}
    , decltype(_impl_.has_window_funcs_){}
    , decltype(_impl_.has_target_srfs_){}
    , decltype(_impl_.has_sub_links_){}
    , decltype(_impl_.has_distinct_on_){}
    , decltype(_impl_.has_recursive_){}
    , decltype(_impl_.has_modifying_cte_){}
    , decltype(_impl_.has_for_update_){}
    , decltype(_impl_.has_row_security_){}
    , decltype(_impl_.is_return_){}
    , decltype(_impl_.merge_use_outer_join_){}
    , decltype(_impl_.override_){}
    , decltype(_impl_.group_distinct_){}
    , decltype(_impl_.limit_option_){}
    , decltype(_impl_.stmt_location_){}
    , decltype(_impl_.stmt_len_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_utility_stmt()) {
    _this->_impl_.utility_stmt_ = new ::pg_query::Node(*from._impl_.utility_stmt_);
  }
  if (from._internal_has_jointree()) {
    _this->_impl_.jointree_ = new ::pg_query::FromExpr(*from._impl_.jointree_);
  }
  if (from._internal_has_on_conflict()) {
    _this->_impl_.on_conflict_ = new ::pg_query::OnConflictExpr(*from._impl_.on_conflict_);
  }
  if (from._internal_has_having_qual()) {
    _this->_impl_.having_qual_ = new ::pg_query::Node(*from._impl_.having_qual_);
  }
  if (from._internal_has_limit_offset()) {
    _this->_impl_.limit_offset_ = new ::pg_query::Node(*from._impl_.limit_offset_);
  }
  if (from._internal_has_limit_count()) {
    _this->_impl_.limit_count_ = new ::pg_query::Node(*from._impl_.limit_count_);
  }
  if (from._internal_has_set_operations()) {
    _this->_impl_.set_operations_ = new ::pg_query::Node(*from._impl_.set_operations_);
  }
  ::memcpy(&_impl_.command_type_, &from._impl_.command_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.stmt_len_) -
    reinterpret_cast<char*>(&_impl_.command_type_)) + sizeof(_impl_.stmt_len_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Query)
}

inline void Query::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.cte_list_){arena}
    , decltype(_impl_.rtable_){arena}
    , decltype(_impl_.merge_action_list_){arena}
    , decltype(_impl_.target_list_){arena}
    , decltype(_impl_.returning_list_){arena}
    , decltype(_impl_.group_clause_){arena}
    , decltype(_impl_.grouping_sets_){arena}
    , decltype(_impl_.window_clause_){arena}
    , decltype(_impl_.distinct_clause_){arena}
    , decltype(_impl_.sort_clause_){arena}
    , decltype(_impl_.row_marks_){arena}
    , decltype(_impl_.constraint_deps_){arena}
    , decltype(_impl_.with_check_options_){arena}
    , decltype(_impl_.utility_stmt_){nullptr}
    , decltype(_impl_.jointree_){nullptr}
    , decltype(_impl_.on_conflict_){nullptr}
    , decltype(_impl_.having_qual_){nullptr}
    , decltype(_impl_.limit_offset_){nullptr}
    , decltype(_impl_.limit_count_){nullptr}
    , decltype(_impl_.set_operations_){nullptr}
    , decltype(_impl_.command_type_){0}
    , decltype(_impl_.query_source_){0}
    , decltype(_impl_.result_relation_){0}
    , decltype(_impl_.can_set_tag_){false}
    , decltype(_impl_.has_aggs_){false}
    , decltype(_impl_.has_window_funcs_){false}
    , decltype(_impl_.has_target_srfs_){false}
    , decltype(_impl_.has_sub_links_){false}
    , decltype(_impl_.has_distinct_on_){false}
    , decltype(_impl_.has_recursive_){false}
    , decltype(_impl_.has_modifying_cte_){false}
    , decltype(_impl_.has_for_update_){false}
    , decltype(_impl_.has_row_security_){false}
    , decltype(_impl_.is_return_){false}
    , decltype(_impl_.merge_use_outer_join_){false}
    , decltype(_impl_.override_){0}
    , decltype(_impl_.group_distinct_){false}
    , decltype(_impl_.limit_option_){0}
    , decltype(_impl_.stmt_location_){0}
    , decltype(_impl_.stmt_len_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

Query::~Query() {
  // @@protoc_insertion_point(destructor:pg_query.Query)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Query::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cte_list_.~RepeatedPtrField();
  _impl_.rtable_.~RepeatedPtrField();
  _impl_.merge_action_list_.~RepeatedPtrField();
  _impl_.target_list_.~RepeatedPtrField();
  _impl_.returning_list_.~RepeatedPtrField();
  _impl_.group_clause_.~RepeatedPtrField();
  _impl_.grouping_sets_.~RepeatedPtrField();
  _impl_.window_clause_.~RepeatedPtrField();
  _impl_.distinct_clause_.~RepeatedPtrField();
  _impl_.sort_clause_.~RepeatedPtrField();
  _impl_.row_marks_.~RepeatedPtrField();
  _impl_.constraint_deps_.~RepeatedPtrField();
  _impl_.with_check_options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.utility_stmt_;
  if (this != internal_default_instance()) delete _impl_.jointree_;
  if (this != internal_default_instance()) delete _impl_.on_conflict_;
  if (this != internal_default_instance()) delete _impl_.having_qual_;
  if (this != internal_default_instance()) delete _impl_.limit_offset_;
  if (this != internal_default_instance()) delete _impl_.limit_count_;
  if (this != internal_default_instance()) delete _impl_.set_operations_;
}

void Query::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.cte_list_.Clear();
  _impl_.rtable_.Clear();
  _impl_.merge_action_list_.Clear();
  _impl_.target_list_.Clear();
  _impl_.returning_list_.Clear();
  _impl_.group_clause_.Clear();
  _impl_.grouping_sets_.Clear();
  _impl_.window_clause_.Clear();
  _impl_.distinct_clause_.Clear();
  _impl_.sort_clause_.Clear();
  _impl_.row_marks_.Clear();
  _impl_.constraint_deps_.Clear();
  _impl_.with_check_options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.utility_stmt_ != nullptr) {
    delete _impl_.utility_stmt_;
  }
  _impl_.utility_stmt_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.jointree_ != nullptr) {
    delete _impl_.jointree_;
  }
  _impl_.jointree_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.on_conflict_ != nullptr) {
    delete _impl_.on_conflict_;
  }
  _impl_.on_conflict_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.having_qual_ != nullptr) {
    delete _impl_.having_qual_;
  }
  _impl_.having_qual_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.limit_offset_ != nullptr) {
    delete _impl_.limit_offset_;
  }
  _impl_.limit_offset_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.limit_count_ != nullptr) {
    delete _impl_.limit_count_;
  }
  _impl_.limit_count_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.set_operations_ != nullptr) {
    delete _impl_.set_operations_;
  }
  _impl_.set_operations_ = nullptr;
  ::memset(&_impl_.command_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.stmt_len_) -
      reinterpret_cast<char*>(&_impl_.command_type_)) + sizeof(_impl_.stmt_len_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Query::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.result_relation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool has_aggs = 6 [json_name = "hasAggs"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(tag) == 64)) {
          _impl_.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<uint8_t>(tag) == 72)) {
          _impl_.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<uint8_t>(tag) == 80)) {
          _impl_.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<uint8_t>(tag) == 88)) {
          _impl_.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<uint8_t>(tag) == 96)) {
          _impl_.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<uint8_t>(tag) == 104)) {
          _impl_.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<uint8_t>(tag) == 112)) {
          _impl_.has_row_security_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool is_return = 15 [json_name = "isReturn"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          _impl_.is_return_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_cte_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<130>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node rtable = 17 [json_name = "rtable"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
          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<138>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.FromExpr jointree = 18 [json_name = "jointree"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 146)) {
          ptr = ctx->ParseMessage(_internal_mutable_jointree(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node merge_action_list = 19 [json_name = "mergeActionList"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_merge_action_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<154>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool merge_use_outer_join = 20 [json_name = "mergeUseOuterJoin"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 160)) {
          _impl_.merge_use_outer_join_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node target_list = 21 [json_name = "targetList"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
          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<170>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.OverridingKind override = 22 [json_name = "override"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 176)) {
          uint64_t 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 = 23 [json_name = "onConflict"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_on_conflict(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node returning_list = 24 [json_name = "returningList"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 194)) {
          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<194>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node group_clause = 25 [json_name = "groupClause"];
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 202)) {
          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<202>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool group_distinct = 26 [json_name = "groupDistinct"];
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 208)) {
          _impl_.group_distinct_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node grouping_sets = 27 [json_name = "groupingSets"];
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 218)) {
          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<218>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node having_qual = 28 [json_name = "havingQual"];
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 226)) {
          ptr = ctx->ParseMessage(_internal_mutable_having_qual(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node window_clause = 29 [json_name = "windowClause"];
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 234)) {
          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<234>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node distinct_clause = 30 [json_name = "distinctClause"];
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 242)) {
          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<242>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node sort_clause = 31 [json_name = "sortClause"];
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 250)) {
          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<250>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node limit_offset = 32 [json_name = "limitOffset"];
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 2)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_offset(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node limit_count = 33 [json_name = "limitCount"];
      case 33:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_count(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.LimitOption limit_option = 34 [json_name = "limitOption"];
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t 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 = 35 [json_name = "rowMarks"];
      case 35:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          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<282>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node set_operations = 36 [json_name = "setOperations"];
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_set_operations(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node constraint_deps = 37 [json_name = "constraintDeps"];
      case 37:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          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<298>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node with_check_options = 38 [json_name = "withCheckOptions"];
      case 38:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          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<306>(ptr));
        } else
          goto handle_unusual;
        continue;
      // int32 stmt_location = 39 [json_name = "stmt_location"];
      case 39:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.stmt_location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 stmt_len = 40 [json_name = "stmt_len"];
      case 40:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.stmt_len_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_command_type(), target);
  }

  // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
  if (this->_internal_query_source() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_query_source(), target);
  }

  // bool can_set_tag = 3 [json_name = "canSetTag"];
  if (this->_internal_can_set_tag() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_can_set_tag(), target);
  }

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

  // int32 result_relation = 5 [json_name = "resultRelation"];
  if (this->_internal_result_relation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_result_relation(), target);
  }

  // bool has_aggs = 6 [json_name = "hasAggs"];
  if (this->_internal_has_aggs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_has_aggs(), target);
  }

  // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
  if (this->_internal_has_window_funcs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_has_window_funcs(), target);
  }

  // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
  if (this->_internal_has_target_srfs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_has_target_srfs(), target);
  }

  // bool has_sub_links = 9 [json_name = "hasSubLinks"];
  if (this->_internal_has_sub_links() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(9, this->_internal_has_sub_links(), target);
  }

  // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
  if (this->_internal_has_distinct_on() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(10, this->_internal_has_distinct_on(), target);
  }

  // bool has_recursive = 11 [json_name = "hasRecursive"];
  if (this->_internal_has_recursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(11, this->_internal_has_recursive(), target);
  }

  // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
  if (this->_internal_has_modifying_cte() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(12, this->_internal_has_modifying_cte(), target);
  }

  // bool has_for_update = 13 [json_name = "hasForUpdate"];
  if (this->_internal_has_for_update() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(13, this->_internal_has_for_update(), target);
  }

  // bool has_row_security = 14 [json_name = "hasRowSecurity"];
  if (this->_internal_has_row_security() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(14, this->_internal_has_row_security(), target);
  }

  // bool is_return = 15 [json_name = "isReturn"];
  if (this->_internal_is_return() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(15, this->_internal_is_return(), target);
  }

  // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cte_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_cte_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(16, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node rtable = 17 [json_name = "rtable"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_rtable_size()); i < n; i++) {
    const auto& repfield = this->_internal_rtable(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(17, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.FromExpr jointree = 18 [json_name = "jointree"];
  if (this->_internal_has_jointree()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(18, _Internal::jointree(this),
        _Internal::jointree(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node merge_action_list = 19 [json_name = "mergeActionList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_merge_action_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_merge_action_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(19, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool merge_use_outer_join = 20 [json_name = "mergeUseOuterJoin"];
  if (this->_internal_merge_use_outer_join() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(20, this->_internal_merge_use_outer_join(), target);
  }

  // repeated .pg_query.Node target_list = 21 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(21, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.OverridingKind override = 22 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      22, this->_internal_override(), target);
  }

  // .pg_query.OnConflictExpr on_conflict = 23 [json_name = "onConflict"];
  if (this->_internal_has_on_conflict()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(23, _Internal::on_conflict(this),
        _Internal::on_conflict(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node returning_list = 24 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(24, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node group_clause = 25 [json_name = "groupClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_group_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_group_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(25, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool group_distinct = 26 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(26, this->_internal_group_distinct(), target);
  }

  // repeated .pg_query.Node grouping_sets = 27 [json_name = "groupingSets"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_grouping_sets_size()); i < n; i++) {
    const auto& repfield = this->_internal_grouping_sets(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(27, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node having_qual = 28 [json_name = "havingQual"];
  if (this->_internal_has_having_qual()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(28, _Internal::having_qual(this),
        _Internal::having_qual(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node window_clause = 29 [json_name = "windowClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_window_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_window_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(29, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node distinct_clause = 30 [json_name = "distinctClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_distinct_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_distinct_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(30, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node sort_clause = 31 [json_name = "sortClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_sort_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_sort_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(31, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_offset = 32 [json_name = "limitOffset"];
  if (this->_internal_has_limit_offset()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(32, _Internal::limit_offset(this),
        _Internal::limit_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_count = 33 [json_name = "limitCount"];
  if (this->_internal_has_limit_count()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(33, _Internal::limit_count(this),
        _Internal::limit_count(this).GetCachedSize(), target, stream);
  }

  // .pg_query.LimitOption limit_option = 34 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      34, this->_internal_limit_option(), target);
  }

  // repeated .pg_query.Node row_marks = 35 [json_name = "rowMarks"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_row_marks_size()); i < n; i++) {
    const auto& repfield = this->_internal_row_marks(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(35, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node set_operations = 36 [json_name = "setOperations"];
  if (this->_internal_has_set_operations()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(36, _Internal::set_operations(this),
        _Internal::set_operations(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node constraint_deps = 37 [json_name = "constraintDeps"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraint_deps_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraint_deps(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(37, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node with_check_options = 38 [json_name = "withCheckOptions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_with_check_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_with_check_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(38, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 stmt_location = 39 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(39, this->_internal_stmt_location(), target);
  }

  // int32 stmt_len = 40 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(40, this->_internal_stmt_len(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"];
  total_size += 2UL * this->_internal_cte_list_size();
  for (const auto& msg : this->_impl_.cte_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node rtable = 17 [json_name = "rtable"];
  total_size += 2UL * this->_internal_rtable_size();
  for (const auto& msg : this->_impl_.rtable_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node merge_action_list = 19 [json_name = "mergeActionList"];
  total_size += 2UL * this->_internal_merge_action_list_size();
  for (const auto& msg : this->_impl_.merge_action_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node target_list = 21 [json_name = "targetList"];
  total_size += 2UL * this->_internal_target_list_size();
  for (const auto& msg : this->_impl_.target_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node returning_list = 24 [json_name = "returningList"];
  total_size += 2UL * this->_internal_returning_list_size();
  for (const auto& msg : this->_impl_.returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node group_clause = 25 [json_name = "groupClause"];
  total_size += 2UL * this->_internal_group_clause_size();
  for (const auto& msg : this->_impl_.group_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node grouping_sets = 27 [json_name = "groupingSets"];
  total_size += 2UL * this->_internal_grouping_sets_size();
  for (const auto& msg : this->_impl_.grouping_sets_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node window_clause = 29 [json_name = "windowClause"];
  total_size += 2UL * this->_internal_window_clause_size();
  for (const auto& msg : this->_impl_.window_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node distinct_clause = 30 [json_name = "distinctClause"];
  total_size += 2UL * this->_internal_distinct_clause_size();
  for (const auto& msg : this->_impl_.distinct_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node sort_clause = 31 [json_name = "sortClause"];
  total_size += 2UL * this->_internal_sort_clause_size();
  for (const auto& msg : this->_impl_.sort_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node row_marks = 35 [json_name = "rowMarks"];
  total_size += 2UL * this->_internal_row_marks_size();
  for (const auto& msg : this->_impl_.row_marks_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node constraint_deps = 37 [json_name = "constraintDeps"];
  total_size += 2UL * this->_internal_constraint_deps_size();
  for (const auto& msg : this->_impl_.constraint_deps_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node with_check_options = 38 [json_name = "withCheckOptions"];
  total_size += 2UL * this->_internal_with_check_options_size();
  for (const auto& msg : this->_impl_.with_check_options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
  if (this->_internal_has_utility_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.utility_stmt_);
  }

  // .pg_query.FromExpr jointree = 18 [json_name = "jointree"];
  if (this->_internal_has_jointree()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.jointree_);
  }

  // .pg_query.OnConflictExpr on_conflict = 23 [json_name = "onConflict"];
  if (this->_internal_has_on_conflict()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.on_conflict_);
  }

  // .pg_query.Node having_qual = 28 [json_name = "havingQual"];
  if (this->_internal_has_having_qual()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.having_qual_);
  }

  // .pg_query.Node limit_offset = 32 [json_name = "limitOffset"];
  if (this->_internal_has_limit_offset()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.limit_offset_);
  }

  // .pg_query.Node limit_count = 33 [json_name = "limitCount"];
  if (this->_internal_has_limit_count()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.limit_count_);
  }

  // .pg_query.Node set_operations = 36 [json_name = "setOperations"];
  if (this->_internal_has_set_operations()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.set_operations_);
  }

  // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_command_type());
  }

  // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
  if (this->_internal_query_source() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_query_source());
  }

  // int32 result_relation = 5 [json_name = "resultRelation"];
  if (this->_internal_result_relation() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_result_relation());
  }

  // bool can_set_tag = 3 [json_name = "canSetTag"];
  if (this->_internal_can_set_tag() != 0) {
    total_size += 1 + 1;
  }

  // bool has_aggs = 6 [json_name = "hasAggs"];
  if (this->_internal_has_aggs() != 0) {
    total_size += 1 + 1;
  }

  // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
  if (this->_internal_has_window_funcs() != 0) {
    total_size += 1 + 1;
  }

  // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
  if (this->_internal_has_target_srfs() != 0) {
    total_size += 1 + 1;
  }

  // bool has_sub_links = 9 [json_name = "hasSubLinks"];
  if (this->_internal_has_sub_links() != 0) {
    total_size += 1 + 1;
  }

  // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
  if (this->_internal_has_distinct_on() != 0) {
    total_size += 1 + 1;
  }

  // bool has_recursive = 11 [json_name = "hasRecursive"];
  if (this->_internal_has_recursive() != 0) {
    total_size += 1 + 1;
  }

  // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
  if (this->_internal_has_modifying_cte() != 0) {
    total_size += 1 + 1;
  }

  // bool has_for_update = 13 [json_name = "hasForUpdate"];
  if (this->_internal_has_for_update() != 0) {
    total_size += 1 + 1;
  }

  // bool has_row_security = 14 [json_name = "hasRowSecurity"];
  if (this->_internal_has_row_security() != 0) {
    total_size += 1 + 1;
  }

  // bool is_return = 15 [json_name = "isReturn"];
  if (this->_internal_is_return() != 0) {
    total_size += 1 + 1;
  }

  // bool merge_use_outer_join = 20 [json_name = "mergeUseOuterJoin"];
  if (this->_internal_merge_use_outer_join() != 0) {
    total_size += 2 + 1;
  }

  // .pg_query.OverridingKind override = 22 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  // bool group_distinct = 26 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    total_size += 2 + 1;
  }

  // .pg_query.LimitOption limit_option = 34 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_limit_option());
  }

  // int32 stmt_location = 39 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::Int32Size(
        this->_internal_stmt_location());
  }

  // int32 stmt_len = 40 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::Int32Size(
        this->_internal_stmt_len());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Query::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Query::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Query::GetClassData() const { return &_class_data_; }


void Query::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Query*>(&to_msg);
  auto& from = static_cast<const Query&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Query)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.cte_list_.MergeFrom(from._impl_.cte_list_);
  _this->_impl_.rtable_.MergeFrom(from._impl_.rtable_);
  _this->_impl_.merge_action_list_.MergeFrom(from._impl_.merge_action_list_);
  _this->_impl_.target_list_.MergeFrom(from._impl_.target_list_);
  _this->_impl_.returning_list_.MergeFrom(from._impl_.returning_list_);
  _this->_impl_.group_clause_.MergeFrom(from._impl_.group_clause_);
  _this->_impl_.grouping_sets_.MergeFrom(from._impl_.grouping_sets_);
  _this->_impl_.window_clause_.MergeFrom(from._impl_.window_clause_);
  _this->_impl_.distinct_clause_.MergeFrom(from._impl_.distinct_clause_);
  _this->_impl_.sort_clause_.MergeFrom(from._impl_.sort_clause_);
  _this->_impl_.row_marks_.MergeFrom(from._impl_.row_marks_);
  _this->_impl_.constraint_deps_.MergeFrom(from._impl_.constraint_deps_);
  _this->_impl_.with_check_options_.MergeFrom(from._impl_.with_check_options_);
  if (from._internal_has_utility_stmt()) {
    _this->_internal_mutable_utility_stmt()->::pg_query::Node::MergeFrom(
        from._internal_utility_stmt());
  }
  if (from._internal_has_jointree()) {
    _this->_internal_mutable_jointree()->::pg_query::FromExpr::MergeFrom(
        from._internal_jointree());
  }
  if (from._internal_has_on_conflict()) {
    _this->_internal_mutable_on_conflict()->::pg_query::OnConflictExpr::MergeFrom(
        from._internal_on_conflict());
  }
  if (from._internal_has_having_qual()) {
    _this->_internal_mutable_having_qual()->::pg_query::Node::MergeFrom(
        from._internal_having_qual());
  }
  if (from._internal_has_limit_offset()) {
    _this->_internal_mutable_limit_offset()->::pg_query::Node::MergeFrom(
        from._internal_limit_offset());
  }
  if (from._internal_has_limit_count()) {
    _this->_internal_mutable_limit_count()->::pg_query::Node::MergeFrom(
        from._internal_limit_count());
  }
  if (from._internal_has_set_operations()) {
    _this->_internal_mutable_set_operations()->::pg_query::Node::MergeFrom(
        from._internal_set_operations());
  }
  if (from._internal_command_type() != 0) {
    _this->_internal_set_command_type(from._internal_command_type());
  }
  if (from._internal_query_source() != 0) {
    _this->_internal_set_query_source(from._internal_query_source());
  }
  if (from._internal_result_relation() != 0) {
    _this->_internal_set_result_relation(from._internal_result_relation());
  }
  if (from._internal_can_set_tag() != 0) {
    _this->_internal_set_can_set_tag(from._internal_can_set_tag());
  }
  if (from._internal_has_aggs() != 0) {
    _this->_internal_set_has_aggs(from._internal_has_aggs());
  }
  if (from._internal_has_window_funcs() != 0) {
    _this->_internal_set_has_window_funcs(from._internal_has_window_funcs());
  }
  if (from._internal_has_target_srfs() != 0) {
    _this->_internal_set_has_target_srfs(from._internal_has_target_srfs());
  }
  if (from._internal_has_sub_links() != 0) {
    _this->_internal_set_has_sub_links(from._internal_has_sub_links());
  }
  if (from._internal_has_distinct_on() != 0) {
    _this->_internal_set_has_distinct_on(from._internal_has_distinct_on());
  }
  if (from._internal_has_recursive() != 0) {
    _this->_internal_set_has_recursive(from._internal_has_recursive());
  }
  if (from._internal_has_modifying_cte() != 0) {
    _this->_internal_set_has_modifying_cte(from._internal_has_modifying_cte());
  }
  if (from._internal_has_for_update() != 0) {
    _this->_internal_set_has_for_update(from._internal_has_for_update());
  }
  if (from._internal_has_row_security() != 0) {
    _this->_internal_set_has_row_security(from._internal_has_row_security());
  }
  if (from._internal_is_return() != 0) {
    _this->_internal_set_is_return(from._internal_is_return());
  }
  if (from._internal_merge_use_outer_join() != 0) {
    _this->_internal_set_merge_use_outer_join(from._internal_merge_use_outer_join());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  if (from._internal_group_distinct() != 0) {
    _this->_internal_set_group_distinct(from._internal_group_distinct());
  }
  if (from._internal_limit_option() != 0) {
    _this->_internal_set_limit_option(from._internal_limit_option());
  }
  if (from._internal_stmt_location() != 0) {
    _this->_internal_set_stmt_location(from._internal_stmt_location());
  }
  if (from._internal_stmt_len() != 0) {
    _this->_internal_set_stmt_len(from._internal_stmt_len());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.cte_list_.InternalSwap(&other->_impl_.cte_list_);
  _impl_.rtable_.InternalSwap(&other->_impl_.rtable_);
  _impl_.merge_action_list_.InternalSwap(&other->_impl_.merge_action_list_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  _impl_.group_clause_.InternalSwap(&other->_impl_.group_clause_);
  _impl_.grouping_sets_.InternalSwap(&other->_impl_.grouping_sets_);
  _impl_.window_clause_.InternalSwap(&other->_impl_.window_clause_);
  _impl_.distinct_clause_.InternalSwap(&other->_impl_.distinct_clause_);
  _impl_.sort_clause_.InternalSwap(&other->_impl_.sort_clause_);
  _impl_.row_marks_.InternalSwap(&other->_impl_.row_marks_);
  _impl_.constraint_deps_.InternalSwap(&other->_impl_.constraint_deps_);
  _impl_.with_check_options_.InternalSwap(&other->_impl_.with_check_options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Query, _impl_.stmt_len_)
      + sizeof(Query::_impl_.stmt_len_)
      - PROTOBUF_FIELD_OFFSET(Query, _impl_.utility_stmt_)>(
          reinterpret_cast<char*>(&_impl_.utility_stmt_),
          reinterpret_cast<char*>(&other->_impl_.utility_stmt_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Query::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[64]);
}

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

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->_impl_.relation_;
}
const ::pg_query::Node&
InsertStmt::_Internal::select_stmt(const InsertStmt* msg) {
  return *msg->_impl_.select_stmt_;
}
const ::pg_query::OnConflictClause&
InsertStmt::_Internal::on_conflict_clause(const InsertStmt* msg) {
  return *msg->_impl_.on_conflict_clause_;
}
const ::pg_query::WithClause&
InsertStmt::_Internal::with_clause(const InsertStmt* msg) {
  return *msg->_impl_.with_clause_;
}
InsertStmt::InsertStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.InsertStmt)
}
InsertStmt::InsertStmt(const InsertStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  InsertStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.cols_){from._impl_.cols_}
    , decltype(_impl_.returning_list_){from._impl_.returning_list_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.select_stmt_){nullptr}
    , decltype(_impl_.on_conflict_clause_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , decltype(_impl_.override_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_select_stmt()) {
    _this->_impl_.select_stmt_ = new ::pg_query::Node(*from._impl_.select_stmt_);
  }
  if (from._internal_has_on_conflict_clause()) {
    _this->_impl_.on_conflict_clause_ = new ::pg_query::OnConflictClause(*from._impl_.on_conflict_clause_);
  }
  if (from._internal_has_with_clause()) {
    _this->_impl_.with_clause_ = new ::pg_query::WithClause(*from._impl_.with_clause_);
  }
  _this->_impl_.override_ = from._impl_.override_;
  // @@protoc_insertion_point(copy_constructor:pg_query.InsertStmt)
}

inline void InsertStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.cols_){arena}
    , decltype(_impl_.returning_list_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.select_stmt_){nullptr}
    , decltype(_impl_.on_conflict_clause_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , decltype(_impl_.override_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

InsertStmt::~InsertStmt() {
  // @@protoc_insertion_point(destructor:pg_query.InsertStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void InsertStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cols_.~RepeatedPtrField();
  _impl_.returning_list_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.select_stmt_;
  if (this != internal_default_instance()) delete _impl_.on_conflict_clause_;
  if (this != internal_default_instance()) delete _impl_.with_clause_;
}

void InsertStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.cols_.Clear();
  _impl_.returning_list_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.select_stmt_ != nullptr) {
    delete _impl_.select_stmt_;
  }
  _impl_.select_stmt_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.on_conflict_clause_ != nullptr) {
    delete _impl_.on_conflict_clause_;
  }
  _impl_.on_conflict_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) {
    delete _impl_.with_clause_;
  }
  _impl_.with_clause_ = nullptr;
  _impl_.override_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InsertStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_override(static_cast<::pg_query::OverridingKind>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node cols = 2 [json_name = "cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_cols(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

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

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

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // .pg_query.OverridingKind override = 7 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      7, this->_internal_override(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
  if (this->_internal_has_select_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.select_stmt_);
  }

  // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
  if (this->_internal_has_on_conflict_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.on_conflict_clause_);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (this->_internal_has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.with_clause_);
  }

  // .pg_query.OverridingKind override = 7 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData InsertStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    InsertStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*InsertStmt::GetClassData() const { return &_class_data_; }


void InsertStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<InsertStmt*>(&to_msg);
  auto& from = static_cast<const InsertStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InsertStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.cols_.MergeFrom(from._impl_.cols_);
  _this->_impl_.returning_list_.MergeFrom(from._impl_.returning_list_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_select_stmt()) {
    _this->_internal_mutable_select_stmt()->::pg_query::Node::MergeFrom(
        from._internal_select_stmt());
  }
  if (from._internal_has_on_conflict_clause()) {
    _this->_internal_mutable_on_conflict_clause()->::pg_query::OnConflictClause::MergeFrom(
        from._internal_on_conflict_clause());
  }
  if (from._internal_has_with_clause()) {
    _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
        from._internal_with_clause());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.cols_.InternalSwap(&other->_impl_.cols_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.override_)
      + sizeof(InsertStmt::_impl_.override_)
      - PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InsertStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[65]);
}

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

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->_impl_.relation_;
}
const ::pg_query::Node&
DeleteStmt::_Internal::where_clause(const DeleteStmt* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::WithClause&
DeleteStmt::_Internal::with_clause(const DeleteStmt* msg) {
  return *msg->_impl_.with_clause_;
}
DeleteStmt::DeleteStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeleteStmt)
}
DeleteStmt::DeleteStmt(const DeleteStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DeleteStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.using_clause_){from._impl_.using_clause_}
    , decltype(_impl_.returning_list_){from._impl_.returning_list_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  if (from._internal_has_with_clause()) {
    _this->_impl_.with_clause_ = new ::pg_query::WithClause(*from._impl_.with_clause_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.DeleteStmt)
}

inline void DeleteStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.using_clause_){arena}
    , decltype(_impl_.returning_list_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DeleteStmt::~DeleteStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeleteStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeleteStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.using_clause_.~RepeatedPtrField();
  _impl_.returning_list_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
  if (this != internal_default_instance()) delete _impl_.with_clause_;
}

void DeleteStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.using_clause_.Clear();
  _impl_.returning_list_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) {
    delete _impl_.with_clause_;
  }
  _impl_.with_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DeleteStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_using_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_using_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
  if (this->_internal_has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.with_clause_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DeleteStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DeleteStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DeleteStmt::GetClassData() const { return &_class_data_; }


void DeleteStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DeleteStmt*>(&to_msg);
  auto& from = static_cast<const DeleteStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeleteStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.using_clause_.MergeFrom(from._impl_.using_clause_);
  _this->_impl_.returning_list_.MergeFrom(from._impl_.returning_list_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_has_with_clause()) {
    _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
        from._internal_with_clause());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.using_clause_.InternalSwap(&other->_impl_.using_clause_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.with_clause_)
      + sizeof(DeleteStmt::_impl_.with_clause_)
      - PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DeleteStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[66]);
}

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

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->_impl_.relation_;
}
const ::pg_query::Node&
UpdateStmt::_Internal::where_clause(const UpdateStmt* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::WithClause&
UpdateStmt::_Internal::with_clause(const UpdateStmt* msg) {
  return *msg->_impl_.with_clause_;
}
UpdateStmt::UpdateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.UpdateStmt)
}
UpdateStmt::UpdateStmt(const UpdateStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  UpdateStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){from._impl_.target_list_}
    , decltype(_impl_.from_clause_){from._impl_.from_clause_}
    , decltype(_impl_.returning_list_){from._impl_.returning_list_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  if (from._internal_has_with_clause()) {
    _this->_impl_.with_clause_ = new ::pg_query::WithClause(*from._impl_.with_clause_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.UpdateStmt)
}

inline void UpdateStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){arena}
    , decltype(_impl_.from_clause_){arena}
    , decltype(_impl_.returning_list_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

UpdateStmt::~UpdateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.UpdateStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void UpdateStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.target_list_.~RepeatedPtrField();
  _impl_.from_clause_.~RepeatedPtrField();
  _impl_.returning_list_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
  if (this != internal_default_instance()) delete _impl_.with_clause_;
}

void UpdateStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.target_list_.Clear();
  _impl_.from_clause_.Clear();
  _impl_.returning_list_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) {
    delete _impl_.with_clause_;
  }
  _impl_.with_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* UpdateStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 2 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_from_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_from_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.returning_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (this->_internal_has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.with_clause_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UpdateStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    UpdateStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UpdateStmt::GetClassData() const { return &_class_data_; }


void UpdateStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<UpdateStmt*>(&to_msg);
  auto& from = static_cast<const UpdateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.UpdateStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.target_list_.MergeFrom(from._impl_.target_list_);
  _this->_impl_.from_clause_.MergeFrom(from._impl_.from_clause_);
  _this->_impl_.returning_list_.MergeFrom(from._impl_.returning_list_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_has_with_clause()) {
    _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
        from._internal_with_clause());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.from_clause_.InternalSwap(&other->_impl_.from_clause_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.with_clause_)
      + sizeof(UpdateStmt::_impl_.with_clause_)
      - PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata UpdateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[67]);
}

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

class MergeStmt::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const MergeStmt* msg);
  static const ::pg_query::Node& source_relation(const MergeStmt* msg);
  static const ::pg_query::Node& join_condition(const MergeStmt* msg);
  static const ::pg_query::WithClause& with_clause(const MergeStmt* msg);
};

const ::pg_query::RangeVar&
MergeStmt::_Internal::relation(const MergeStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node&
MergeStmt::_Internal::source_relation(const MergeStmt* msg) {
  return *msg->_impl_.source_relation_;
}
const ::pg_query::Node&
MergeStmt::_Internal::join_condition(const MergeStmt* msg) {
  return *msg->_impl_.join_condition_;
}
const ::pg_query::WithClause&
MergeStmt::_Internal::with_clause(const MergeStmt* msg) {
  return *msg->_impl_.with_clause_;
}
MergeStmt::MergeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.MergeStmt)
}
MergeStmt::MergeStmt(const MergeStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  MergeStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.merge_when_clauses_){from._impl_.merge_when_clauses_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.source_relation_){nullptr}
    , decltype(_impl_.join_condition_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_source_relation()) {
    _this->_impl_.source_relation_ = new ::pg_query::Node(*from._impl_.source_relation_);
  }
  if (from._internal_has_join_condition()) {
    _this->_impl_.join_condition_ = new ::pg_query::Node(*from._impl_.join_condition_);
  }
  if (from._internal_has_with_clause()) {
    _this->_impl_.with_clause_ = new ::pg_query::WithClause(*from._impl_.with_clause_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.MergeStmt)
}

inline void MergeStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.merge_when_clauses_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.source_relation_){nullptr}
    , decltype(_impl_.join_condition_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

MergeStmt::~MergeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.MergeStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void MergeStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.merge_when_clauses_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.source_relation_;
  if (this != internal_default_instance()) delete _impl_.join_condition_;
  if (this != internal_default_instance()) delete _impl_.with_clause_;
}

void MergeStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.merge_when_clauses_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.source_relation_ != nullptr) {
    delete _impl_.source_relation_;
  }
  _impl_.source_relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.join_condition_ != nullptr) {
    delete _impl_.join_condition_;
  }
  _impl_.join_condition_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) {
    delete _impl_.with_clause_;
  }
  _impl_.with_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* MergeStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_source_relation(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node join_condition = 3 [json_name = "joinCondition"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_join_condition(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_merge_when_clauses(), 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<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"];
  if (this->_internal_has_source_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::source_relation(this),
        _Internal::source_relation(this).GetCachedSize(), target, stream);
  }

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

  // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_merge_when_clauses_size()); i < n; i++) {
    const auto& repfield = this->_internal_merge_when_clauses(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.MergeStmt)
  return target;
}

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

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"];
  total_size += 1UL * this->_internal_merge_when_clauses_size();
  for (const auto& msg : this->_impl_.merge_when_clauses_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"];
  if (this->_internal_has_source_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.source_relation_);
  }

  // .pg_query.Node join_condition = 3 [json_name = "joinCondition"];
  if (this->_internal_has_join_condition()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.join_condition_);
  }

  // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
  if (this->_internal_has_with_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.with_clause_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MergeStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    MergeStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MergeStmt::GetClassData() const { return &_class_data_; }


void MergeStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<MergeStmt*>(&to_msg);
  auto& from = static_cast<const MergeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MergeStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.merge_when_clauses_.MergeFrom(from._impl_.merge_when_clauses_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_source_relation()) {
    _this->_internal_mutable_source_relation()->::pg_query::Node::MergeFrom(
        from._internal_source_relation());
  }
  if (from._internal_has_join_condition()) {
    _this->_internal_mutable_join_condition()->::pg_query::Node::MergeFrom(
        from._internal_join_condition());
  }
  if (from._internal_has_with_clause()) {
    _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
        from._internal_with_clause());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void MergeStmt::InternalSwap(MergeStmt* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.merge_when_clauses_.InternalSwap(&other->_impl_.merge_when_clauses_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.with_clause_)
      + sizeof(MergeStmt::_impl_.with_clause_)
      - PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata MergeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[68]);
}

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

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->_impl_.into_clause_;
}
const ::pg_query::Node&
SelectStmt::_Internal::where_clause(const SelectStmt* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::Node&
SelectStmt::_Internal::having_clause(const SelectStmt* msg) {
  return *msg->_impl_.having_clause_;
}
const ::pg_query::Node&
SelectStmt::_Internal::limit_offset(const SelectStmt* msg) {
  return *msg->_impl_.limit_offset_;
}
const ::pg_query::Node&
SelectStmt::_Internal::limit_count(const SelectStmt* msg) {
  return *msg->_impl_.limit_count_;
}
const ::pg_query::WithClause&
SelectStmt::_Internal::with_clause(const SelectStmt* msg) {
  return *msg->_impl_.with_clause_;
}
const ::pg_query::SelectStmt&
SelectStmt::_Internal::larg(const SelectStmt* msg) {
  return *msg->_impl_.larg_;
}
const ::pg_query::SelectStmt&
SelectStmt::_Internal::rarg(const SelectStmt* msg) {
  return *msg->_impl_.rarg_;
}
SelectStmt::SelectStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SelectStmt)
}
SelectStmt::SelectStmt(const SelectStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SelectStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.distinct_clause_){from._impl_.distinct_clause_}
    , decltype(_impl_.target_list_){from._impl_.target_list_}
    , decltype(_impl_.from_clause_){from._impl_.from_clause_}
    , decltype(_impl_.group_clause_){from._impl_.group_clause_}
    , decltype(_impl_.window_clause_){from._impl_.window_clause_}
    , decltype(_impl_.values_lists_){from._impl_.values_lists_}
    , decltype(_impl_.sort_clause_){from._impl_.sort_clause_}
    , decltype(_impl_.locking_clause_){from._impl_.locking_clause_}
    , decltype(_impl_.into_clause_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.having_clause_){nullptr}
    , decltype(_impl_.limit_offset_){nullptr}
    , decltype(_impl_.limit_count_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , decltype(_impl_.larg_){nullptr}
    , decltype(_impl_.rarg_){nullptr}
    , decltype(_impl_.group_distinct_){}
    , decltype(_impl_.all_){}
    , decltype(_impl_.limit_option_){}
    , decltype(_impl_.op_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_into_clause()) {
    _this->_impl_.into_clause_ = new ::pg_query::IntoClause(*from._impl_.into_clause_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  if (from._internal_has_having_clause()) {
    _this->_impl_.having_clause_ = new ::pg_query::Node(*from._impl_.having_clause_);
  }
  if (from._internal_has_limit_offset()) {
    _this->_impl_.limit_offset_ = new ::pg_query::Node(*from._impl_.limit_offset_);
  }
  if (from._internal_has_limit_count()) {
    _this->_impl_.limit_count_ = new ::pg_query::Node(*from._impl_.limit_count_);
  }
  if (from._internal_has_with_clause()) {
    _this->_impl_.with_clause_ = new ::pg_query::WithClause(*from._impl_.with_clause_);
  }
  if (from._internal_has_larg()) {
    _this->_impl_.larg_ = new ::pg_query::SelectStmt(*from._impl_.larg_);
  }
  if (from._internal_has_rarg()) {
    _this->_impl_.rarg_ = new ::pg_query::SelectStmt(*from._impl_.rarg_);
  }
  ::memcpy(&_impl_.group_distinct_, &from._impl_.group_distinct_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.op_) -
    reinterpret_cast<char*>(&_impl_.group_distinct_)) + sizeof(_impl_.op_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SelectStmt)
}

inline void SelectStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.distinct_clause_){arena}
    , decltype(_impl_.target_list_){arena}
    , decltype(_impl_.from_clause_){arena}
    , decltype(_impl_.group_clause_){arena}
    , decltype(_impl_.window_clause_){arena}
    , decltype(_impl_.values_lists_){arena}
    , decltype(_impl_.sort_clause_){arena}
    , decltype(_impl_.locking_clause_){arena}
    , decltype(_impl_.into_clause_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.having_clause_){nullptr}
    , decltype(_impl_.limit_offset_){nullptr}
    , decltype(_impl_.limit_count_){nullptr}
    , decltype(_impl_.with_clause_){nullptr}
    , decltype(_impl_.larg_){nullptr}
    , decltype(_impl_.rarg_){nullptr}
    , decltype(_impl_.group_distinct_){false}
    , decltype(_impl_.all_){false}
    , decltype(_impl_.limit_option_){0}
    , decltype(_impl_.op_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SelectStmt::~SelectStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SelectStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SelectStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.distinct_clause_.~RepeatedPtrField();
  _impl_.target_list_.~RepeatedPtrField();
  _impl_.from_clause_.~RepeatedPtrField();
  _impl_.group_clause_.~RepeatedPtrField();
  _impl_.window_clause_.~RepeatedPtrField();
  _impl_.values_lists_.~RepeatedPtrField();
  _impl_.sort_clause_.~RepeatedPtrField();
  _impl_.locking_clause_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.into_clause_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
  if (this != internal_default_instance()) delete _impl_.having_clause_;
  if (this != internal_default_instance()) delete _impl_.limit_offset_;
  if (this != internal_default_instance()) delete _impl_.limit_count_;
  if (this != internal_default_instance()) delete _impl_.with_clause_;
  if (this != internal_default_instance()) delete _impl_.larg_;
  if (this != internal_default_instance()) delete _impl_.rarg_;
}

void SelectStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.distinct_clause_.Clear();
  _impl_.target_list_.Clear();
  _impl_.from_clause_.Clear();
  _impl_.group_clause_.Clear();
  _impl_.window_clause_.Clear();
  _impl_.values_lists_.Clear();
  _impl_.sort_clause_.Clear();
  _impl_.locking_clause_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.into_clause_ != nullptr) {
    delete _impl_.into_clause_;
  }
  _impl_.into_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.having_clause_ != nullptr) {
    delete _impl_.having_clause_;
  }
  _impl_.having_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.limit_offset_ != nullptr) {
    delete _impl_.limit_offset_;
  }
  _impl_.limit_offset_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.limit_count_ != nullptr) {
    delete _impl_.limit_count_;
  }
  _impl_.limit_count_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) {
    delete _impl_.with_clause_;
  }
  _impl_.with_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.larg_ != nullptr) {
    delete _impl_.larg_;
  }
  _impl_.larg_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.rarg_ != nullptr) {
    delete _impl_.rarg_;
  }
  _impl_.rarg_ = nullptr;
  ::memset(&_impl_.group_distinct_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.op_) -
      reinterpret_cast<char*>(&_impl_.group_distinct_)) + sizeof(_impl_.op_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SelectStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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;
      // bool group_distinct = 7 [json_name = "groupDistinct"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.group_distinct_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node having_clause = 8 [json_name = "havingClause"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_having_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          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<74>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          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<82>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          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<90>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_offset(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node limit_count = 13 [json_name = "limitCount"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_limit_count(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
          uint64_t 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 = 15 [json_name = "lockingClause"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 122)) {
          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<122>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.WithClause with_clause = 16 [json_name = "withClause"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.SetOperation op = 17 [json_name = "op"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 136)) {
          uint64_t 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 = 18 [json_name = "all"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          _impl_.all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.SelectStmt larg = 19 [json_name = "larg"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_larg(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_rarg(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_distinct_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_distinct_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_from_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_from_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_group_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_group_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool group_distinct = 7 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_group_distinct(), target);
  }

  // .pg_query.Node having_clause = 8 [json_name = "havingClause"];
  if (this->_internal_has_having_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, _Internal::having_clause(this),
        _Internal::having_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_window_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_window_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_values_lists_size()); i < n; i++) {
    const auto& repfield = this->_internal_values_lists(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_sort_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_sort_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"];
  if (this->_internal_has_limit_offset()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(12, _Internal::limit_offset(this),
        _Internal::limit_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_count = 13 [json_name = "limitCount"];
  if (this->_internal_has_limit_count()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(13, _Internal::limit_count(this),
        _Internal::limit_count(this).GetCachedSize(), target, stream);
  }

  // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      14, this->_internal_limit_option(), target);
  }

  // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_locking_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_locking_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(15, repfield, repfield.GetCachedSize(), target, stream);
  }

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

  // .pg_query.SetOperation op = 17 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      17, this->_internal_op(), target);
  }

  // bool all = 18 [json_name = "all"];
  if (this->_internal_all() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(18, this->_internal_all(), target);
  }

  // .pg_query.SelectStmt larg = 19 [json_name = "larg"];
  if (this->_internal_has_larg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(19, _Internal::larg(this),
        _Internal::larg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"];
  if (this->_internal_has_rarg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(20, _Internal::rarg(this),
        _Internal::rarg(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.group_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

  // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"];
  total_size += 1UL * this->_internal_sort_clause_size();
  for (const auto& msg : this->_impl_.sort_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"];
  total_size += 1UL * this->_internal_locking_clause_size();
  for (const auto& msg : this->_impl_.locking_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
  if (this->_internal_has_into_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.into_clause_);
  }

  // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // .pg_query.Node having_clause = 8 [json_name = "havingClause"];
  if (this->_internal_has_having_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.having_clause_);
  }

  // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"];
  if (this->_internal_has_limit_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.limit_offset_);
  }

  // .pg_query.Node limit_count = 13 [json_name = "limitCount"];
  if (this->_internal_has_limit_count()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.limit_count_);
  }

  // .pg_query.WithClause with_clause = 16 [json_name = "withClause"];
  if (this->_internal_has_with_clause()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.with_clause_);
  }

  // .pg_query.SelectStmt larg = 19 [json_name = "larg"];
  if (this->_internal_has_larg()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.larg_);
  }

  // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"];
  if (this->_internal_has_rarg()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.rarg_);
  }

  // bool group_distinct = 7 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    total_size += 1 + 1;
  }

  // bool all = 18 [json_name = "all"];
  if (this->_internal_all() != 0) {
    total_size += 2 + 1;
  }

  // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_limit_option());
  }

  // .pg_query.SetOperation op = 17 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SelectStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SelectStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SelectStmt::GetClassData() const { return &_class_data_; }


void SelectStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SelectStmt*>(&to_msg);
  auto& from = static_cast<const SelectStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SelectStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.distinct_clause_.MergeFrom(from._impl_.distinct_clause_);
  _this->_impl_.target_list_.MergeFrom(from._impl_.target_list_);
  _this->_impl_.from_clause_.MergeFrom(from._impl_.from_clause_);
  _this->_impl_.group_clause_.MergeFrom(from._impl_.group_clause_);
  _this->_impl_.window_clause_.MergeFrom(from._impl_.window_clause_);
  _this->_impl_.values_lists_.MergeFrom(from._impl_.values_lists_);
  _this->_impl_.sort_clause_.MergeFrom(from._impl_.sort_clause_);
  _this->_impl_.locking_clause_.MergeFrom(from._impl_.locking_clause_);
  if (from._internal_has_into_clause()) {
    _this->_internal_mutable_into_clause()->::pg_query::IntoClause::MergeFrom(
        from._internal_into_clause());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_has_having_clause()) {
    _this->_internal_mutable_having_clause()->::pg_query::Node::MergeFrom(
        from._internal_having_clause());
  }
  if (from._internal_has_limit_offset()) {
    _this->_internal_mutable_limit_offset()->::pg_query::Node::MergeFrom(
        from._internal_limit_offset());
  }
  if (from._internal_has_limit_count()) {
    _this->_internal_mutable_limit_count()->::pg_query::Node::MergeFrom(
        from._internal_limit_count());
  }
  if (from._internal_has_with_clause()) {
    _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
        from._internal_with_clause());
  }
  if (from._internal_has_larg()) {
    _this->_internal_mutable_larg()->::pg_query::SelectStmt::MergeFrom(
        from._internal_larg());
  }
  if (from._internal_has_rarg()) {
    _this->_internal_mutable_rarg()->::pg_query::SelectStmt::MergeFrom(
        from._internal_rarg());
  }
  if (from._internal_group_distinct() != 0) {
    _this->_internal_set_group_distinct(from._internal_group_distinct());
  }
  if (from._internal_all() != 0) {
    _this->_internal_set_all(from._internal_all());
  }
  if (from._internal_limit_option() != 0) {
    _this->_internal_set_limit_option(from._internal_limit_option());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.distinct_clause_.InternalSwap(&other->_impl_.distinct_clause_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.from_clause_.InternalSwap(&other->_impl_.from_clause_);
  _impl_.group_clause_.InternalSwap(&other->_impl_.group_clause_);
  _impl_.window_clause_.InternalSwap(&other->_impl_.window_clause_);
  _impl_.values_lists_.InternalSwap(&other->_impl_.values_lists_);
  _impl_.sort_clause_.InternalSwap(&other->_impl_.sort_clause_);
  _impl_.locking_clause_.InternalSwap(&other->_impl_.locking_clause_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.op_)
      + sizeof(SelectStmt::_impl_.op_)
      - PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.into_clause_)>(
          reinterpret_cast<char*>(&_impl_.into_clause_),
          reinterpret_cast<char*>(&other->_impl_.into_clause_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SelectStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[69]);
}

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

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

const ::pg_query::Node&
ReturnStmt::_Internal::returnval(const ReturnStmt* msg) {
  return *msg->_impl_.returnval_;
}
ReturnStmt::ReturnStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReturnStmt)
}
ReturnStmt::ReturnStmt(const ReturnStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ReturnStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.returnval_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_returnval()) {
    _this->_impl_.returnval_ = new ::pg_query::Node(*from._impl_.returnval_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ReturnStmt)
}

inline void ReturnStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.returnval_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ReturnStmt::~ReturnStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReturnStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ReturnStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.returnval_;
}

void ReturnStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  if (GetArenaForAllocation() == nullptr && _impl_.returnval_ != nullptr) {
    delete _impl_.returnval_;
  }
  _impl_.returnval_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ReturnStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node returnval = 1 [json_name = "returnval"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_returnval(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.ReturnStmt)
  return target;
}

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

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .pg_query.Node returnval = 1 [json_name = "returnval"];
  if (this->_internal_has_returnval()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.returnval_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReturnStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ReturnStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReturnStmt::GetClassData() const { return &_class_data_; }


void ReturnStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ReturnStmt*>(&to_msg);
  auto& from = static_cast<const ReturnStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReturnStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_returnval()) {
    _this->_internal_mutable_returnval()->::pg_query::Node::MergeFrom(
        from._internal_returnval());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void ReturnStmt::InternalSwap(ReturnStmt* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.returnval_, other->_impl_.returnval_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ReturnStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[70]);
}

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

class PLAssignStmt::_Internal {
 public:
  static const ::pg_query::SelectStmt& val(const PLAssignStmt* msg);
};

const ::pg_query::SelectStmt&
PLAssignStmt::_Internal::val(const PLAssignStmt* msg) {
  return *msg->_impl_.val_;
}
PLAssignStmt::PLAssignStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PLAssignStmt)
}
PLAssignStmt::PLAssignStmt(const PLAssignStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PLAssignStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.indirection_){from._impl_.indirection_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.val_){nullptr}
    , decltype(_impl_.nnames_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_val()) {
    _this->_impl_.val_ = new ::pg_query::SelectStmt(*from._impl_.val_);
  }
  ::memcpy(&_impl_.nnames_, &from._impl_.nnames_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.nnames_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.PLAssignStmt)
}

inline void PLAssignStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.indirection_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.val_){nullptr}
    , decltype(_impl_.nnames_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PLAssignStmt::~PLAssignStmt() {
  // @@protoc_insertion_point(destructor:pg_query.PLAssignStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PLAssignStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.indirection_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.val_;
}

void PLAssignStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.indirection_.Clear();
  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.val_ != nullptr) {
    delete _impl_.val_;
  }
  _impl_.val_ = nullptr;
  ::memset(&_impl_.nnames_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.nnames_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PLAssignStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.PLAssignStmt.name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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;
      // int32 nnames = 3 [json_name = "nnames"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.nnames_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.SelectStmt val = 4 [json_name = "val"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_val(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 5 [json_name = "location"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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.PLAssignStmt.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_indirection_size()); i < n; i++) {
    const auto& repfield = this->_internal_indirection(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 nnames = 3 [json_name = "nnames"];
  if (this->_internal_nnames() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_nnames(), target);
  }

  // .pg_query.SelectStmt val = 4 [json_name = "val"];
  if (this->_internal_has_val()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::val(this),
        _Internal::val(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.PLAssignStmt)
  return target;
}

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

  uint32_t 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->_impl_.indirection_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.SelectStmt val = 4 [json_name = "val"];
  if (this->_internal_has_val()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.val_);
  }

  // int32 nnames = 3 [json_name = "nnames"];
  if (this->_internal_nnames() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_nnames());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PLAssignStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PLAssignStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PLAssignStmt::GetClassData() const { return &_class_data_; }


void PLAssignStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PLAssignStmt*>(&to_msg);
  auto& from = static_cast<const PLAssignStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PLAssignStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.indirection_.MergeFrom(from._impl_.indirection_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_val()) {
    _this->_internal_mutable_val()->::pg_query::SelectStmt::MergeFrom(
        from._internal_val());
  }
  if (from._internal_nnames() != 0) {
    _this->_internal_set_nnames(from._internal_nnames());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void PLAssignStmt::InternalSwap(PLAssignStmt* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.indirection_.InternalSwap(&other->_impl_.indirection_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.location_)
      + sizeof(PLAssignStmt::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.val_)>(
          reinterpret_cast<char*>(&_impl_.val_),
          reinterpret_cast<char*>(&other->_impl_.val_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PLAssignStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[71]);
}

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

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->_impl_.relation_;
}
AlterTableStmt::AlterTableStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableStmt)
}
AlterTableStmt::AlterTableStmt(const AlterTableStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterTableStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.cmds_){from._impl_.cmds_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.objtype_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  ::memcpy(&_impl_.objtype_, &from._impl_.objtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.missing_ok_) -
    reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableStmt)
}

inline void AlterTableStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.cmds_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.objtype_){0}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterTableStmt::~AlterTableStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterTableStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cmds_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
}

void AlterTableStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.cmds_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  ::memset(&_impl_.objtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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 objtype = 3 [json_name = "objtype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_objtype(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<uint8_t>(tag) == 32)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node cmds = 2 [json_name = "cmds"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cmds_size()); i < n; i++) {
    const auto& repfield = this->_internal_cmds(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_objtype(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.cmds_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterTableStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterTableStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterTableStmt::GetClassData() const { return &_class_data_; }


void AlterTableStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterTableStmt*>(&to_msg);
  auto& from = static_cast<const AlterTableStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.cmds_.MergeFrom(from._impl_.cmds_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.cmds_.InternalSwap(&other->_impl_.cmds_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.missing_ok_)
      + sizeof(AlterTableStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[72]);
}

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

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->_impl_.newowner_;
}
const ::pg_query::Node&
AlterTableCmd::_Internal::def(const AlterTableCmd* msg) {
  return *msg->_impl_.def_;
}
AlterTableCmd::AlterTableCmd(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableCmd)
}
AlterTableCmd::AlterTableCmd(const AlterTableCmd& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterTableCmd* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.newowner_){nullptr}
    , decltype(_impl_.def_){nullptr}
    , decltype(_impl_.subtype_){}
    , decltype(_impl_.num_){}
    , decltype(_impl_.behavior_){}
    , decltype(_impl_.missing_ok_){}
    , decltype(_impl_.recurse_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_newowner()) {
    _this->_impl_.newowner_ = new ::pg_query::RoleSpec(*from._impl_.newowner_);
  }
  if (from._internal_has_def()) {
    _this->_impl_.def_ = new ::pg_query::Node(*from._impl_.def_);
  }
  ::memcpy(&_impl_.subtype_, &from._impl_.subtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.recurse_) -
    reinterpret_cast<char*>(&_impl_.subtype_)) + sizeof(_impl_.recurse_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableCmd)
}

inline void AlterTableCmd::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.newowner_){nullptr}
    , decltype(_impl_.def_){nullptr}
    , decltype(_impl_.subtype_){0}
    , decltype(_impl_.num_){0}
    , decltype(_impl_.behavior_){0}
    , decltype(_impl_.missing_ok_){false}
    , decltype(_impl_.recurse_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterTableCmd::~AlterTableCmd() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableCmd)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterTableCmd::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.newowner_;
  if (this != internal_default_instance()) delete _impl_.def_;
}

void AlterTableCmd::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.newowner_ != nullptr) {
    delete _impl_.newowner_;
  }
  _impl_.newowner_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.def_ != nullptr) {
    delete _impl_.def_;
  }
  _impl_.def_ = nullptr;
  ::memset(&_impl_.subtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.recurse_) -
      reinterpret_cast<char*>(&_impl_.subtype_)) + sizeof(_impl_.recurse_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableCmd::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterTableCmd.name"));
        } else
          goto handle_unusual;
        continue;
      // int32 num = 3 [json_name = "num"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.num_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 48)) {
          uint64_t 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<uint8_t>(tag) == 56)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool recurse = 8 [json_name = "recurse"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.recurse_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
  if (this->_internal_subtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_subtype(), target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_num() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_num(), target);
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->_internal_has_newowner()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::newowner(this),
        _Internal::newowner(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node def = 5 [json_name = "def"];
  if (this->_internal_has_def()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::def(this),
        _Internal::def(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      6, this->_internal_behavior(), target);
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_missing_ok(), target);
  }

  // bool recurse = 8 [json_name = "recurse"];
  if (this->_internal_recurse() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_recurse(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->_internal_has_newowner()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.newowner_);
  }

  // .pg_query.Node def = 5 [json_name = "def"];
  if (this->_internal_has_def()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.def_);
  }

  // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
  if (this->_internal_subtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_subtype());
  }

  // int32 num = 3 [json_name = "num"];
  if (this->_internal_num() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_num());
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterTableCmd::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterTableCmd::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterTableCmd::GetClassData() const { return &_class_data_; }


void AlterTableCmd::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterTableCmd*>(&to_msg);
  auto& from = static_cast<const AlterTableCmd&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableCmd)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_newowner()) {
    _this->_internal_mutable_newowner()->::pg_query::RoleSpec::MergeFrom(
        from._internal_newowner());
  }
  if (from._internal_has_def()) {
    _this->_internal_mutable_def()->::pg_query::Node::MergeFrom(
        from._internal_def());
  }
  if (from._internal_subtype() != 0) {
    _this->_internal_set_subtype(from._internal_subtype());
  }
  if (from._internal_num() != 0) {
    _this->_internal_set_num(from._internal_num());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from._internal_recurse() != 0) {
    _this->_internal_set_recurse(from._internal_recurse());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.recurse_)
      + sizeof(AlterTableCmd::_impl_.recurse_)
      - PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.newowner_)>(
          reinterpret_cast<char*>(&_impl_.newowner_),
          reinterpret_cast<char*>(&other->_impl_.newowner_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableCmd::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[73]);
}

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

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->_impl_.def_;
}
AlterDomainStmt::AlterDomainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDomainStmt)
}
AlterDomainStmt::AlterDomainStmt(const AlterDomainStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterDomainStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){from._impl_.type_name_}
    , decltype(_impl_.subtype_){}
    , decltype(_impl_.name_){}
    , decltype(_impl_.def_){nullptr}
    , decltype(_impl_.behavior_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.subtype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subtype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_subtype().empty()) {
    _this->_impl_.subtype_.Set(from._internal_subtype(), 
      _this->GetArenaForAllocation());
  }
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_def()) {
    _this->_impl_.def_ = new ::pg_query::Node(*from._impl_.def_);
  }
  ::memcpy(&_impl_.behavior_, &from._impl_.behavior_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.missing_ok_) -
    reinterpret_cast<char*>(&_impl_.behavior_)) + sizeof(_impl_.missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDomainStmt)
}

inline void AlterDomainStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){arena}
    , decltype(_impl_.subtype_){}
    , decltype(_impl_.name_){}
    , decltype(_impl_.def_){nullptr}
    , decltype(_impl_.behavior_){0}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.subtype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subtype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterDomainStmt::~AlterDomainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDomainStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterDomainStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.type_name_.~RepeatedPtrField();
  _impl_.subtype_.Destroy();
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.def_;
}

void AlterDomainStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.type_name_.Clear();
  _impl_.subtype_.ClearToEmpty();
  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.def_ != nullptr) {
    delete _impl_.def_;
  }
  _impl_.def_ = nullptr;
  ::memset(&_impl_.behavior_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.behavior_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDomainStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string subtype = 1 [json_name = "subtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_subtype();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterDomainStmt.subtype"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterDomainStmt.name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node def = 4 [json_name = "def"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 40)) {
          uint64_t 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<uint8_t>(tag) == 48)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string subtype = 1 [json_name = "subtype"];
  if (!this->_internal_subtype().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_has_def()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::def(this),
        _Internal::def(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      5, this->_internal_behavior(), target);
  }

  // bool missing_ok = 6 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.type_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string subtype = 1 [json_name = "subtype"];
  if (!this->_internal_subtype().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subtype());
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

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

  // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterDomainStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterDomainStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterDomainStmt::GetClassData() const { return &_class_data_; }


void AlterDomainStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterDomainStmt*>(&to_msg);
  auto& from = static_cast<const AlterDomainStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDomainStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.type_name_.MergeFrom(from._impl_.type_name_);
  if (!from._internal_subtype().empty()) {
    _this->_internal_set_subtype(from._internal_subtype());
  }
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_def()) {
    _this->_internal_mutable_def()->::pg_query::Node::MergeFrom(
        from._internal_def());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.subtype_, lhs_arena,
      &other->_impl_.subtype_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.missing_ok_)
      + sizeof(AlterDomainStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.def_)>(
          reinterpret_cast<char*>(&_impl_.def_),
          reinterpret_cast<char*>(&other->_impl_.def_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDomainStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[74]);
}

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

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->_impl_.larg_;
}
const ::pg_query::Node&
SetOperationStmt::_Internal::rarg(const SetOperationStmt* msg) {
  return *msg->_impl_.rarg_;
}
SetOperationStmt::SetOperationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SetOperationStmt)
}
SetOperationStmt::SetOperationStmt(const SetOperationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SetOperationStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.col_types_){from._impl_.col_types_}
    , decltype(_impl_.col_typmods_){from._impl_.col_typmods_}
    , decltype(_impl_.col_collations_){from._impl_.col_collations_}
    , decltype(_impl_.group_clauses_){from._impl_.group_clauses_}
    , decltype(_impl_.larg_){nullptr}
    , decltype(_impl_.rarg_){nullptr}
    , decltype(_impl_.op_){}
    , decltype(_impl_.all_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_larg()) {
    _this->_impl_.larg_ = new ::pg_query::Node(*from._impl_.larg_);
  }
  if (from._internal_has_rarg()) {
    _this->_impl_.rarg_ = new ::pg_query::Node(*from._impl_.rarg_);
  }
  ::memcpy(&_impl_.op_, &from._impl_.op_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.all_) -
    reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.all_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SetOperationStmt)
}

inline void SetOperationStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.col_types_){arena}
    , decltype(_impl_.col_typmods_){arena}
    , decltype(_impl_.col_collations_){arena}
    , decltype(_impl_.group_clauses_){arena}
    , decltype(_impl_.larg_){nullptr}
    , decltype(_impl_.rarg_){nullptr}
    , decltype(_impl_.op_){0}
    , decltype(_impl_.all_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SetOperationStmt::~SetOperationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SetOperationStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SetOperationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.col_types_.~RepeatedPtrField();
  _impl_.col_typmods_.~RepeatedPtrField();
  _impl_.col_collations_.~RepeatedPtrField();
  _impl_.group_clauses_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.larg_;
  if (this != internal_default_instance()) delete _impl_.rarg_;
}

void SetOperationStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.col_types_.Clear();
  _impl_.col_typmods_.Clear();
  _impl_.col_collations_.Clear();
  _impl_.group_clauses_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.larg_ != nullptr) {
    delete _impl_.larg_;
  }
  _impl_.larg_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.rarg_ != nullptr) {
    delete _impl_.rarg_;
  }
  _impl_.rarg_ = nullptr;
  ::memset(&_impl_.op_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.all_) -
      reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.all_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SetOperationStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.SetOperation op = 1 [json_name = "op"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.SetOperation op = 1 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_op(), target);
  }

  // bool all = 2 [json_name = "all"];
  if (this->_internal_all() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_all(), target);
  }

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

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

  // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_types_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_types(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_typmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_typmods(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_collations_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_collations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_group_clauses_size()); i < n; i++) {
    const auto& repfield = this->_internal_group_clauses(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.group_clauses_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

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

  // .pg_query.SetOperation op = 1 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SetOperationStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SetOperationStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SetOperationStmt::GetClassData() const { return &_class_data_; }


void SetOperationStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SetOperationStmt*>(&to_msg);
  auto& from = static_cast<const SetOperationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SetOperationStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.col_types_.MergeFrom(from._impl_.col_types_);
  _this->_impl_.col_typmods_.MergeFrom(from._impl_.col_typmods_);
  _this->_impl_.col_collations_.MergeFrom(from._impl_.col_collations_);
  _this->_impl_.group_clauses_.MergeFrom(from._impl_.group_clauses_);
  if (from._internal_has_larg()) {
    _this->_internal_mutable_larg()->::pg_query::Node::MergeFrom(
        from._internal_larg());
  }
  if (from._internal_has_rarg()) {
    _this->_internal_mutable_rarg()->::pg_query::Node::MergeFrom(
        from._internal_rarg());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_all() != 0) {
    _this->_internal_set_all(from._internal_all());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.col_types_.InternalSwap(&other->_impl_.col_types_);
  _impl_.col_typmods_.InternalSwap(&other->_impl_.col_typmods_);
  _impl_.col_collations_.InternalSwap(&other->_impl_.col_collations_);
  _impl_.group_clauses_.InternalSwap(&other->_impl_.group_clauses_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.all_)
      + sizeof(SetOperationStmt::_impl_.all_)
      - PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.larg_)>(
          reinterpret_cast<char*>(&_impl_.larg_),
          reinterpret_cast<char*>(&other->_impl_.larg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SetOperationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[75]);
}

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

class GrantStmt::_Internal {
 public:
  static const ::pg_query::RoleSpec& grantor(const GrantStmt* msg);
};

const ::pg_query::RoleSpec&
GrantStmt::_Internal::grantor(const GrantStmt* msg) {
  return *msg->_impl_.grantor_;
}
GrantStmt::GrantStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.GrantStmt)
}
GrantStmt::GrantStmt(const GrantStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  GrantStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.objects_){from._impl_.objects_}
    , decltype(_impl_.privileges_){from._impl_.privileges_}
    , decltype(_impl_.grantees_){from._impl_.grantees_}
    , decltype(_impl_.grantor_){nullptr}
    , decltype(_impl_.targtype_){}
    , decltype(_impl_.objtype_){}
    , decltype(_impl_.is_grant_){}
    , decltype(_impl_.grant_option_){}
    , decltype(_impl_.behavior_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_grantor()) {
    _this->_impl_.grantor_ = new ::pg_query::RoleSpec(*from._impl_.grantor_);
  }
  ::memcpy(&_impl_.targtype_, &from._impl_.targtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.behavior_) -
    reinterpret_cast<char*>(&_impl_.targtype_)) + sizeof(_impl_.behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GrantStmt)
}

inline void GrantStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.objects_){arena}
    , decltype(_impl_.privileges_){arena}
    , decltype(_impl_.grantees_){arena}
    , decltype(_impl_.grantor_){nullptr}
    , decltype(_impl_.targtype_){0}
    , decltype(_impl_.objtype_){0}
    , decltype(_impl_.is_grant_){false}
    , decltype(_impl_.grant_option_){false}
    , decltype(_impl_.behavior_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

GrantStmt::~GrantStmt() {
  // @@protoc_insertion_point(destructor:pg_query.GrantStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GrantStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.objects_.~RepeatedPtrField();
  _impl_.privileges_.~RepeatedPtrField();
  _impl_.grantees_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.grantor_;
}

void GrantStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.objects_.Clear();
  _impl_.privileges_.Clear();
  _impl_.grantees_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.grantor_ != nullptr) {
    delete _impl_.grantor_;
  }
  _impl_.grantor_ = nullptr;
  ::memset(&_impl_.targtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.targtype_)) + sizeof(_impl_.behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GrantStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool is_grant = 1 [json_name = "is_grant"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.grant_option_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_grantor(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // bool is_grant = 1 [json_name = "is_grant"];
  if (this->_internal_is_grant() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_is_grant(), target);
  }

  // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
  if (this->_internal_targtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_targtype(), target);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_objtype(), target);
  }

  // repeated .pg_query.Node objects = 4 [json_name = "objects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objects_size()); i < n; i++) {
    const auto& repfield = this->_internal_objects(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_privileges_size()); i < n; i++) {
    const auto& repfield = this->_internal_privileges(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_grantees_size()); i < n; i++) {
    const auto& repfield = this->_internal_grantees(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool grant_option = 7 [json_name = "grant_option"];
  if (this->_internal_grant_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_grant_option(), target);
  }

  // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"];
  if (this->_internal_has_grantor()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, _Internal::grantor(this),
        _Internal::grantor(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      9, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.grantees_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"];
  if (this->_internal_has_grantor()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.grantor_);
  }

  // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
  if (this->_internal_targtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_targtype());
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

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

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

  // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GrantStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    GrantStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GrantStmt::GetClassData() const { return &_class_data_; }


void GrantStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<GrantStmt*>(&to_msg);
  auto& from = static_cast<const GrantStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GrantStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.objects_.MergeFrom(from._impl_.objects_);
  _this->_impl_.privileges_.MergeFrom(from._impl_.privileges_);
  _this->_impl_.grantees_.MergeFrom(from._impl_.grantees_);
  if (from._internal_has_grantor()) {
    _this->_internal_mutable_grantor()->::pg_query::RoleSpec::MergeFrom(
        from._internal_grantor());
  }
  if (from._internal_targtype() != 0) {
    _this->_internal_set_targtype(from._internal_targtype());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_is_grant() != 0) {
    _this->_internal_set_is_grant(from._internal_is_grant());
  }
  if (from._internal_grant_option() != 0) {
    _this->_internal_set_grant_option(from._internal_grant_option());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.objects_.InternalSwap(&other->_impl_.objects_);
  _impl_.privileges_.InternalSwap(&other->_impl_.privileges_);
  _impl_.grantees_.InternalSwap(&other->_impl_.grantees_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.behavior_)
      + sizeof(GrantStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grantor_)>(
          reinterpret_cast<char*>(&_impl_.grantor_),
          reinterpret_cast<char*>(&other->_impl_.grantor_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GrantStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[76]);
}

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

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->_impl_.grantor_;
}
GrantRoleStmt::GrantRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.GrantRoleStmt)
}
GrantRoleStmt::GrantRoleStmt(const GrantRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  GrantRoleStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.granted_roles_){from._impl_.granted_roles_}
    , decltype(_impl_.grantee_roles_){from._impl_.grantee_roles_}
    , decltype(_impl_.grantor_){nullptr}
    , decltype(_impl_.is_grant_){}
    , decltype(_impl_.admin_opt_){}
    , decltype(_impl_.behavior_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_grantor()) {
    _this->_impl_.grantor_ = new ::pg_query::RoleSpec(*from._impl_.grantor_);
  }
  ::memcpy(&_impl_.is_grant_, &from._impl_.is_grant_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.behavior_) -
    reinterpret_cast<char*>(&_impl_.is_grant_)) + sizeof(_impl_.behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GrantRoleStmt)
}

inline void GrantRoleStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.granted_roles_){arena}
    , decltype(_impl_.grantee_roles_){arena}
    , decltype(_impl_.grantor_){nullptr}
    , decltype(_impl_.is_grant_){false}
    , decltype(_impl_.admin_opt_){false}
    , decltype(_impl_.behavior_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

GrantRoleStmt::~GrantRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.GrantRoleStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GrantRoleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.granted_roles_.~RepeatedPtrField();
  _impl_.grantee_roles_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.grantor_;
}

void GrantRoleStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.granted_roles_.Clear();
  _impl_.grantee_roles_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.grantor_ != nullptr) {
    delete _impl_.grantor_;
  }
  _impl_.grantor_ = nullptr;
  ::memset(&_impl_.is_grant_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.is_grant_)) + sizeof(_impl_.behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GrantRoleStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 48)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_granted_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_granted_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_grantee_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_grantee_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_grant = 3 [json_name = "is_grant"];
  if (this->_internal_is_grant() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_grant(), target);
  }

  // bool admin_opt = 4 [json_name = "admin_opt"];
  if (this->_internal_admin_opt() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_admin_opt(), target);
  }

  // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
  if (this->_internal_has_grantor()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::grantor(this),
        _Internal::grantor(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      6, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.grantee_roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
  if (this->_internal_has_grantor()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.grantor_);
  }

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

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

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GrantRoleStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    GrantRoleStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GrantRoleStmt::GetClassData() const { return &_class_data_; }


void GrantRoleStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<GrantRoleStmt*>(&to_msg);
  auto& from = static_cast<const GrantRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GrantRoleStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.granted_roles_.MergeFrom(from._impl_.granted_roles_);
  _this->_impl_.grantee_roles_.MergeFrom(from._impl_.grantee_roles_);
  if (from._internal_has_grantor()) {
    _this->_internal_mutable_grantor()->::pg_query::RoleSpec::MergeFrom(
        from._internal_grantor());
  }
  if (from._internal_is_grant() != 0) {
    _this->_internal_set_is_grant(from._internal_is_grant());
  }
  if (from._internal_admin_opt() != 0) {
    _this->_internal_set_admin_opt(from._internal_admin_opt());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.granted_roles_.InternalSwap(&other->_impl_.granted_roles_);
  _impl_.grantee_roles_.InternalSwap(&other->_impl_.grantee_roles_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.behavior_)
      + sizeof(GrantRoleStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.grantor_)>(
          reinterpret_cast<char*>(&_impl_.grantor_),
          reinterpret_cast<char*>(&other->_impl_.grantor_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GrantRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[77]);
}

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

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->_impl_.action_;
}
AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDefaultPrivilegesStmt)
}
AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterDefaultPrivilegesStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.action_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_action()) {
    _this->_impl_.action_ = new ::pg_query::GrantStmt(*from._impl_.action_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDefaultPrivilegesStmt)
}

inline void AlterDefaultPrivilegesStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.action_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterDefaultPrivilegesStmt::~AlterDefaultPrivilegesStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDefaultPrivilegesStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterDefaultPrivilegesStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.action_;
}

void AlterDefaultPrivilegesStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.action_ != nullptr) {
    delete _impl_.action_;
  }
  _impl_.action_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDefaultPrivilegesStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node options = 1 [json_name = "options"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_action(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.GrantStmt action = 2 [json_name = "action"];
  if (this->_internal_has_action()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::action(this),
        _Internal::action(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.GrantStmt action = 2 [json_name = "action"];
  if (this->_internal_has_action()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.action_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterDefaultPrivilegesStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterDefaultPrivilegesStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterDefaultPrivilegesStmt::GetClassData() const { return &_class_data_; }


void AlterDefaultPrivilegesStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterDefaultPrivilegesStmt*>(&to_msg);
  auto& from = static_cast<const AlterDefaultPrivilegesStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDefaultPrivilegesStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_action()) {
    _this->_internal_mutable_action()->::pg_query::GrantStmt::MergeFrom(
        from._internal_action());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  swap(_impl_.action_, other->_impl_.action_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDefaultPrivilegesStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[78]);
}

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

class ClosePortalStmt::_Internal {
 public:
};

ClosePortalStmt::ClosePortalStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ClosePortalStmt)
}
ClosePortalStmt::ClosePortalStmt(const ClosePortalStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ClosePortalStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.portalname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.portalname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.portalname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_portalname().empty()) {
    _this->_impl_.portalname_.Set(from._internal_portalname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ClosePortalStmt)
}

inline void ClosePortalStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.portalname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.portalname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.portalname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ClosePortalStmt::~ClosePortalStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ClosePortalStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ClosePortalStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.portalname_.Destroy();
}

void ClosePortalStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ClosePortalStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string portalname = 1 [json_name = "portalname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_portalname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ClosePortalStmt.portalname"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string portalname = 1 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_portalname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_portalname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ClosePortalStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ClosePortalStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ClosePortalStmt::GetClassData() const { return &_class_data_; }


void ClosePortalStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ClosePortalStmt*>(&to_msg);
  auto& from = static_cast<const ClosePortalStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ClosePortalStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_portalname().empty()) {
    _this->_internal_set_portalname(from._internal_portalname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.portalname_, lhs_arena,
      &other->_impl_.portalname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata ClosePortalStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[79]);
}

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

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->_impl_.relation_;
}
ClusterStmt::ClusterStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ClusterStmt)
}
ClusterStmt::ClusterStmt(const ClusterStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ClusterStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.params_){from._impl_.params_}
    , decltype(_impl_.indexname_){}
    , decltype(_impl_.relation_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.indexname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_indexname().empty()) {
    _this->_impl_.indexname_.Set(from._internal_indexname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ClusterStmt)
}

inline void ClusterStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.params_){arena}
    , decltype(_impl_.indexname_){}
    , decltype(_impl_.relation_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.indexname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ClusterStmt::~ClusterStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ClusterStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ClusterStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.params_.~RepeatedPtrField();
  _impl_.indexname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
}

void ClusterStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.params_.Clear();
  _impl_.indexname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ClusterStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_indexname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ClusterStmt.indexname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node params = 3 [json_name = "params"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          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<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string indexname = 2 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    ::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);
  }

  // repeated .pg_query.Node params = 3 [json_name = "params"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node params = 3 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->_impl_.params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string indexname = 2 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexname());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ClusterStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ClusterStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ClusterStmt::GetClassData() const { return &_class_data_; }


void ClusterStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ClusterStmt*>(&to_msg);
  auto& from = static_cast<const ClusterStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ClusterStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.params_.MergeFrom(from._impl_.params_);
  if (!from._internal_indexname().empty()) {
    _this->_internal_set_indexname(from._internal_indexname());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.indexname_, lhs_arena,
      &other->_impl_.indexname_, rhs_arena
  );
  swap(_impl_.relation_, other->_impl_.relation_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ClusterStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[80]);
}

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

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->_impl_.relation_;
}
const ::pg_query::Node&
CopyStmt::_Internal::query(const CopyStmt* msg) {
  return *msg->_impl_.query_;
}
const ::pg_query::Node&
CopyStmt::_Internal::where_clause(const CopyStmt* msg) {
  return *msg->_impl_.where_clause_;
}
CopyStmt::CopyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CopyStmt)
}
CopyStmt::CopyStmt(const CopyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CopyStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.attlist_){from._impl_.attlist_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.filename_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.query_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.is_from_){}
    , decltype(_impl_.is_program_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.filename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.filename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_filename().empty()) {
    _this->_impl_.filename_.Set(from._internal_filename(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_query()) {
    _this->_impl_.query_ = new ::pg_query::Node(*from._impl_.query_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  ::memcpy(&_impl_.is_from_, &from._impl_.is_from_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.is_program_) -
    reinterpret_cast<char*>(&_impl_.is_from_)) + sizeof(_impl_.is_program_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CopyStmt)
}

inline void CopyStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.attlist_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.filename_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.query_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.is_from_){false}
    , decltype(_impl_.is_program_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.filename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.filename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CopyStmt::~CopyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CopyStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CopyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.attlist_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.filename_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.query_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
}

void CopyStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.attlist_.Clear();
  _impl_.options_.Clear();
  _impl_.filename_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) {
    delete _impl_.query_;
  }
  _impl_.query_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  ::memset(&_impl_.is_from_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.is_program_) -
      reinterpret_cast<char*>(&_impl_.is_from_)) + sizeof(_impl_.is_program_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CopyStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_filename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CopyStmt.filename"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 7 [json_name = "options"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

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

  // repeated .pg_query.Node attlist = 3 [json_name = "attlist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_attlist_size()); i < n; i++) {
    const auto& repfield = this->_internal_attlist(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_from = 4 [json_name = "is_from"];
  if (this->_internal_is_from() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_is_from(), target);
  }

  // bool is_program = 5 [json_name = "is_program"];
  if (this->_internal_is_program() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_is_program(), target);
  }

  // string filename = 6 [json_name = "filename"];
  if (!this->_internal_filename().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string filename = 6 [json_name = "filename"];
  if (!this->_internal_filename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_filename());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node query = 2 [json_name = "query"];
  if (this->_internal_has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.query_);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CopyStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CopyStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CopyStmt::GetClassData() const { return &_class_data_; }


void CopyStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CopyStmt*>(&to_msg);
  auto& from = static_cast<const CopyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CopyStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.attlist_.MergeFrom(from._impl_.attlist_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_filename().empty()) {
    _this->_internal_set_filename(from._internal_filename());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_query()) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_is_from() != 0) {
    _this->_internal_set_is_from(from._internal_is_from());
  }
  if (from._internal_is_program() != 0) {
    _this->_internal_set_is_program(from._internal_is_program());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.attlist_.InternalSwap(&other->_impl_.attlist_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.filename_, lhs_arena,
      &other->_impl_.filename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.is_program_)
      + sizeof(CopyStmt::_impl_.is_program_)
      - PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CopyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[81]);
}

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

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->_impl_.relation_;
}
const ::pg_query::PartitionBoundSpec&
CreateStmt::_Internal::partbound(const CreateStmt* msg) {
  return *msg->_impl_.partbound_;
}
const ::pg_query::PartitionSpec&
CreateStmt::_Internal::partspec(const CreateStmt* msg) {
  return *msg->_impl_.partspec_;
}
const ::pg_query::TypeName&
CreateStmt::_Internal::of_typename(const CreateStmt* msg) {
  return *msg->_impl_.of_typename_;
}
CreateStmt::CreateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateStmt)
}
CreateStmt::CreateStmt(const CreateStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.table_elts_){from._impl_.table_elts_}
    , decltype(_impl_.inh_relations_){from._impl_.inh_relations_}
    , decltype(_impl_.constraints_){from._impl_.constraints_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.tablespacename_){}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.partbound_){nullptr}
    , decltype(_impl_.partspec_){nullptr}
    , decltype(_impl_.of_typename_){nullptr}
    , decltype(_impl_.oncommit_){}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_tablespacename().empty()) {
    _this->_impl_.tablespacename_.Set(from._internal_tablespacename(), 
      _this->GetArenaForAllocation());
  }
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_access_method().empty()) {
    _this->_impl_.access_method_.Set(from._internal_access_method(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_partbound()) {
    _this->_impl_.partbound_ = new ::pg_query::PartitionBoundSpec(*from._impl_.partbound_);
  }
  if (from._internal_has_partspec()) {
    _this->_impl_.partspec_ = new ::pg_query::PartitionSpec(*from._impl_.partspec_);
  }
  if (from._internal_has_of_typename()) {
    _this->_impl_.of_typename_ = new ::pg_query::TypeName(*from._impl_.of_typename_);
  }
  ::memcpy(&_impl_.oncommit_, &from._impl_.oncommit_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.if_not_exists_) -
    reinterpret_cast<char*>(&_impl_.oncommit_)) + sizeof(_impl_.if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateStmt)
}

inline void CreateStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.table_elts_){arena}
    , decltype(_impl_.inh_relations_){arena}
    , decltype(_impl_.constraints_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.tablespacename_){}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.partbound_){nullptr}
    , decltype(_impl_.partspec_){nullptr}
    , decltype(_impl_.of_typename_){nullptr}
    , decltype(_impl_.oncommit_){0}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateStmt::~CreateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.table_elts_.~RepeatedPtrField();
  _impl_.inh_relations_.~RepeatedPtrField();
  _impl_.constraints_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.tablespacename_.Destroy();
  _impl_.access_method_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.partbound_;
  if (this != internal_default_instance()) delete _impl_.partspec_;
  if (this != internal_default_instance()) delete _impl_.of_typename_;
}

void CreateStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.table_elts_.Clear();
  _impl_.inh_relations_.Clear();
  _impl_.constraints_.Clear();
  _impl_.options_.Clear();
  _impl_.tablespacename_.ClearToEmpty();
  _impl_.access_method_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.partbound_ != nullptr) {
    delete _impl_.partbound_;
  }
  _impl_.partbound_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.partspec_ != nullptr) {
    delete _impl_.partspec_;
  }
  _impl_.partspec_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.of_typename_ != nullptr) {
    delete _impl_.of_typename_;
  }
  _impl_.of_typename_ = nullptr;
  ::memset(&_impl_.oncommit_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.oncommit_)) + sizeof(_impl_.if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 72)) {
          uint64_t 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<uint8_t>(tag) == 82)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateStmt.tablespacename"));
        } else
          goto handle_unusual;
        continue;
      // string access_method = 11 [json_name = "accessMethod"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          auto str = _internal_mutable_access_method();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateStmt.access_method"));
        } else
          goto handle_unusual;
        continue;
      // bool if_not_exists = 12 [json_name = "if_not_exists"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _impl_.if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_table_elts_size()); i < n; i++) {
    const auto& repfield = this->_internal_table_elts(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_inh_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_inh_relations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
  if (this->_internal_has_partbound()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::partbound(this),
        _Internal::partbound(this).GetCachedSize(), target, stream);
  }

  // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
  if (this->_internal_has_partspec()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::partspec(this),
        _Internal::partspec(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
  if (this->_internal_has_of_typename()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::of_typename(this),
        _Internal::of_typename(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 8 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
  if (this->_internal_oncommit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      9, this->_internal_oncommit(), target);
  }

  // string tablespacename = 10 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    ::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->_internal_access_method().empty()) {
    ::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->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(12, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string tablespacename = 10 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // string access_method = 11 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
  if (this->_internal_has_partbound()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.partbound_);
  }

  // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
  if (this->_internal_has_partspec()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.partspec_);
  }

  // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
  if (this->_internal_has_of_typename()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.of_typename_);
  }

  // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
  if (this->_internal_oncommit() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_oncommit());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateStmt::GetClassData() const { return &_class_data_; }


void CreateStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateStmt*>(&to_msg);
  auto& from = static_cast<const CreateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.table_elts_.MergeFrom(from._impl_.table_elts_);
  _this->_impl_.inh_relations_.MergeFrom(from._impl_.inh_relations_);
  _this->_impl_.constraints_.MergeFrom(from._impl_.constraints_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_partbound()) {
    _this->_internal_mutable_partbound()->::pg_query::PartitionBoundSpec::MergeFrom(
        from._internal_partbound());
  }
  if (from._internal_has_partspec()) {
    _this->_internal_mutable_partspec()->::pg_query::PartitionSpec::MergeFrom(
        from._internal_partspec());
  }
  if (from._internal_has_of_typename()) {
    _this->_internal_mutable_of_typename()->::pg_query::TypeName::MergeFrom(
        from._internal_of_typename());
  }
  if (from._internal_oncommit() != 0) {
    _this->_internal_set_oncommit(from._internal_oncommit());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.table_elts_.InternalSwap(&other->_impl_.table_elts_);
  _impl_.inh_relations_.InternalSwap(&other->_impl_.inh_relations_);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.tablespacename_, lhs_arena,
      &other->_impl_.tablespacename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.access_method_, lhs_arena,
      &other->_impl_.access_method_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.if_not_exists_)
      + sizeof(CreateStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[82]);
}

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

class DefineStmt::_Internal {
 public:
};

DefineStmt::DefineStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DefineStmt)
}
DefineStmt::DefineStmt(const DefineStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DefineStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.defnames_){from._impl_.defnames_}
    , decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.definition_){from._impl_.definition_}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.oldstyle_){}
    , decltype(_impl_.if_not_exists_){}
    , decltype(_impl_.replace_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.replace_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.replace_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DefineStmt)
}

inline void DefineStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.defnames_){arena}
    , decltype(_impl_.args_){arena}
    , decltype(_impl_.definition_){arena}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.oldstyle_){false}
    , decltype(_impl_.if_not_exists_){false}
    , decltype(_impl_.replace_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DefineStmt::~DefineStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DefineStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DefineStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.defnames_.~RepeatedPtrField();
  _impl_.args_.~RepeatedPtrField();
  _impl_.definition_.~RepeatedPtrField();
}

void DefineStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.defnames_.Clear();
  _impl_.args_.Clear();
  _impl_.definition_.Clear();
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.replace_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.replace_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DefineStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.ObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // bool oldstyle = 2 [json_name = "oldstyle"];
  if (this->_internal_oldstyle() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_oldstyle(), target);
  }

  // repeated .pg_query.Node defnames = 3 [json_name = "defnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_defnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_defnames(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node definition = 5 [json_name = "definition"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_definition_size()); i < n; i++) {
    const auto& repfield = this->_internal_definition(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool if_not_exists = 6 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_if_not_exists(), target);
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_replace(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.definition_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

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

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DefineStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DefineStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DefineStmt::GetClassData() const { return &_class_data_; }


void DefineStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DefineStmt*>(&to_msg);
  auto& from = static_cast<const DefineStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DefineStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.defnames_.MergeFrom(from._impl_.defnames_);
  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  _this->_impl_.definition_.MergeFrom(from._impl_.definition_);
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_oldstyle() != 0) {
    _this->_internal_set_oldstyle(from._internal_oldstyle());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.defnames_.InternalSwap(&other->_impl_.defnames_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.definition_.InternalSwap(&other->_impl_.definition_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.replace_)
      + sizeof(DefineStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DefineStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[83]);
}

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

class DropStmt::_Internal {
 public:
};

DropStmt::DropStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropStmt)
}
DropStmt::DropStmt(const DropStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.objects_){from._impl_.objects_}
    , decltype(_impl_.remove_type_){}
    , decltype(_impl_.behavior_){}
    , decltype(_impl_.missing_ok_){}
    , decltype(_impl_.concurrent_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.remove_type_, &from._impl_.remove_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.concurrent_) -
    reinterpret_cast<char*>(&_impl_.remove_type_)) + sizeof(_impl_.concurrent_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DropStmt)
}

inline void DropStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.objects_){arena}
    , decltype(_impl_.remove_type_){0}
    , decltype(_impl_.behavior_){0}
    , decltype(_impl_.missing_ok_){false}
    , decltype(_impl_.concurrent_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DropStmt::~DropStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DropStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.objects_.~RepeatedPtrField();
}

void DropStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.objects_.Clear();
  ::memset(&_impl_.remove_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.concurrent_) -
      reinterpret_cast<char*>(&_impl_.remove_type_)) + sizeof(_impl_.concurrent_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node objects = 1 [json_name = "objects"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.concurrent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node objects = 1 [json_name = "objects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objects_size()); i < n; i++) {
    const auto& repfield = this->_internal_objects(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
  if (this->_internal_remove_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_remove_type(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_behavior(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_missing_ok(), target);
  }

  // bool concurrent = 5 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_concurrent(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.objects_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
  if (this->_internal_remove_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_remove_type());
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DropStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropStmt::GetClassData() const { return &_class_data_; }


void DropStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DropStmt*>(&to_msg);
  auto& from = static_cast<const DropStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.objects_.MergeFrom(from._impl_.objects_);
  if (from._internal_remove_type() != 0) {
    _this->_internal_set_remove_type(from._internal_remove_type());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.objects_.InternalSwap(&other->_impl_.objects_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.concurrent_)
      + sizeof(DropStmt::_impl_.concurrent_)
      - PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.remove_type_)>(
          reinterpret_cast<char*>(&_impl_.remove_type_),
          reinterpret_cast<char*>(&other->_impl_.remove_type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DropStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[84]);
}

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

class TruncateStmt::_Internal {
 public:
};

TruncateStmt::TruncateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TruncateStmt)
}
TruncateStmt::TruncateStmt(const TruncateStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TruncateStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.relations_){from._impl_.relations_}
    , decltype(_impl_.restart_seqs_){}
    , decltype(_impl_.behavior_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.restart_seqs_, &from._impl_.restart_seqs_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.behavior_) -
    reinterpret_cast<char*>(&_impl_.restart_seqs_)) + sizeof(_impl_.behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TruncateStmt)
}

inline void TruncateStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.relations_){arena}
    , decltype(_impl_.restart_seqs_){false}
    , decltype(_impl_.behavior_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TruncateStmt::~TruncateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.TruncateStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TruncateStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.relations_.~RepeatedPtrField();
}

void TruncateStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.relations_.Clear();
  ::memset(&_impl_.restart_seqs_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.restart_seqs_)) + sizeof(_impl_.behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TruncateStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node relations = 1 [json_name = "relations"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_relations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool restart_seqs = 2 [json_name = "restart_seqs"];
  if (this->_internal_restart_seqs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_restart_seqs(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.relations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TruncateStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TruncateStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TruncateStmt::GetClassData() const { return &_class_data_; }


void TruncateStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TruncateStmt*>(&to_msg);
  auto& from = static_cast<const TruncateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TruncateStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.relations_.MergeFrom(from._impl_.relations_);
  if (from._internal_restart_seqs() != 0) {
    _this->_internal_set_restart_seqs(from._internal_restart_seqs());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.relations_.InternalSwap(&other->_impl_.relations_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.behavior_)
      + sizeof(TruncateStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.restart_seqs_)>(
          reinterpret_cast<char*>(&_impl_.restart_seqs_),
          reinterpret_cast<char*>(&other->_impl_.restart_seqs_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TruncateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[85]);
}

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

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->_impl_.object_;
}
CommentStmt::CommentStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CommentStmt)
}
CommentStmt::CommentStmt(const CommentStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CommentStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.comment_){}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.objtype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.comment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.comment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_comment().empty()) {
    _this->_impl_.comment_.Set(from._internal_comment(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_object()) {
    _this->_impl_.object_ = new ::pg_query::Node(*from._impl_.object_);
  }
  _this->_impl_.objtype_ = from._impl_.objtype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CommentStmt)
}

inline void CommentStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.comment_){}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.objtype_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.comment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.comment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CommentStmt::~CommentStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CommentStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CommentStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.comment_.Destroy();
  if (this != internal_default_instance()) delete _impl_.object_;
}

void CommentStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.comment_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) {
    delete _impl_.object_;
  }
  _impl_.object_ = nullptr;
  _impl_.objtype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CommentStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_comment();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CommentStmt.comment"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_objtype(), target);
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->_internal_has_object()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // string comment = 3 [json_name = "comment"];
  if (!this->_internal_comment().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_comment().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_comment());
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->_internal_has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.object_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CommentStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CommentStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CommentStmt::GetClassData() const { return &_class_data_; }


void CommentStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CommentStmt*>(&to_msg);
  auto& from = static_cast<const CommentStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CommentStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_comment().empty()) {
    _this->_internal_set_comment(from._internal_comment());
  }
  if (from._internal_has_object()) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.comment_, lhs_arena,
      &other->_impl_.comment_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.objtype_)
      + sizeof(CommentStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.object_)>(
          reinterpret_cast<char*>(&_impl_.object_),
          reinterpret_cast<char*>(&other->_impl_.object_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CommentStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[86]);
}

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

class FetchStmt::_Internal {
 public:
};

FetchStmt::FetchStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.FetchStmt)
}
FetchStmt::FetchStmt(const FetchStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  FetchStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.portalname_){}
    , decltype(_impl_.how_many_){}
    , decltype(_impl_.direction_){}
    , decltype(_impl_.ismove_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.portalname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.portalname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_portalname().empty()) {
    _this->_impl_.portalname_.Set(from._internal_portalname(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.how_many_, &from._impl_.how_many_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.ismove_) -
    reinterpret_cast<char*>(&_impl_.how_many_)) + sizeof(_impl_.ismove_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FetchStmt)
}

inline void FetchStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.portalname_){}
    , decltype(_impl_.how_many_){int64_t{0}}
    , decltype(_impl_.direction_){0}
    , decltype(_impl_.ismove_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.portalname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.portalname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

FetchStmt::~FetchStmt() {
  // @@protoc_insertion_point(destructor:pg_query.FetchStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void FetchStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.portalname_.Destroy();
}

void FetchStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.portalname_.ClearToEmpty();
  ::memset(&_impl_.how_many_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.ismove_) -
      reinterpret_cast<char*>(&_impl_.how_many_)) + sizeof(_impl_.ismove_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FetchStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_portalname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.FetchStmt.portalname"));
        } else
          goto handle_unusual;
        continue;
      // bool ismove = 4 [json_name = "ismove"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.ismove_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
  if (this->_internal_direction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_direction(), target);
  }

  // int64 how_many = 2 [json_name = "howMany"];
  if (this->_internal_how_many() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(2, this->_internal_how_many(), target);
  }

  // string portalname = 3 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    ::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->_internal_ismove() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_ismove(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_portalname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_portalname());
  }

  // int64 how_many = 2 [json_name = "howMany"];
  if (this->_internal_how_many() != 0) {
    total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(this->_internal_how_many());
  }

  // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
  if (this->_internal_direction() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_direction());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FetchStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    FetchStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FetchStmt::GetClassData() const { return &_class_data_; }


void FetchStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<FetchStmt*>(&to_msg);
  auto& from = static_cast<const FetchStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FetchStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_portalname().empty()) {
    _this->_internal_set_portalname(from._internal_portalname());
  }
  if (from._internal_how_many() != 0) {
    _this->_internal_set_how_many(from._internal_how_many());
  }
  if (from._internal_direction() != 0) {
    _this->_internal_set_direction(from._internal_direction());
  }
  if (from._internal_ismove() != 0) {
    _this->_internal_set_ismove(from._internal_ismove());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.portalname_, lhs_arena,
      &other->_impl_.portalname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.ismove_)
      + sizeof(FetchStmt::_impl_.ismove_)
      - PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.how_many_)>(
          reinterpret_cast<char*>(&_impl_.how_many_),
          reinterpret_cast<char*>(&other->_impl_.how_many_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FetchStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[87]);
}

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

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->_impl_.relation_;
}
const ::pg_query::Node&
IndexStmt::_Internal::where_clause(const IndexStmt* msg) {
  return *msg->_impl_.where_clause_;
}
IndexStmt::IndexStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.IndexStmt)
}
IndexStmt::IndexStmt(const IndexStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  IndexStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.index_params_){from._impl_.index_params_}
    , decltype(_impl_.index_including_params_){from._impl_.index_including_params_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.exclude_op_names_){from._impl_.exclude_op_names_}
    , decltype(_impl_.idxname_){}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.table_space_){}
    , decltype(_impl_.idxcomment_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.index_oid_){}
    , decltype(_impl_.old_node_){}
    , decltype(_impl_.old_create_subid_){}
    , decltype(_impl_.old_first_relfilenode_subid_){}
    , decltype(_impl_.unique_){}
    , decltype(_impl_.nulls_not_distinct_){}
    , decltype(_impl_.primary_){}
    , decltype(_impl_.isconstraint_){}
    , decltype(_impl_.deferrable_){}
    , decltype(_impl_.initdeferred_){}
    , decltype(_impl_.transformed_){}
    , decltype(_impl_.concurrent_){}
    , decltype(_impl_.if_not_exists_){}
    , decltype(_impl_.reset_default_tblspc_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.idxname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.idxname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_idxname().empty()) {
    _this->_impl_.idxname_.Set(from._internal_idxname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_access_method().empty()) {
    _this->_impl_.access_method_.Set(from._internal_access_method(), 
      _this->GetArenaForAllocation());
  }
  _impl_.table_space_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_space_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_table_space().empty()) {
    _this->_impl_.table_space_.Set(from._internal_table_space(), 
      _this->GetArenaForAllocation());
  }
  _impl_.idxcomment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.idxcomment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_idxcomment().empty()) {
    _this->_impl_.idxcomment_.Set(from._internal_idxcomment(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  ::memcpy(&_impl_.index_oid_, &from._impl_.index_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.reset_default_tblspc_) -
    reinterpret_cast<char*>(&_impl_.index_oid_)) + sizeof(_impl_.reset_default_tblspc_));
  // @@protoc_insertion_point(copy_constructor:pg_query.IndexStmt)
}

inline void IndexStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.index_params_){arena}
    , decltype(_impl_.index_including_params_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.exclude_op_names_){arena}
    , decltype(_impl_.idxname_){}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.table_space_){}
    , decltype(_impl_.idxcomment_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.index_oid_){0u}
    , decltype(_impl_.old_node_){0u}
    , decltype(_impl_.old_create_subid_){0u}
    , decltype(_impl_.old_first_relfilenode_subid_){0u}
    , decltype(_impl_.unique_){false}
    , decltype(_impl_.nulls_not_distinct_){false}
    , decltype(_impl_.primary_){false}
    , decltype(_impl_.isconstraint_){false}
    , decltype(_impl_.deferrable_){false}
    , decltype(_impl_.initdeferred_){false}
    , decltype(_impl_.transformed_){false}
    , decltype(_impl_.concurrent_){false}
    , decltype(_impl_.if_not_exists_){false}
    , decltype(_impl_.reset_default_tblspc_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.idxname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.idxname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.table_space_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.table_space_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.idxcomment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.idxcomment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

IndexStmt::~IndexStmt() {
  // @@protoc_insertion_point(destructor:pg_query.IndexStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void IndexStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.index_params_.~RepeatedPtrField();
  _impl_.index_including_params_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.exclude_op_names_.~RepeatedPtrField();
  _impl_.idxname_.Destroy();
  _impl_.access_method_.Destroy();
  _impl_.table_space_.Destroy();
  _impl_.idxcomment_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
}

void IndexStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.index_params_.Clear();
  _impl_.index_including_params_.Clear();
  _impl_.options_.Clear();
  _impl_.exclude_op_names_.Clear();
  _impl_.idxname_.ClearToEmpty();
  _impl_.access_method_.ClearToEmpty();
  _impl_.table_space_.ClearToEmpty();
  _impl_.idxcomment_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  ::memset(&_impl_.index_oid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.reset_default_tblspc_) -
      reinterpret_cast<char*>(&_impl_.index_oid_)) + sizeof(_impl_.reset_default_tblspc_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IndexStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string idxname = 1 [json_name = "idxname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_idxname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IndexStmt.idxname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 2 [json_name = "relation"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_access_method();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IndexStmt.access_method"));
        } else
          goto handle_unusual;
        continue;
      // string table_space = 4 [json_name = "tableSpace"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_table_space();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IndexStmt.table_space"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 82)) {
          auto str = _internal_mutable_idxcomment();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IndexStmt.idxcomment"));
        } else
          goto handle_unusual;
        continue;
      // uint32 index_oid = 11 [json_name = "indexOid"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _impl_.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<uint8_t>(tag) == 96)) {
          _impl_.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<uint8_t>(tag) == 104)) {
          _impl_.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<uint8_t>(tag) == 112)) {
          _impl_.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<uint8_t>(tag) == 120)) {
          _impl_.unique_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 128)) {
          _impl_.nulls_not_distinct_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool primary = 17 [json_name = "primary"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 136)) {
          _impl_.primary_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool isconstraint = 18 [json_name = "isconstraint"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          _impl_.isconstraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool deferrable = 19 [json_name = "deferrable"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 152)) {
          _impl_.deferrable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool initdeferred = 20 [json_name = "initdeferred"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 160)) {
          _impl_.initdeferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool transformed = 21 [json_name = "transformed"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 168)) {
          _impl_.transformed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool concurrent = 22 [json_name = "concurrent"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 176)) {
          _impl_.concurrent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool if_not_exists = 23 [json_name = "if_not_exists"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 184)) {
          _impl_.if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 192)) {
          _impl_.reset_default_tblspc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string idxname = 1 [json_name = "idxname"];
  if (!this->_internal_idxname().empty()) {
    ::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->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    ::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->_internal_table_space().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_index_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_index_params(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_index_including_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_index_including_params(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 7 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exclude_op_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_exclude_op_names(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string idxcomment = 10 [json_name = "idxcomment"];
  if (!this->_internal_idxcomment().empty()) {
    ::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->_internal_index_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(11, this->_internal_index_oid(), target);
  }

  // uint32 old_node = 12 [json_name = "oldNode"];
  if (this->_internal_old_node() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(12, this->_internal_old_node(), target);
  }

  // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
  if (this->_internal_old_create_subid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(13, this->_internal_old_create_subid(), target);
  }

  // uint32 old_first_relfilenode_subid = 14 [json_name = "oldFirstRelfilenodeSubid"];
  if (this->_internal_old_first_relfilenode_subid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(14, this->_internal_old_first_relfilenode_subid(), target);
  }

  // bool unique = 15 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(15, this->_internal_unique(), target);
  }

  // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(16, this->_internal_nulls_not_distinct(), target);
  }

  // bool primary = 17 [json_name = "primary"];
  if (this->_internal_primary() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(17, this->_internal_primary(), target);
  }

  // bool isconstraint = 18 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(18, this->_internal_isconstraint(), target);
  }

  // bool deferrable = 19 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(19, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 20 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(20, this->_internal_initdeferred(), target);
  }

  // bool transformed = 21 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(21, this->_internal_transformed(), target);
  }

  // bool concurrent = 22 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(22, this->_internal_concurrent(), target);
  }

  // bool if_not_exists = 23 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(23, this->_internal_if_not_exists(), target);
  }

  // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(24, this->_internal_reset_default_tblspc(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.exclude_op_names_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string idxname = 1 [json_name = "idxname"];
  if (!this->_internal_idxname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_idxname());
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // string table_space = 4 [json_name = "tableSpace"];
  if (!this->_internal_table_space().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_table_space());
  }

  // string idxcomment = 10 [json_name = "idxcomment"];
  if (!this->_internal_idxcomment().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_idxcomment());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // uint32 index_oid = 11 [json_name = "indexOid"];
  if (this->_internal_index_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_index_oid());
  }

  // uint32 old_node = 12 [json_name = "oldNode"];
  if (this->_internal_old_node() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_old_node());
  }

  // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
  if (this->_internal_old_create_subid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_old_create_subid());
  }

  // uint32 old_first_relfilenode_subid = 14 [json_name = "oldFirstRelfilenodeSubid"];
  if (this->_internal_old_first_relfilenode_subid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_old_first_relfilenode_subid());
  }

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

  // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    total_size += 2 + 1;
  }

  // bool primary = 17 [json_name = "primary"];
  if (this->_internal_primary() != 0) {
    total_size += 2 + 1;
  }

  // bool isconstraint = 18 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    total_size += 2 + 1;
  }

  // bool deferrable = 19 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    total_size += 2 + 1;
  }

  // bool initdeferred = 20 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    total_size += 2 + 1;
  }

  // bool transformed = 21 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    total_size += 2 + 1;
  }

  // bool concurrent = 22 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    total_size += 2 + 1;
  }

  // bool if_not_exists = 23 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2 + 1;
  }

  // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    total_size += 2 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IndexStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    IndexStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IndexStmt::GetClassData() const { return &_class_data_; }


void IndexStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<IndexStmt*>(&to_msg);
  auto& from = static_cast<const IndexStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IndexStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.index_params_.MergeFrom(from._impl_.index_params_);
  _this->_impl_.index_including_params_.MergeFrom(from._impl_.index_including_params_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _this->_impl_.exclude_op_names_.MergeFrom(from._impl_.exclude_op_names_);
  if (!from._internal_idxname().empty()) {
    _this->_internal_set_idxname(from._internal_idxname());
  }
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  if (!from._internal_table_space().empty()) {
    _this->_internal_set_table_space(from._internal_table_space());
  }
  if (!from._internal_idxcomment().empty()) {
    _this->_internal_set_idxcomment(from._internal_idxcomment());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_index_oid() != 0) {
    _this->_internal_set_index_oid(from._internal_index_oid());
  }
  if (from._internal_old_node() != 0) {
    _this->_internal_set_old_node(from._internal_old_node());
  }
  if (from._internal_old_create_subid() != 0) {
    _this->_internal_set_old_create_subid(from._internal_old_create_subid());
  }
  if (from._internal_old_first_relfilenode_subid() != 0) {
    _this->_internal_set_old_first_relfilenode_subid(from._internal_old_first_relfilenode_subid());
  }
  if (from._internal_unique() != 0) {
    _this->_internal_set_unique(from._internal_unique());
  }
  if (from._internal_nulls_not_distinct() != 0) {
    _this->_internal_set_nulls_not_distinct(from._internal_nulls_not_distinct());
  }
  if (from._internal_primary() != 0) {
    _this->_internal_set_primary(from._internal_primary());
  }
  if (from._internal_isconstraint() != 0) {
    _this->_internal_set_isconstraint(from._internal_isconstraint());
  }
  if (from._internal_deferrable() != 0) {
    _this->_internal_set_deferrable(from._internal_deferrable());
  }
  if (from._internal_initdeferred() != 0) {
    _this->_internal_set_initdeferred(from._internal_initdeferred());
  }
  if (from._internal_transformed() != 0) {
    _this->_internal_set_transformed(from._internal_transformed());
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  if (from._internal_reset_default_tblspc() != 0) {
    _this->_internal_set_reset_default_tblspc(from._internal_reset_default_tblspc());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.index_params_.InternalSwap(&other->_impl_.index_params_);
  _impl_.index_including_params_.InternalSwap(&other->_impl_.index_including_params_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.exclude_op_names_.InternalSwap(&other->_impl_.exclude_op_names_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.idxname_, lhs_arena,
      &other->_impl_.idxname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.access_method_, lhs_arena,
      &other->_impl_.access_method_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.table_space_, lhs_arena,
      &other->_impl_.table_space_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.idxcomment_, lhs_arena,
      &other->_impl_.idxcomment_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.reset_default_tblspc_)
      + sizeof(IndexStmt::_impl_.reset_default_tblspc_)
      - PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IndexStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[88]);
}

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

class CreateFunctionStmt::_Internal {
 public:
  static const ::pg_query::TypeName& return_type(const CreateFunctionStmt* msg);
  static const ::pg_query::Node& sql_body(const CreateFunctionStmt* msg);
};

const ::pg_query::TypeName&
CreateFunctionStmt::_Internal::return_type(const CreateFunctionStmt* msg) {
  return *msg->_impl_.return_type_;
}
const ::pg_query::Node&
CreateFunctionStmt::_Internal::sql_body(const CreateFunctionStmt* msg) {
  return *msg->_impl_.sql_body_;
}
CreateFunctionStmt::CreateFunctionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateFunctionStmt)
}
CreateFunctionStmt::CreateFunctionStmt(const CreateFunctionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateFunctionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.funcname_){from._impl_.funcname_}
    , decltype(_impl_.parameters_){from._impl_.parameters_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.return_type_){nullptr}
    , decltype(_impl_.sql_body_){nullptr}
    , decltype(_impl_.is_procedure_){}
    , decltype(_impl_.replace_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_return_type()) {
    _this->_impl_.return_type_ = new ::pg_query::TypeName(*from._impl_.return_type_);
  }
  if (from._internal_has_sql_body()) {
    _this->_impl_.sql_body_ = new ::pg_query::Node(*from._impl_.sql_body_);
  }
  ::memcpy(&_impl_.is_procedure_, &from._impl_.is_procedure_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.replace_) -
    reinterpret_cast<char*>(&_impl_.is_procedure_)) + sizeof(_impl_.replace_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateFunctionStmt)
}

inline void CreateFunctionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.funcname_){arena}
    , decltype(_impl_.parameters_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.return_type_){nullptr}
    , decltype(_impl_.sql_body_){nullptr}
    , decltype(_impl_.is_procedure_){false}
    , decltype(_impl_.replace_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateFunctionStmt::~CreateFunctionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateFunctionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateFunctionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.funcname_.~RepeatedPtrField();
  _impl_.parameters_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.return_type_;
  if (this != internal_default_instance()) delete _impl_.sql_body_;
}

void CreateFunctionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.funcname_.Clear();
  _impl_.parameters_.Clear();
  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.return_type_ != nullptr) {
    delete _impl_.return_type_;
  }
  _impl_.return_type_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.sql_body_ != nullptr) {
    delete _impl_.sql_body_;
  }
  _impl_.sql_body_ = nullptr;
  ::memset(&_impl_.is_procedure_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.replace_) -
      reinterpret_cast<char*>(&_impl_.is_procedure_)) + sizeof(_impl_.replace_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateFunctionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool is_procedure = 1 [json_name = "is_procedure"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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;
      // .pg_query.Node sql_body = 7 [json_name = "sql_body"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_sql_body(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // bool is_procedure = 1 [json_name = "is_procedure"];
  if (this->_internal_is_procedure() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_is_procedure(), target);
  }

  // bool replace = 2 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_replace(), target);
  }

  // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_parameters_size()); i < n; i++) {
    const auto& repfield = this->_internal_parameters(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
  if (this->_internal_has_return_type()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::return_type(this),
        _Internal::return_type(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node sql_body = 7 [json_name = "sql_body"];
  if (this->_internal_has_sql_body()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::sql_body(this),
        _Internal::sql_body(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
  if (this->_internal_has_return_type()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.return_type_);
  }

  // .pg_query.Node sql_body = 7 [json_name = "sql_body"];
  if (this->_internal_has_sql_body()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.sql_body_);
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateFunctionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateFunctionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateFunctionStmt::GetClassData() const { return &_class_data_; }


void CreateFunctionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateFunctionStmt*>(&to_msg);
  auto& from = static_cast<const CreateFunctionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateFunctionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.funcname_.MergeFrom(from._impl_.funcname_);
  _this->_impl_.parameters_.MergeFrom(from._impl_.parameters_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_return_type()) {
    _this->_internal_mutable_return_type()->::pg_query::TypeName::MergeFrom(
        from._internal_return_type());
  }
  if (from._internal_has_sql_body()) {
    _this->_internal_mutable_sql_body()->::pg_query::Node::MergeFrom(
        from._internal_sql_body());
  }
  if (from._internal_is_procedure() != 0) {
    _this->_internal_set_is_procedure(from._internal_is_procedure());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  _impl_.parameters_.InternalSwap(&other->_impl_.parameters_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.replace_)
      + sizeof(CreateFunctionStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.return_type_)>(
          reinterpret_cast<char*>(&_impl_.return_type_),
          reinterpret_cast<char*>(&other->_impl_.return_type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateFunctionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[89]);
}

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

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->_impl_.func_;
}
AlterFunctionStmt::AlterFunctionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterFunctionStmt)
}
AlterFunctionStmt::AlterFunctionStmt(const AlterFunctionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterFunctionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.actions_){from._impl_.actions_}
    , decltype(_impl_.func_){nullptr}
    , decltype(_impl_.objtype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_func()) {
    _this->_impl_.func_ = new ::pg_query::ObjectWithArgs(*from._impl_.func_);
  }
  _this->_impl_.objtype_ = from._impl_.objtype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterFunctionStmt)
}

inline void AlterFunctionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.actions_){arena}
    , decltype(_impl_.func_){nullptr}
    , decltype(_impl_.objtype_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterFunctionStmt::~AlterFunctionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterFunctionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterFunctionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.actions_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.func_;
}

void AlterFunctionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.actions_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.func_ != nullptr) {
    delete _impl_.func_;
  }
  _impl_.func_ = nullptr;
  _impl_.objtype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterFunctionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_objtype(), target);
  }

  // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
  if (this->_internal_has_func()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::func(this),
        _Internal::func(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node actions = 3 [json_name = "actions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_actions_size()); i < n; i++) {
    const auto& repfield = this->_internal_actions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.actions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
  if (this->_internal_has_func()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.func_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterFunctionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterFunctionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterFunctionStmt::GetClassData() const { return &_class_data_; }


void AlterFunctionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterFunctionStmt*>(&to_msg);
  auto& from = static_cast<const AlterFunctionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterFunctionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.actions_.MergeFrom(from._impl_.actions_);
  if (from._internal_has_func()) {
    _this->_internal_mutable_func()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_func());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.actions_.InternalSwap(&other->_impl_.actions_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.objtype_)
      + sizeof(AlterFunctionStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.func_)>(
          reinterpret_cast<char*>(&_impl_.func_),
          reinterpret_cast<char*>(&other->_impl_.func_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterFunctionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[90]);
}

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

class DoStmt::_Internal {
 public:
};

DoStmt::DoStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DoStmt)
}
DoStmt::DoStmt(const DoStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DoStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.DoStmt)
}

inline void DoStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DoStmt::~DoStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DoStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DoStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
}

void DoStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* DoStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node args = 1 [json_name = "args"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .pg_query.Node args = 1 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DoStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DoStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DoStmt::GetClassData() const { return &_class_data_; }


void DoStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DoStmt*>(&to_msg);
  auto& from = static_cast<const DoStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DoStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DoStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[91]);
}

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

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->_impl_.relation_;
}
const ::pg_query::Node&
RenameStmt::_Internal::object(const RenameStmt* msg) {
  return *msg->_impl_.object_;
}
RenameStmt::RenameStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RenameStmt)
}
RenameStmt::RenameStmt(const RenameStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RenameStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.subname_){}
    , decltype(_impl_.newname_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.rename_type_){}
    , decltype(_impl_.relation_type_){}
    , decltype(_impl_.behavior_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_subname().empty()) {
    _this->_impl_.subname_.Set(from._internal_subname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.newname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.newname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_newname().empty()) {
    _this->_impl_.newname_.Set(from._internal_newname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_object()) {
    _this->_impl_.object_ = new ::pg_query::Node(*from._impl_.object_);
  }
  ::memcpy(&_impl_.rename_type_, &from._impl_.rename_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.missing_ok_) -
    reinterpret_cast<char*>(&_impl_.rename_type_)) + sizeof(_impl_.missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RenameStmt)
}

inline void RenameStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.subname_){}
    , decltype(_impl_.newname_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.rename_type_){0}
    , decltype(_impl_.relation_type_){0}
    , decltype(_impl_.behavior_){0}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.newname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.newname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

RenameStmt::~RenameStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RenameStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RenameStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.subname_.Destroy();
  _impl_.newname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.object_;
}

void RenameStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.subname_.ClearToEmpty();
  _impl_.newname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) {
    delete _impl_.object_;
  }
  _impl_.object_ = nullptr;
  ::memset(&_impl_.rename_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.rename_type_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RenameStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 42)) {
          auto str = _internal_mutable_subname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RenameStmt.subname"));
        } else
          goto handle_unusual;
        continue;
      // string newname = 6 [json_name = "newname"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_newname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RenameStmt.newname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          uint64_t 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<uint8_t>(tag) == 64)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
  if (this->_internal_rename_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_rename_type(), target);
  }

  // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
  if (this->_internal_relation_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_relation_type(), target);
  }

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

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

  // string subname = 5 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    ::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->_internal_newname().empty()) {
    ::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->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      7, this->_internal_behavior(), target);
  }

  // bool missing_ok = 8 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_subname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // string newname = 6 [json_name = "newname"];
  if (!this->_internal_newname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_newname());
  }

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

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

  // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
  if (this->_internal_rename_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_rename_type());
  }

  // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
  if (this->_internal_relation_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_relation_type());
  }

  // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RenameStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RenameStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RenameStmt::GetClassData() const { return &_class_data_; }


void RenameStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RenameStmt*>(&to_msg);
  auto& from = static_cast<const RenameStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RenameStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (!from._internal_newname().empty()) {
    _this->_internal_set_newname(from._internal_newname());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_object()) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_rename_type() != 0) {
    _this->_internal_set_rename_type(from._internal_rename_type());
  }
  if (from._internal_relation_type() != 0) {
    _this->_internal_set_relation_type(from._internal_relation_type());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.subname_, lhs_arena,
      &other->_impl_.subname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.newname_, lhs_arena,
      &other->_impl_.newname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.missing_ok_)
      + sizeof(RenameStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RenameStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[92]);
}

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

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->_impl_.relation_;
}
const ::pg_query::Node&
RuleStmt::_Internal::where_clause(const RuleStmt* msg) {
  return *msg->_impl_.where_clause_;
}
RuleStmt::RuleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RuleStmt)
}
RuleStmt::RuleStmt(const RuleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RuleStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.actions_){from._impl_.actions_}
    , decltype(_impl_.rulename_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.event_){}
    , decltype(_impl_.instead_){}
    , decltype(_impl_.replace_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.rulename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rulename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_rulename().empty()) {
    _this->_impl_.rulename_.Set(from._internal_rulename(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  ::memcpy(&_impl_.event_, &from._impl_.event_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.replace_) -
    reinterpret_cast<char*>(&_impl_.event_)) + sizeof(_impl_.replace_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RuleStmt)
}

inline void RuleStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.actions_){arena}
    , decltype(_impl_.rulename_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.event_){0}
    , decltype(_impl_.instead_){false}
    , decltype(_impl_.replace_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.rulename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rulename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

RuleStmt::~RuleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RuleStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RuleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.actions_.~RepeatedPtrField();
  _impl_.rulename_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
}

void RuleStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.actions_.Clear();
  _impl_.rulename_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  ::memset(&_impl_.event_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.replace_) -
      reinterpret_cast<char*>(&_impl_.event_)) + sizeof(_impl_.replace_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RuleStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_rulename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RuleStmt.rulename"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 32)) {
          uint64_t 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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string rulename = 2 [json_name = "rulename"];
  if (!this->_internal_rulename().empty()) {
    ::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->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CmdType event = 4 [json_name = "event"];
  if (this->_internal_event() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      4, this->_internal_event(), target);
  }

  // bool instead = 5 [json_name = "instead"];
  if (this->_internal_instead() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_instead(), target);
  }

  // repeated .pg_query.Node actions = 6 [json_name = "actions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_actions_size()); i < n; i++) {
    const auto& repfield = this->_internal_actions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_replace(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.actions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string rulename = 2 [json_name = "rulename"];
  if (!this->_internal_rulename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_rulename());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // .pg_query.CmdType event = 4 [json_name = "event"];
  if (this->_internal_event() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_event());
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RuleStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RuleStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RuleStmt::GetClassData() const { return &_class_data_; }


void RuleStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RuleStmt*>(&to_msg);
  auto& from = static_cast<const RuleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RuleStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.actions_.MergeFrom(from._impl_.actions_);
  if (!from._internal_rulename().empty()) {
    _this->_internal_set_rulename(from._internal_rulename());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_event() != 0) {
    _this->_internal_set_event(from._internal_event());
  }
  if (from._internal_instead() != 0) {
    _this->_internal_set_instead(from._internal_instead());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.actions_.InternalSwap(&other->_impl_.actions_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.rulename_, lhs_arena,
      &other->_impl_.rulename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.replace_)
      + sizeof(RuleStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RuleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[93]);
}

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

class NotifyStmt::_Internal {
 public:
};

NotifyStmt::NotifyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.NotifyStmt)
}
NotifyStmt::NotifyStmt(const NotifyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  NotifyStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.conditionname_){}
    , decltype(_impl_.payload_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.conditionname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conditionname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_conditionname().empty()) {
    _this->_impl_.conditionname_.Set(from._internal_conditionname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.payload_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.payload_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_payload().empty()) {
    _this->_impl_.payload_.Set(from._internal_payload(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.NotifyStmt)
}

inline void NotifyStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.conditionname_){}
    , decltype(_impl_.payload_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.conditionname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conditionname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.payload_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.payload_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

NotifyStmt::~NotifyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.NotifyStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void NotifyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.conditionname_.Destroy();
  _impl_.payload_.Destroy();
}

void NotifyStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

  _impl_.conditionname_.ClearToEmpty();
  _impl_.payload_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* NotifyStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string conditionname = 1 [json_name = "conditionname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_conditionname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.NotifyStmt.conditionname"));
        } else
          goto handle_unusual;
        continue;
      // string payload = 2 [json_name = "payload"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_payload();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.NotifyStmt.payload"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    ::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->_internal_payload().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_conditionname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conditionname());
  }

  // string payload = 2 [json_name = "payload"];
  if (!this->_internal_payload().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_payload());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NotifyStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    NotifyStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NotifyStmt::GetClassData() const { return &_class_data_; }


void NotifyStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<NotifyStmt*>(&to_msg);
  auto& from = static_cast<const NotifyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NotifyStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_conditionname().empty()) {
    _this->_internal_set_conditionname(from._internal_conditionname());
  }
  if (!from._internal_payload().empty()) {
    _this->_internal_set_payload(from._internal_payload());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.conditionname_, lhs_arena,
      &other->_impl_.conditionname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.payload_, lhs_arena,
      &other->_impl_.payload_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata NotifyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[94]);
}

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

class ListenStmt::_Internal {
 public:
};

ListenStmt::ListenStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ListenStmt)
}
ListenStmt::ListenStmt(const ListenStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ListenStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.conditionname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.conditionname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conditionname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_conditionname().empty()) {
    _this->_impl_.conditionname_.Set(from._internal_conditionname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ListenStmt)
}

inline void ListenStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.conditionname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.conditionname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conditionname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ListenStmt::~ListenStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ListenStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ListenStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.conditionname_.Destroy();
}

void ListenStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

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

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

const char* ListenStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string conditionname = 1 [json_name = "conditionname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_conditionname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ListenStmt.conditionname"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_conditionname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conditionname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ListenStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ListenStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ListenStmt::GetClassData() const { return &_class_data_; }


void ListenStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ListenStmt*>(&to_msg);
  auto& from = static_cast<const ListenStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ListenStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_conditionname().empty()) {
    _this->_internal_set_conditionname(from._internal_conditionname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.conditionname_, lhs_arena,
      &other->_impl_.conditionname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata ListenStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[95]);
}

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

class UnlistenStmt::_Internal {
 public:
};

UnlistenStmt::UnlistenStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.UnlistenStmt)
}
UnlistenStmt::UnlistenStmt(const UnlistenStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  UnlistenStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.conditionname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.conditionname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conditionname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_conditionname().empty()) {
    _this->_impl_.conditionname_.Set(from._internal_conditionname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.UnlistenStmt)
}

inline void UnlistenStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.conditionname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.conditionname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conditionname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

UnlistenStmt::~UnlistenStmt() {
  // @@protoc_insertion_point(destructor:pg_query.UnlistenStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void UnlistenStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.conditionname_.Destroy();
}

void UnlistenStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void UnlistenStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.UnlistenStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.conditionname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* UnlistenStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string conditionname = 1 [json_name = "conditionname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_conditionname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.UnlistenStmt.conditionname"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* UnlistenStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.UnlistenStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_conditionname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conditionname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UnlistenStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    UnlistenStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UnlistenStmt::GetClassData() const { return &_class_data_; }


void UnlistenStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<UnlistenStmt*>(&to_msg);
  auto& from = static_cast<const UnlistenStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.UnlistenStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_conditionname().empty()) {
    _this->_internal_set_conditionname(from._internal_conditionname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.conditionname_, lhs_arena,
      &other->_impl_.conditionname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata UnlistenStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[96]);
}

// ===================================================================

class TransactionStmt::_Internal {
 public:
};

TransactionStmt::TransactionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TransactionStmt)
}
TransactionStmt::TransactionStmt(const TransactionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TransactionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.savepoint_name_){}
    , decltype(_impl_.gid_){}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.chain_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.savepoint_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.savepoint_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_savepoint_name().empty()) {
    _this->_impl_.savepoint_name_.Set(from._internal_savepoint_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.gid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.gid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_gid().empty()) {
    _this->_impl_.gid_.Set(from._internal_gid(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.chain_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.chain_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TransactionStmt)
}

inline void TransactionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.savepoint_name_){}
    , decltype(_impl_.gid_){}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.chain_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.savepoint_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.savepoint_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.gid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.gid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

TransactionStmt::~TransactionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.TransactionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TransactionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.savepoint_name_.Destroy();
  _impl_.gid_.Destroy();
}

void TransactionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TransactionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TransactionStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.savepoint_name_.ClearToEmpty();
  _impl_.gid_.ClearToEmpty();
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.chain_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.chain_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TransactionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_savepoint_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.TransactionStmt.savepoint_name"));
        } else
          goto handle_unusual;
        continue;
      // string gid = 4 [json_name = "gid"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_gid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.TransactionStmt.gid"));
        } else
          goto handle_unusual;
        continue;
      // bool chain = 5 [json_name = "chain"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.chain_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TransactionStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TransactionStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string savepoint_name = 3 [json_name = "savepoint_name"];
  if (!this->_internal_savepoint_name().empty()) {
    ::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->_internal_gid().empty()) {
    ::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->_internal_chain() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_chain(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string savepoint_name = 3 [json_name = "savepoint_name"];
  if (!this->_internal_savepoint_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_savepoint_name());
  }

  // string gid = 4 [json_name = "gid"];
  if (!this->_internal_gid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_gid());
  }

  // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool chain = 5 [json_name = "chain"];
  if (this->_internal_chain() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TransactionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TransactionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TransactionStmt::GetClassData() const { return &_class_data_; }


void TransactionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TransactionStmt*>(&to_msg);
  auto& from = static_cast<const TransactionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TransactionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_savepoint_name().empty()) {
    _this->_internal_set_savepoint_name(from._internal_savepoint_name());
  }
  if (!from._internal_gid().empty()) {
    _this->_internal_set_gid(from._internal_gid());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_chain() != 0) {
    _this->_internal_set_chain(from._internal_chain());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.savepoint_name_, lhs_arena,
      &other->_impl_.savepoint_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.gid_, lhs_arena,
      &other->_impl_.gid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.chain_)
      + sizeof(TransactionStmt::_impl_.chain_)
      - PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TransactionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[97]);
}

// ===================================================================

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->_impl_.view_;
}
const ::pg_query::Node&
ViewStmt::_Internal::query(const ViewStmt* msg) {
  return *msg->_impl_.query_;
}
ViewStmt::ViewStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ViewStmt)
}
ViewStmt::ViewStmt(const ViewStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ViewStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.aliases_){from._impl_.aliases_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.view_){nullptr}
    , decltype(_impl_.query_){nullptr}
    , decltype(_impl_.replace_){}
    , decltype(_impl_.with_check_option_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_view()) {
    _this->_impl_.view_ = new ::pg_query::RangeVar(*from._impl_.view_);
  }
  if (from._internal_has_query()) {
    _this->_impl_.query_ = new ::pg_query::Node(*from._impl_.query_);
  }
  ::memcpy(&_impl_.replace_, &from._impl_.replace_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.with_check_option_) -
    reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.with_check_option_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ViewStmt)
}

inline void ViewStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.aliases_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.view_){nullptr}
    , decltype(_impl_.query_){nullptr}
    , decltype(_impl_.replace_){false}
    , decltype(_impl_.with_check_option_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ViewStmt::~ViewStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ViewStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ViewStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.aliases_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.view_;
  if (this != internal_default_instance()) delete _impl_.query_;
}

void ViewStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ViewStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ViewStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.aliases_.Clear();
  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.view_ != nullptr) {
    delete _impl_.view_;
  }
  _impl_.view_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) {
    delete _impl_.query_;
  }
  _impl_.query_ = nullptr;
  ::memset(&_impl_.replace_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.with_check_option_) -
      reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.with_check_option_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ViewStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar view = 1 [json_name = "view"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 48)) {
          uint64_t 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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ViewStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ViewStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar view = 1 [json_name = "view"];
  if (this->_internal_has_view()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::view(this),
        _Internal::view(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aliases = 2 [json_name = "aliases"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aliases_size()); i < n; i++) {
    const auto& repfield = this->_internal_aliases(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->_internal_has_query()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // bool replace = 4 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_replace(), target);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
  if (this->_internal_with_check_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      6, this->_internal_with_check_option(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar view = 1 [json_name = "view"];
  if (this->_internal_has_view()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.view_);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->_internal_has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.query_);
  }

  // bool replace = 4 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
  if (this->_internal_with_check_option() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_with_check_option());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ViewStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ViewStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ViewStmt::GetClassData() const { return &_class_data_; }


void ViewStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ViewStmt*>(&to_msg);
  auto& from = static_cast<const ViewStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ViewStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.aliases_.MergeFrom(from._impl_.aliases_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_view()) {
    _this->_internal_mutable_view()->::pg_query::RangeVar::MergeFrom(
        from._internal_view());
  }
  if (from._internal_has_query()) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_with_check_option() != 0) {
    _this->_internal_set_with_check_option(from._internal_with_check_option());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.aliases_.InternalSwap(&other->_impl_.aliases_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.with_check_option_)
      + sizeof(ViewStmt::_impl_.with_check_option_)
      - PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.view_)>(
          reinterpret_cast<char*>(&_impl_.view_),
          reinterpret_cast<char*>(&other->_impl_.view_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ViewStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[98]);
}

// ===================================================================

class LoadStmt::_Internal {
 public:
};

LoadStmt::LoadStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.LoadStmt)
}
LoadStmt::LoadStmt(const LoadStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  LoadStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.filename_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.filename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.filename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_filename().empty()) {
    _this->_impl_.filename_.Set(from._internal_filename(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.LoadStmt)
}

inline void LoadStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.filename_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.filename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.filename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

LoadStmt::~LoadStmt() {
  // @@protoc_insertion_point(destructor:pg_query.LoadStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void LoadStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.filename_.Destroy();
}

void LoadStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void LoadStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LoadStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.filename_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LoadStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string filename = 1 [json_name = "filename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_filename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.LoadStmt.filename"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* LoadStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LoadStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string filename = 1 [json_name = "filename"];
  if (!this->_internal_filename().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_filename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_filename());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LoadStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    LoadStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LoadStmt::GetClassData() const { return &_class_data_; }


void LoadStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<LoadStmt*>(&to_msg);
  auto& from = static_cast<const LoadStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LoadStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_filename().empty()) {
    _this->_internal_set_filename(from._internal_filename());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.filename_, lhs_arena,
      &other->_impl_.filename_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata LoadStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[99]);
}

// ===================================================================

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->_impl_.type_name_;
}
const ::pg_query::CollateClause&
CreateDomainStmt::_Internal::coll_clause(const CreateDomainStmt* msg) {
  return *msg->_impl_.coll_clause_;
}
CreateDomainStmt::CreateDomainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateDomainStmt)
}
CreateDomainStmt::CreateDomainStmt(const CreateDomainStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateDomainStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.domainname_){from._impl_.domainname_}
    , decltype(_impl_.constraints_){from._impl_.constraints_}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.coll_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_type_name()) {
    _this->_impl_.type_name_ = new ::pg_query::TypeName(*from._impl_.type_name_);
  }
  if (from._internal_has_coll_clause()) {
    _this->_impl_.coll_clause_ = new ::pg_query::CollateClause(*from._impl_.coll_clause_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateDomainStmt)
}

inline void CreateDomainStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.domainname_){arena}
    , decltype(_impl_.constraints_){arena}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.coll_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateDomainStmt::~CreateDomainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateDomainStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateDomainStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.domainname_.~RepeatedPtrField();
  _impl_.constraints_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.type_name_;
  if (this != internal_default_instance()) delete _impl_.coll_clause_;
}

void CreateDomainStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateDomainStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateDomainStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.domainname_.Clear();
  _impl_.constraints_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) {
    delete _impl_.type_name_;
  }
  _impl_.type_name_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.coll_clause_ != nullptr) {
    delete _impl_.coll_clause_;
  }
  _impl_.coll_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateDomainStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateDomainStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateDomainStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_domainname_size()); i < n; i++) {
    const auto& repfield = this->_internal_domainname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
  if (this->_internal_has_coll_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::coll_clause(this),
        _Internal::coll_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.constraints_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.type_name_);
  }

  // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
  if (this->_internal_has_coll_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.coll_clause_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateDomainStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateDomainStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateDomainStmt::GetClassData() const { return &_class_data_; }


void CreateDomainStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateDomainStmt*>(&to_msg);
  auto& from = static_cast<const CreateDomainStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateDomainStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.domainname_.MergeFrom(from._impl_.domainname_);
  _this->_impl_.constraints_.MergeFrom(from._impl_.constraints_);
  if (from._internal_has_type_name()) {
    _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
        from._internal_type_name());
  }
  if (from._internal_has_coll_clause()) {
    _this->_internal_mutable_coll_clause()->::pg_query::CollateClause::MergeFrom(
        from._internal_coll_clause());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.domainname_.InternalSwap(&other->_impl_.domainname_);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.coll_clause_)
      + sizeof(CreateDomainStmt::_impl_.coll_clause_)
      - PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateDomainStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[100]);
}

// ===================================================================

class CreatedbStmt::_Internal {
 public:
};

CreatedbStmt::CreatedbStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatedbStmt)
}
CreatedbStmt::CreatedbStmt(const CreatedbStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreatedbStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.dbname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_dbname().empty()) {
    _this->_impl_.dbname_.Set(from._internal_dbname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatedbStmt)
}

inline void CreatedbStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.dbname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreatedbStmt::~CreatedbStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatedbStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreatedbStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.dbname_.Destroy();
}

void CreatedbStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreatedbStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatedbStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatedbStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreatedbStmt.dbname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreatedbStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatedbStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreatedbStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreatedbStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreatedbStmt::GetClassData() const { return &_class_data_; }


void CreatedbStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreatedbStmt*>(&to_msg);
  auto& from = static_cast<const CreatedbStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatedbStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.dbname_, lhs_arena,
      &other->_impl_.dbname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatedbStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[101]);
}

// ===================================================================

class DropdbStmt::_Internal {
 public:
};

DropdbStmt::DropdbStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropdbStmt)
}
DropdbStmt::DropdbStmt(const DropdbStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropdbStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.dbname_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_dbname().empty()) {
    _this->_impl_.dbname_.Set(from._internal_dbname(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.missing_ok_ = from._impl_.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropdbStmt)
}

inline void DropdbStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.dbname_){}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DropdbStmt::~DropdbStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropdbStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DropdbStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.dbname_.Destroy();
}

void DropdbStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DropdbStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropdbStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.dbname_.ClearToEmpty();
  _impl_.missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropdbStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DropdbStmt.dbname"));
        } else
          goto handle_unusual;
        continue;
      // bool missing_ok = 2 [json_name = "missing_ok"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropdbStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropdbStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    ::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->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropdbStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DropdbStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropdbStmt::GetClassData() const { return &_class_data_; }


void DropdbStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DropdbStmt*>(&to_msg);
  auto& from = static_cast<const DropdbStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropdbStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.dbname_, lhs_arena,
      &other->_impl_.dbname_, rhs_arena
  );
  swap(_impl_.missing_ok_, other->_impl_.missing_ok_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropdbStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[102]);
}

// ===================================================================

class VacuumStmt::_Internal {
 public:
};

VacuumStmt::VacuumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.VacuumStmt)
}
VacuumStmt::VacuumStmt(const VacuumStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  VacuumStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.rels_){from._impl_.rels_}
    , decltype(_impl_.is_vacuumcmd_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.is_vacuumcmd_ = from._impl_.is_vacuumcmd_;
  // @@protoc_insertion_point(copy_constructor:pg_query.VacuumStmt)
}

inline void VacuumStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.rels_){arena}
    , decltype(_impl_.is_vacuumcmd_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

VacuumStmt::~VacuumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VacuumStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void VacuumStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.rels_.~RepeatedPtrField();
}

void VacuumStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void VacuumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VacuumStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.rels_.Clear();
  _impl_.is_vacuumcmd_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VacuumStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node options = 1 [json_name = "options"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.is_vacuumcmd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* VacuumStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VacuumStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node rels = 2 [json_name = "rels"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_rels_size()); i < n; i++) {
    const auto& repfield = this->_internal_rels(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
  if (this->_internal_is_vacuumcmd() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_vacuumcmd(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.rels_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
  if (this->_internal_is_vacuumcmd() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VacuumStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    VacuumStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VacuumStmt::GetClassData() const { return &_class_data_; }


void VacuumStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<VacuumStmt*>(&to_msg);
  auto& from = static_cast<const VacuumStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VacuumStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _this->_impl_.rels_.MergeFrom(from._impl_.rels_);
  if (from._internal_is_vacuumcmd() != 0) {
    _this->_internal_set_is_vacuumcmd(from._internal_is_vacuumcmd());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.rels_.InternalSwap(&other->_impl_.rels_);
  swap(_impl_.is_vacuumcmd_, other->_impl_.is_vacuumcmd_);
}

::PROTOBUF_NAMESPACE_ID::Metadata VacuumStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[103]);
}

// ===================================================================

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->_impl_.query_;
}
ExplainStmt::ExplainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ExplainStmt)
}
ExplainStmt::ExplainStmt(const ExplainStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ExplainStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.query_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_query()) {
    _this->_impl_.query_ = new ::pg_query::Node(*from._impl_.query_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ExplainStmt)
}

inline void ExplainStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.query_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ExplainStmt::~ExplainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ExplainStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ExplainStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.query_;
}

void ExplainStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ExplainStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ExplainStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) {
    delete _impl_.query_;
  }
  _impl_.query_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ExplainStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node query = 1 [json_name = "query"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ExplainStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ExplainStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node query = 1 [json_name = "query"];
  if (this->_internal_has_query()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node query = 1 [json_name = "query"];
  if (this->_internal_has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.query_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ExplainStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ExplainStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ExplainStmt::GetClassData() const { return &_class_data_; }


void ExplainStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ExplainStmt*>(&to_msg);
  auto& from = static_cast<const ExplainStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ExplainStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_query()) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  swap(_impl_.query_, other->_impl_.query_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ExplainStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[104]);
}

// ===================================================================

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->_impl_.query_;
}
const ::pg_query::IntoClause&
CreateTableAsStmt::_Internal::into(const CreateTableAsStmt* msg) {
  return *msg->_impl_.into_;
}
CreateTableAsStmt::CreateTableAsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTableAsStmt)
}
CreateTableAsStmt::CreateTableAsStmt(const CreateTableAsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateTableAsStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.query_){nullptr}
    , decltype(_impl_.into_){nullptr}
    , decltype(_impl_.objtype_){}
    , decltype(_impl_.is_select_into_){}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_query()) {
    _this->_impl_.query_ = new ::pg_query::Node(*from._impl_.query_);
  }
  if (from._internal_has_into()) {
    _this->_impl_.into_ = new ::pg_query::IntoClause(*from._impl_.into_);
  }
  ::memcpy(&_impl_.objtype_, &from._impl_.objtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.if_not_exists_) -
    reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTableAsStmt)
}

inline void CreateTableAsStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.query_){nullptr}
    , decltype(_impl_.into_){nullptr}
    , decltype(_impl_.objtype_){0}
    , decltype(_impl_.is_select_into_){false}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateTableAsStmt::~CreateTableAsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTableAsStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateTableAsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.query_;
  if (this != internal_default_instance()) delete _impl_.into_;
}

void CreateTableAsStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateTableAsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTableAsStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) {
    delete _impl_.query_;
  }
  _impl_.query_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.into_ != nullptr) {
    delete _impl_.into_;
  }
  _impl_.into_ = nullptr;
  ::memset(&_impl_.objtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTableAsStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node query = 1 [json_name = "query"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_into(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_objtype(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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateTableAsStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTableAsStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node query = 1 [json_name = "query"];
  if (this->_internal_has_query()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // .pg_query.IntoClause into = 2 [json_name = "into"];
  if (this->_internal_has_into()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::into(this),
        _Internal::into(this).GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_objtype(), target);
  }

  // bool is_select_into = 4 [json_name = "is_select_into"];
  if (this->_internal_is_select_into() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_is_select_into(), target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.query_);
  }

  // .pg_query.IntoClause into = 2 [json_name = "into"];
  if (this->_internal_has_into()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.into_);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool is_select_into = 4 [json_name = "is_select_into"];
  if (this->_internal_is_select_into() != 0) {
    total_size += 1 + 1;
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateTableAsStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateTableAsStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateTableAsStmt::GetClassData() const { return &_class_data_; }


void CreateTableAsStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateTableAsStmt*>(&to_msg);
  auto& from = static_cast<const CreateTableAsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTableAsStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_query()) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  if (from._internal_has_into()) {
    _this->_internal_mutable_into()->::pg_query::IntoClause::MergeFrom(
        from._internal_into());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_is_select_into() != 0) {
    _this->_internal_set_is_select_into(from._internal_is_select_into());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.if_not_exists_)
      + sizeof(CreateTableAsStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.query_)>(
          reinterpret_cast<char*>(&_impl_.query_),
          reinterpret_cast<char*>(&other->_impl_.query_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTableAsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[105]);
}

// ===================================================================

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->_impl_.sequence_;
}
CreateSeqStmt::CreateSeqStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSeqStmt)
}
CreateSeqStmt::CreateSeqStmt(const CreateSeqStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateSeqStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.sequence_){nullptr}
    , decltype(_impl_.owner_id_){}
    , decltype(_impl_.for_identity_){}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_sequence()) {
    _this->_impl_.sequence_ = new ::pg_query::RangeVar(*from._impl_.sequence_);
  }
  ::memcpy(&_impl_.owner_id_, &from._impl_.owner_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.if_not_exists_) -
    reinterpret_cast<char*>(&_impl_.owner_id_)) + sizeof(_impl_.if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSeqStmt)
}

inline void CreateSeqStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.sequence_){nullptr}
    , decltype(_impl_.owner_id_){0u}
    , decltype(_impl_.for_identity_){false}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateSeqStmt::~CreateSeqStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSeqStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateSeqStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.sequence_;
}

void CreateSeqStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateSeqStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSeqStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.sequence_ != nullptr) {
    delete _impl_.sequence_;
  }
  _impl_.sequence_ = nullptr;
  ::memset(&_impl_.owner_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.owner_id_)) + sizeof(_impl_.if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateSeqStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateSeqStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSeqStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->_internal_has_sequence()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::sequence(this),
        _Internal::sequence(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 owner_id = 3 [json_name = "ownerId"];
  if (this->_internal_owner_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_owner_id(), target);
  }

  // bool for_identity = 4 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_for_identity(), target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->_internal_has_sequence()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.sequence_);
  }

  // uint32 owner_id = 3 [json_name = "ownerId"];
  if (this->_internal_owner_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_owner_id());
  }

  // bool for_identity = 4 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    total_size += 1 + 1;
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateSeqStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateSeqStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateSeqStmt::GetClassData() const { return &_class_data_; }


void CreateSeqStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateSeqStmt*>(&to_msg);
  auto& from = static_cast<const CreateSeqStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSeqStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_sequence()) {
    _this->_internal_mutable_sequence()->::pg_query::RangeVar::MergeFrom(
        from._internal_sequence());
  }
  if (from._internal_owner_id() != 0) {
    _this->_internal_set_owner_id(from._internal_owner_id());
  }
  if (from._internal_for_identity() != 0) {
    _this->_internal_set_for_identity(from._internal_for_identity());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.if_not_exists_)
      + sizeof(CreateSeqStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.sequence_)>(
          reinterpret_cast<char*>(&_impl_.sequence_),
          reinterpret_cast<char*>(&other->_impl_.sequence_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateSeqStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[106]);
}

// ===================================================================

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->_impl_.sequence_;
}
AlterSeqStmt::AlterSeqStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSeqStmt)
}
AlterSeqStmt::AlterSeqStmt(const AlterSeqStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterSeqStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.sequence_){nullptr}
    , decltype(_impl_.for_identity_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_sequence()) {
    _this->_impl_.sequence_ = new ::pg_query::RangeVar(*from._impl_.sequence_);
  }
  ::memcpy(&_impl_.for_identity_, &from._impl_.for_identity_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.missing_ok_) -
    reinterpret_cast<char*>(&_impl_.for_identity_)) + sizeof(_impl_.missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSeqStmt)
}

inline void AlterSeqStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.sequence_){nullptr}
    , decltype(_impl_.for_identity_){false}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterSeqStmt::~AlterSeqStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSeqStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterSeqStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.sequence_;
}

void AlterSeqStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterSeqStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSeqStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.sequence_ != nullptr) {
    delete _impl_.sequence_;
  }
  _impl_.sequence_ = nullptr;
  ::memset(&_impl_.for_identity_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.for_identity_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterSeqStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterSeqStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSeqStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->_internal_has_sequence()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::sequence(this),
        _Internal::sequence(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool for_identity = 3 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_for_identity(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (this->_internal_has_sequence()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.sequence_);
  }

  // bool for_identity = 3 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    total_size += 1 + 1;
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterSeqStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterSeqStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterSeqStmt::GetClassData() const { return &_class_data_; }


void AlterSeqStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterSeqStmt*>(&to_msg);
  auto& from = static_cast<const AlterSeqStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSeqStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_sequence()) {
    _this->_internal_mutable_sequence()->::pg_query::RangeVar::MergeFrom(
        from._internal_sequence());
  }
  if (from._internal_for_identity() != 0) {
    _this->_internal_set_for_identity(from._internal_for_identity());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.missing_ok_)
      + sizeof(AlterSeqStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.sequence_)>(
          reinterpret_cast<char*>(&_impl_.sequence_),
          reinterpret_cast<char*>(&other->_impl_.sequence_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterSeqStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[107]);
}

// ===================================================================

class VariableSetStmt::_Internal {
 public:
};

VariableSetStmt::VariableSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.VariableSetStmt)
}
VariableSetStmt::VariableSetStmt(const VariableSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  VariableSetStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.is_local_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.is_local_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.is_local_));
  // @@protoc_insertion_point(copy_constructor:pg_query.VariableSetStmt)
}

inline void VariableSetStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.is_local_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

VariableSetStmt::~VariableSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VariableSetStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void VariableSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  _impl_.name_.Destroy();
}

void VariableSetStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void VariableSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VariableSetStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  _impl_.name_.ClearToEmpty();
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.is_local_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.is_local_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VariableSetStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.VariableSetStmt.name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 3 [json_name = "args"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.is_local_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* VariableSetStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VariableSetStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_is_local(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VariableSetStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    VariableSetStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VariableSetStmt::GetClassData() const { return &_class_data_; }


void VariableSetStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<VariableSetStmt*>(&to_msg);
  auto& from = static_cast<const VariableSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VariableSetStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_is_local() != 0) {
    _this->_internal_set_is_local(from._internal_is_local());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.is_local_)
      + sizeof(VariableSetStmt::_impl_.is_local_)
      - PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata VariableSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[108]);
}

// ===================================================================

class VariableShowStmt::_Internal {
 public:
};

VariableShowStmt::VariableShowStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.VariableShowStmt)
}
VariableShowStmt::VariableShowStmt(const VariableShowStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  VariableShowStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.VariableShowStmt)
}

inline void VariableShowStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

VariableShowStmt::~VariableShowStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VariableShowStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void VariableShowStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
}

void VariableShowStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void VariableShowStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VariableShowStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VariableShowStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.VariableShowStmt.name"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* VariableShowStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VariableShowStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VariableShowStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    VariableShowStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VariableShowStmt::GetClassData() const { return &_class_data_; }


void VariableShowStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<VariableShowStmt*>(&to_msg);
  auto& from = static_cast<const VariableShowStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VariableShowStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata VariableShowStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[109]);
}

// ===================================================================

class DiscardStmt::_Internal {
 public:
};

DiscardStmt::DiscardStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DiscardStmt)
}
DiscardStmt::DiscardStmt(const DiscardStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DiscardStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.target_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.target_ = from._impl_.target_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DiscardStmt)
}

inline void DiscardStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.target_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DiscardStmt::~DiscardStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DiscardStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DiscardStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void DiscardStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DiscardStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DiscardStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DiscardStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.DiscardMode target = 1 [json_name = "target"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_target(static_cast<::pg_query::DiscardMode>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DiscardStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DiscardStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.DiscardMode target = 1 [json_name = "target"];
  if (this->_internal_target() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_target(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_target() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_target());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DiscardStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DiscardStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DiscardStmt::GetClassData() const { return &_class_data_; }


void DiscardStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DiscardStmt*>(&to_msg);
  auto& from = static_cast<const DiscardStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DiscardStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_target() != 0) {
    _this->_internal_set_target(from._internal_target());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.target_, other->_impl_.target_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DiscardStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[110]);
}

// ===================================================================

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->_impl_.relation_;
}
const ::pg_query::Node&
CreateTrigStmt::_Internal::when_clause(const CreateTrigStmt* msg) {
  return *msg->_impl_.when_clause_;
}
const ::pg_query::RangeVar&
CreateTrigStmt::_Internal::constrrel(const CreateTrigStmt* msg) {
  return *msg->_impl_.constrrel_;
}
CreateTrigStmt::CreateTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTrigStmt)
}
CreateTrigStmt::CreateTrigStmt(const CreateTrigStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateTrigStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.funcname_){from._impl_.funcname_}
    , decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.columns_){from._impl_.columns_}
    , decltype(_impl_.transition_rels_){from._impl_.transition_rels_}
    , decltype(_impl_.trigname_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.when_clause_){nullptr}
    , decltype(_impl_.constrrel_){nullptr}
    , decltype(_impl_.replace_){}
    , decltype(_impl_.isconstraint_){}
    , decltype(_impl_.row_){}
    , decltype(_impl_.deferrable_){}
    , decltype(_impl_.timing_){}
    , decltype(_impl_.events_){}
    , decltype(_impl_.initdeferred_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.trigname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trigname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_trigname().empty()) {
    _this->_impl_.trigname_.Set(from._internal_trigname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_when_clause()) {
    _this->_impl_.when_clause_ = new ::pg_query::Node(*from._impl_.when_clause_);
  }
  if (from._internal_has_constrrel()) {
    _this->_impl_.constrrel_ = new ::pg_query::RangeVar(*from._impl_.constrrel_);
  }
  ::memcpy(&_impl_.replace_, &from._impl_.replace_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.initdeferred_) -
    reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.initdeferred_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTrigStmt)
}

inline void CreateTrigStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.funcname_){arena}
    , decltype(_impl_.args_){arena}
    , decltype(_impl_.columns_){arena}
    , decltype(_impl_.transition_rels_){arena}
    , decltype(_impl_.trigname_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.when_clause_){nullptr}
    , decltype(_impl_.constrrel_){nullptr}
    , decltype(_impl_.replace_){false}
    , decltype(_impl_.isconstraint_){false}
    , decltype(_impl_.row_){false}
    , decltype(_impl_.deferrable_){false}
    , decltype(_impl_.timing_){0}
    , decltype(_impl_.events_){0}
    , decltype(_impl_.initdeferred_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.trigname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trigname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateTrigStmt::~CreateTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTrigStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateTrigStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.funcname_.~RepeatedPtrField();
  _impl_.args_.~RepeatedPtrField();
  _impl_.columns_.~RepeatedPtrField();
  _impl_.transition_rels_.~RepeatedPtrField();
  _impl_.trigname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.when_clause_;
  if (this != internal_default_instance()) delete _impl_.constrrel_;
}

void CreateTrigStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTrigStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.funcname_.Clear();
  _impl_.args_.Clear();
  _impl_.columns_.Clear();
  _impl_.transition_rels_.Clear();
  _impl_.trigname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.when_clause_ != nullptr) {
    delete _impl_.when_clause_;
  }
  _impl_.when_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.constrrel_ != nullptr) {
    delete _impl_.constrrel_;
  }
  _impl_.constrrel_ = nullptr;
  ::memset(&_impl_.replace_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.initdeferred_) -
      reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.initdeferred_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTrigStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool replace = 1 [json_name = "replace"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.replace_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool isconstraint = 2 [json_name = "isconstraint"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.isconstraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string trigname = 3 [json_name = "trigname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_trigname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateTrigStmt.trigname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RangeVar relation = 4 [json_name = "relation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node funcname = 5 [json_name = "funcname"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          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<42>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node args = 6 [json_name = "args"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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;
      // bool row = 7 [json_name = "row"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.row_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 timing = 8 [json_name = "timing"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.timing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 events = 9 [json_name = "events"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _impl_.events_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node columns = 10 [json_name = "columns"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          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<82>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node when_clause = 11 [json_name = "whenClause"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_when_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          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<98>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool deferrable = 13 [json_name = "deferrable"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _impl_.deferrable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool initdeferred = 14 [json_name = "initdeferred"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
          _impl_.initdeferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 122)) {
          ptr = ctx->ParseMessage(_internal_mutable_constrrel(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateTrigStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTrigStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_replace(), target);
  }

  // bool isconstraint = 2 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_isconstraint(), target);
  }

  // string trigname = 3 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    ::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(
        3, this->_internal_trigname(), target);
  }

  // .pg_query.RangeVar relation = 4 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funcname = 5 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool row = 7 [json_name = "row"];
  if (this->_internal_row() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_row(), target);
  }

  // int32 timing = 8 [json_name = "timing"];
  if (this->_internal_timing() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(8, this->_internal_timing(), target);
  }

  // int32 events = 9 [json_name = "events"];
  if (this->_internal_events() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_events(), target);
  }

  // repeated .pg_query.Node columns = 10 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node when_clause = 11 [json_name = "whenClause"];
  if (this->_internal_has_when_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, _Internal::when_clause(this),
        _Internal::when_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_transition_rels_size()); i < n; i++) {
    const auto& repfield = this->_internal_transition_rels(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool deferrable = 13 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(13, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 14 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(14, this->_internal_initdeferred(), target);
  }

  // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"];
  if (this->_internal_has_constrrel()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(15, _Internal::constrrel(this),
        _Internal::constrrel(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node funcname = 5 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->_impl_.funcname_) {
    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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node columns = 10 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->_impl_.columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"];
  total_size += 1UL * this->_internal_transition_rels_size();
  for (const auto& msg : this->_impl_.transition_rels_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string trigname = 3 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_trigname());
  }

  // .pg_query.RangeVar relation = 4 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node when_clause = 11 [json_name = "whenClause"];
  if (this->_internal_has_when_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.when_clause_);
  }

  // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"];
  if (this->_internal_has_constrrel()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.constrrel_);
  }

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 1 + 1;
  }

  // bool isconstraint = 2 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    total_size += 1 + 1;
  }

  // bool row = 7 [json_name = "row"];
  if (this->_internal_row() != 0) {
    total_size += 1 + 1;
  }

  // bool deferrable = 13 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    total_size += 1 + 1;
  }

  // int32 timing = 8 [json_name = "timing"];
  if (this->_internal_timing() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_timing());
  }

  // int32 events = 9 [json_name = "events"];
  if (this->_internal_events() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_events());
  }

  // bool initdeferred = 14 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateTrigStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateTrigStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateTrigStmt::GetClassData() const { return &_class_data_; }


void CreateTrigStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateTrigStmt*>(&to_msg);
  auto& from = static_cast<const CreateTrigStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTrigStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.funcname_.MergeFrom(from._impl_.funcname_);
  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  _this->_impl_.columns_.MergeFrom(from._impl_.columns_);
  _this->_impl_.transition_rels_.MergeFrom(from._impl_.transition_rels_);
  if (!from._internal_trigname().empty()) {
    _this->_internal_set_trigname(from._internal_trigname());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_when_clause()) {
    _this->_internal_mutable_when_clause()->::pg_query::Node::MergeFrom(
        from._internal_when_clause());
  }
  if (from._internal_has_constrrel()) {
    _this->_internal_mutable_constrrel()->::pg_query::RangeVar::MergeFrom(
        from._internal_constrrel());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_isconstraint() != 0) {
    _this->_internal_set_isconstraint(from._internal_isconstraint());
  }
  if (from._internal_row() != 0) {
    _this->_internal_set_row(from._internal_row());
  }
  if (from._internal_deferrable() != 0) {
    _this->_internal_set_deferrable(from._internal_deferrable());
  }
  if (from._internal_timing() != 0) {
    _this->_internal_set_timing(from._internal_timing());
  }
  if (from._internal_events() != 0) {
    _this->_internal_set_events(from._internal_events());
  }
  if (from._internal_initdeferred() != 0) {
    _this->_internal_set_initdeferred(from._internal_initdeferred());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  _impl_.transition_rels_.InternalSwap(&other->_impl_.transition_rels_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.trigname_, lhs_arena,
      &other->_impl_.trigname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.initdeferred_)
      + sizeof(CreateTrigStmt::_impl_.initdeferred_)
      - PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTrigStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[111]);
}

// ===================================================================

class CreatePLangStmt::_Internal {
 public:
};

CreatePLangStmt::CreatePLangStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePLangStmt)
}
CreatePLangStmt::CreatePLangStmt(const CreatePLangStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreatePLangStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.plhandler_){from._impl_.plhandler_}
    , decltype(_impl_.plinline_){from._impl_.plinline_}
    , decltype(_impl_.plvalidator_){from._impl_.plvalidator_}
    , decltype(_impl_.plname_){}
    , decltype(_impl_.replace_){}
    , decltype(_impl_.pltrusted_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.plname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.plname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_plname().empty()) {
    _this->_impl_.plname_.Set(from._internal_plname(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.replace_, &from._impl_.replace_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.pltrusted_) -
    reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.pltrusted_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePLangStmt)
}

inline void CreatePLangStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.plhandler_){arena}
    , decltype(_impl_.plinline_){arena}
    , decltype(_impl_.plvalidator_){arena}
    , decltype(_impl_.plname_){}
    , decltype(_impl_.replace_){false}
    , decltype(_impl_.pltrusted_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.plname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.plname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreatePLangStmt::~CreatePLangStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePLangStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreatePLangStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.plhandler_.~RepeatedPtrField();
  _impl_.plinline_.~RepeatedPtrField();
  _impl_.plvalidator_.~RepeatedPtrField();
  _impl_.plname_.Destroy();
}

void CreatePLangStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreatePLangStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePLangStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.plhandler_.Clear();
  _impl_.plinline_.Clear();
  _impl_.plvalidator_.Clear();
  _impl_.plname_.ClearToEmpty();
  ::memset(&_impl_.replace_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.pltrusted_) -
      reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.pltrusted_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePLangStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool replace = 1 [json_name = "replace"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_plname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreatePLangStmt.plname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 48)) {
          _impl_.pltrusted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreatePLangStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePLangStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_replace(), target);
  }

  // string plname = 2 [json_name = "plname"];
  if (!this->_internal_plname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_plhandler_size()); i < n; i++) {
    const auto& repfield = this->_internal_plhandler(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_plinline_size()); i < n; i++) {
    const auto& repfield = this->_internal_plinline(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_plvalidator_size()); i < n; i++) {
    const auto& repfield = this->_internal_plvalidator(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool pltrusted = 6 [json_name = "pltrusted"];
  if (this->_internal_pltrusted() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_pltrusted(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.plvalidator_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string plname = 2 [json_name = "plname"];
  if (!this->_internal_plname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_plname());
  }

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 1 + 1;
  }

  // bool pltrusted = 6 [json_name = "pltrusted"];
  if (this->_internal_pltrusted() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreatePLangStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreatePLangStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreatePLangStmt::GetClassData() const { return &_class_data_; }


void CreatePLangStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreatePLangStmt*>(&to_msg);
  auto& from = static_cast<const CreatePLangStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePLangStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.plhandler_.MergeFrom(from._impl_.plhandler_);
  _this->_impl_.plinline_.MergeFrom(from._impl_.plinline_);
  _this->_impl_.plvalidator_.MergeFrom(from._impl_.plvalidator_);
  if (!from._internal_plname().empty()) {
    _this->_internal_set_plname(from._internal_plname());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_pltrusted() != 0) {
    _this->_internal_set_pltrusted(from._internal_pltrusted());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.plhandler_.InternalSwap(&other->_impl_.plhandler_);
  _impl_.plinline_.InternalSwap(&other->_impl_.plinline_);
  _impl_.plvalidator_.InternalSwap(&other->_impl_.plvalidator_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.plname_, lhs_arena,
      &other->_impl_.plname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.pltrusted_)
      + sizeof(CreatePLangStmt::_impl_.pltrusted_)
      - PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.replace_)>(
          reinterpret_cast<char*>(&_impl_.replace_),
          reinterpret_cast<char*>(&other->_impl_.replace_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePLangStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[112]);
}

// ===================================================================

class CreateRoleStmt::_Internal {
 public:
};

CreateRoleStmt::CreateRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateRoleStmt)
}
CreateRoleStmt::CreateRoleStmt(const CreateRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateRoleStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.role_){}
    , decltype(_impl_.stmt_type_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.role_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.role_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_role().empty()) {
    _this->_impl_.role_.Set(from._internal_role(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.stmt_type_ = from._impl_.stmt_type_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateRoleStmt)
}

inline void CreateRoleStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.role_){}
    , decltype(_impl_.stmt_type_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.role_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.role_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateRoleStmt::~CreateRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateRoleStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateRoleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.role_.Destroy();
}

void CreateRoleStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateRoleStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.role_.ClearToEmpty();
  _impl_.stmt_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateRoleStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_role();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateRoleStmt.role"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateRoleStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateRoleStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
  if (this->_internal_stmt_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_stmt_type(), target);
  }

  // string role = 2 [json_name = "role"];
  if (!this->_internal_role().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string role = 2 [json_name = "role"];
  if (!this->_internal_role().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_role());
  }

  // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
  if (this->_internal_stmt_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_stmt_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateRoleStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateRoleStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateRoleStmt::GetClassData() const { return &_class_data_; }


void CreateRoleStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateRoleStmt*>(&to_msg);
  auto& from = static_cast<const CreateRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateRoleStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_role().empty()) {
    _this->_internal_set_role(from._internal_role());
  }
  if (from._internal_stmt_type() != 0) {
    _this->_internal_set_stmt_type(from._internal_stmt_type());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.role_, lhs_arena,
      &other->_impl_.role_, rhs_arena
  );
  swap(_impl_.stmt_type_, other->_impl_.stmt_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[113]);
}

// ===================================================================

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->_impl_.role_;
}
AlterRoleStmt::AlterRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterRoleStmt)
}
AlterRoleStmt::AlterRoleStmt(const AlterRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterRoleStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.role_){nullptr}
    , decltype(_impl_.action_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_role()) {
    _this->_impl_.role_ = new ::pg_query::RoleSpec(*from._impl_.role_);
  }
  _this->_impl_.action_ = from._impl_.action_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterRoleStmt)
}

inline void AlterRoleStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.role_){nullptr}
    , decltype(_impl_.action_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterRoleStmt::~AlterRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterRoleStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterRoleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.role_;
}

void AlterRoleStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterRoleStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.role_ != nullptr) {
    delete _impl_.role_;
  }
  _impl_.role_ = nullptr;
  _impl_.action_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterRoleStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RoleSpec role = 1 [json_name = "role"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.action_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterRoleStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterRoleStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->_internal_has_role()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::role(this),
        _Internal::role(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 action = 3 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_action(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->_internal_has_role()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.role_);
  }

  // int32 action = 3 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_action());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterRoleStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterRoleStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterRoleStmt::GetClassData() const { return &_class_data_; }


void AlterRoleStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterRoleStmt*>(&to_msg);
  auto& from = static_cast<const AlterRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterRoleStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_role()) {
    _this->_internal_mutable_role()->::pg_query::RoleSpec::MergeFrom(
        from._internal_role());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.action_)
      + sizeof(AlterRoleStmt::_impl_.action_)
      - PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.role_)>(
          reinterpret_cast<char*>(&_impl_.role_),
          reinterpret_cast<char*>(&other->_impl_.role_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[114]);
}

// ===================================================================

class DropRoleStmt::_Internal {
 public:
};

DropRoleStmt::DropRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropRoleStmt)
}
DropRoleStmt::DropRoleStmt(const DropRoleStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropRoleStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){from._impl_.roles_}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.missing_ok_ = from._impl_.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropRoleStmt)
}

inline void DropRoleStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){arena}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DropRoleStmt::~DropRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropRoleStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DropRoleStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.roles_.~RepeatedPtrField();
}

void DropRoleStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DropRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropRoleStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropRoleStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node roles = 1 [json_name = "roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropRoleStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropRoleStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropRoleStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DropRoleStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropRoleStmt::GetClassData() const { return &_class_data_; }


void DropRoleStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DropRoleStmt*>(&to_msg);
  auto& from = static_cast<const DropRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropRoleStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.roles_.MergeFrom(from._impl_.roles_);
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  swap(_impl_.missing_ok_, other->_impl_.missing_ok_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[115]);
}

// ===================================================================

class LockStmt::_Internal {
 public:
};

LockStmt::LockStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.LockStmt)
}
LockStmt::LockStmt(const LockStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  LockStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.relations_){from._impl_.relations_}
    , decltype(_impl_.mode_){}
    , decltype(_impl_.nowait_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.mode_, &from._impl_.mode_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.nowait_) -
    reinterpret_cast<char*>(&_impl_.mode_)) + sizeof(_impl_.nowait_));
  // @@protoc_insertion_point(copy_constructor:pg_query.LockStmt)
}

inline void LockStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.relations_){arena}
    , decltype(_impl_.mode_){0}
    , decltype(_impl_.nowait_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

LockStmt::~LockStmt() {
  // @@protoc_insertion_point(destructor:pg_query.LockStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void LockStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.relations_.~RepeatedPtrField();
}

void LockStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void LockStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LockStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.relations_.Clear();
  ::memset(&_impl_.mode_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.nowait_) -
      reinterpret_cast<char*>(&_impl_.mode_)) + sizeof(_impl_.nowait_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LockStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node relations = 1 [json_name = "relations"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool nowait = 3 [json_name = "nowait"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.nowait_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* LockStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LockStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_relations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 mode = 2 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_mode(), target);
  }

  // bool nowait = 3 [json_name = "nowait"];
  if (this->_internal_nowait() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_nowait(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.relations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 mode = 2 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_mode());
  }

  // bool nowait = 3 [json_name = "nowait"];
  if (this->_internal_nowait() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LockStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    LockStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LockStmt::GetClassData() const { return &_class_data_; }


void LockStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<LockStmt*>(&to_msg);
  auto& from = static_cast<const LockStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LockStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.relations_.MergeFrom(from._impl_.relations_);
  if (from._internal_mode() != 0) {
    _this->_internal_set_mode(from._internal_mode());
  }
  if (from._internal_nowait() != 0) {
    _this->_internal_set_nowait(from._internal_nowait());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.relations_.InternalSwap(&other->_impl_.relations_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.nowait_)
      + sizeof(LockStmt::_impl_.nowait_)
      - PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.mode_)>(
          reinterpret_cast<char*>(&_impl_.mode_),
          reinterpret_cast<char*>(&other->_impl_.mode_));
}

::PROTOBUF_NAMESPACE_ID::Metadata LockStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[116]);
}

// ===================================================================

class ConstraintsSetStmt::_Internal {
 public:
};

ConstraintsSetStmt::ConstraintsSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ConstraintsSetStmt)
}
ConstraintsSetStmt::ConstraintsSetStmt(const ConstraintsSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ConstraintsSetStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.constraints_){from._impl_.constraints_}
    , decltype(_impl_.deferred_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.deferred_ = from._impl_.deferred_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ConstraintsSetStmt)
}

inline void ConstraintsSetStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.constraints_){arena}
    , decltype(_impl_.deferred_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ConstraintsSetStmt::~ConstraintsSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ConstraintsSetStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ConstraintsSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.constraints_.~RepeatedPtrField();
}

void ConstraintsSetStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ConstraintsSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ConstraintsSetStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.constraints_.Clear();
  _impl_.deferred_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ConstraintsSetStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.deferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ConstraintsSetStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ConstraintsSetStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool deferred = 2 [json_name = "deferred"];
  if (this->_internal_deferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_deferred(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.constraints_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool deferred = 2 [json_name = "deferred"];
  if (this->_internal_deferred() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ConstraintsSetStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ConstraintsSetStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ConstraintsSetStmt::GetClassData() const { return &_class_data_; }


void ConstraintsSetStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ConstraintsSetStmt*>(&to_msg);
  auto& from = static_cast<const ConstraintsSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ConstraintsSetStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.constraints_.MergeFrom(from._impl_.constraints_);
  if (from._internal_deferred() != 0) {
    _this->_internal_set_deferred(from._internal_deferred());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
  swap(_impl_.deferred_, other->_impl_.deferred_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ConstraintsSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[117]);
}

// ===================================================================

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->_impl_.relation_;
}
ReindexStmt::ReindexStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReindexStmt)
}
ReindexStmt::ReindexStmt(const ReindexStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ReindexStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.params_){from._impl_.params_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.kind_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  _this->_impl_.kind_ = from._impl_.kind_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ReindexStmt)
}

inline void ReindexStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.params_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.kind_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ReindexStmt::~ReindexStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReindexStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ReindexStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.params_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
}

void ReindexStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ReindexStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReindexStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.params_.Clear();
  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  _impl_.kind_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ReindexStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ReindexStmt.name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node params = 4 [json_name = "params"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          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<34>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ReindexStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReindexStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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);
  }

  // repeated .pg_query.Node params = 4 [json_name = "params"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node params = 4 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->_impl_.params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReindexStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ReindexStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReindexStmt::GetClassData() const { return &_class_data_; }


void ReindexStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ReindexStmt*>(&to_msg);
  auto& from = static_cast<const ReindexStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReindexStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.params_.MergeFrom(from._impl_.params_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.kind_)
      + sizeof(ReindexStmt::_impl_.kind_)
      - PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ReindexStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[118]);
}

// ===================================================================

class CheckPointStmt::_Internal {
 public:
};

CheckPointStmt::CheckPointStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:pg_query.CheckPointStmt)
}
CheckPointStmt::CheckPointStmt(const CheckPointStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  CheckPointStmt* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.CheckPointStmt)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CheckPointStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CheckPointStmt::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata CheckPointStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[119]);
}

// ===================================================================

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->_impl_.authrole_;
}
CreateSchemaStmt::CreateSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSchemaStmt)
}
CreateSchemaStmt::CreateSchemaStmt(const CreateSchemaStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateSchemaStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.schema_elts_){from._impl_.schema_elts_}
    , decltype(_impl_.schemaname_){}
    , decltype(_impl_.authrole_){nullptr}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.schemaname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schemaname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_schemaname().empty()) {
    _this->_impl_.schemaname_.Set(from._internal_schemaname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_authrole()) {
    _this->_impl_.authrole_ = new ::pg_query::RoleSpec(*from._impl_.authrole_);
  }
  _this->_impl_.if_not_exists_ = from._impl_.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSchemaStmt)
}

inline void CreateSchemaStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.schema_elts_){arena}
    , decltype(_impl_.schemaname_){}
    , decltype(_impl_.authrole_){nullptr}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.schemaname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.schemaname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateSchemaStmt::~CreateSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSchemaStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateSchemaStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.schema_elts_.~RepeatedPtrField();
  _impl_.schemaname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.authrole_;
}

void CreateSchemaStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSchemaStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.schema_elts_.Clear();
  _impl_.schemaname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.authrole_ != nullptr) {
    delete _impl_.authrole_;
  }
  _impl_.authrole_ = nullptr;
  _impl_.if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateSchemaStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string schemaname = 1 [json_name = "schemaname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_schemaname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateSchemaStmt.schemaname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateSchemaStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSchemaStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string schemaname = 1 [json_name = "schemaname"];
  if (!this->_internal_schemaname().empty()) {
    ::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->_internal_has_authrole()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::authrole(this),
        _Internal::authrole(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_schema_elts_size()); i < n; i++) {
    const auto& repfield = this->_internal_schema_elts(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool if_not_exists = 4 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.schema_elts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string schemaname = 1 [json_name = "schemaname"];
  if (!this->_internal_schemaname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_schemaname());
  }

  // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
  if (this->_internal_has_authrole()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.authrole_);
  }

  // bool if_not_exists = 4 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateSchemaStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateSchemaStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateSchemaStmt::GetClassData() const { return &_class_data_; }


void CreateSchemaStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateSchemaStmt*>(&to_msg);
  auto& from = static_cast<const CreateSchemaStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSchemaStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.schema_elts_.MergeFrom(from._impl_.schema_elts_);
  if (!from._internal_schemaname().empty()) {
    _this->_internal_set_schemaname(from._internal_schemaname());
  }
  if (from._internal_has_authrole()) {
    _this->_internal_mutable_authrole()->::pg_query::RoleSpec::MergeFrom(
        from._internal_authrole());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.schema_elts_.InternalSwap(&other->_impl_.schema_elts_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.schemaname_, lhs_arena,
      &other->_impl_.schemaname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.if_not_exists_)
      + sizeof(CreateSchemaStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.authrole_)>(
          reinterpret_cast<char*>(&_impl_.authrole_),
          reinterpret_cast<char*>(&other->_impl_.authrole_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateSchemaStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[120]);
}

// ===================================================================

class AlterDatabaseStmt::_Internal {
 public:
};

AlterDatabaseStmt::AlterDatabaseStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseStmt)
}
AlterDatabaseStmt::AlterDatabaseStmt(const AlterDatabaseStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterDatabaseStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.dbname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_dbname().empty()) {
    _this->_impl_.dbname_.Set(from._internal_dbname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseStmt)
}

inline void AlterDatabaseStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.dbname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterDatabaseStmt::~AlterDatabaseStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterDatabaseStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.dbname_.Destroy();
}

void AlterDatabaseStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterDatabaseStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDatabaseStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterDatabaseStmt.dbname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterDatabaseStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterDatabaseStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterDatabaseStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterDatabaseStmt::GetClassData() const { return &_class_data_; }


void AlterDatabaseStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterDatabaseStmt*>(&to_msg);
  auto& from = static_cast<const AlterDatabaseStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.dbname_, lhs_arena,
      &other->_impl_.dbname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDatabaseStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[121]);
}

// ===================================================================

class AlterDatabaseRefreshCollStmt::_Internal {
 public:
};

AlterDatabaseRefreshCollStmt::AlterDatabaseRefreshCollStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseRefreshCollStmt)
}
AlterDatabaseRefreshCollStmt::AlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterDatabaseRefreshCollStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.dbname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_dbname().empty()) {
    _this->_impl_.dbname_.Set(from._internal_dbname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseRefreshCollStmt)
}

inline void AlterDatabaseRefreshCollStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.dbname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterDatabaseRefreshCollStmt::~AlterDatabaseRefreshCollStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseRefreshCollStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterDatabaseRefreshCollStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.dbname_.Destroy();
}

void AlterDatabaseRefreshCollStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterDatabaseRefreshCollStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseRefreshCollStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDatabaseRefreshCollStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterDatabaseRefreshCollStmt.dbname"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterDatabaseRefreshCollStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseRefreshCollStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    ::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.AlterDatabaseRefreshCollStmt.dbname");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_dbname(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.AlterDatabaseRefreshCollStmt)
  return target;
}

size_t AlterDatabaseRefreshCollStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.AlterDatabaseRefreshCollStmt)
  size_t total_size = 0;

  uint32_t 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->_internal_dbname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterDatabaseRefreshCollStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterDatabaseRefreshCollStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterDatabaseRefreshCollStmt::GetClassData() const { return &_class_data_; }


void AlterDatabaseRefreshCollStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterDatabaseRefreshCollStmt*>(&to_msg);
  auto& from = static_cast<const AlterDatabaseRefreshCollStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseRefreshCollStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void AlterDatabaseRefreshCollStmt::CopyFrom(const AlterDatabaseRefreshCollStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterDatabaseRefreshCollStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool AlterDatabaseRefreshCollStmt::IsInitialized() const {
  return true;
}

void AlterDatabaseRefreshCollStmt::InternalSwap(AlterDatabaseRefreshCollStmt* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.dbname_, lhs_arena,
      &other->_impl_.dbname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDatabaseRefreshCollStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[122]);
}

// ===================================================================

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->_impl_.setstmt_;
}
AlterDatabaseSetStmt::AlterDatabaseSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseSetStmt)
}
AlterDatabaseSetStmt::AlterDatabaseSetStmt(const AlterDatabaseSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterDatabaseSetStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.dbname_){}
    , decltype(_impl_.setstmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_dbname().empty()) {
    _this->_impl_.dbname_.Set(from._internal_dbname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_setstmt()) {
    _this->_impl_.setstmt_ = new ::pg_query::VariableSetStmt(*from._impl_.setstmt_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseSetStmt)
}

inline void AlterDatabaseSetStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.dbname_){}
    , decltype(_impl_.setstmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.dbname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.dbname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterDatabaseSetStmt::~AlterDatabaseSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseSetStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterDatabaseSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.dbname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.setstmt_;
}

void AlterDatabaseSetStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterDatabaseSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseSetStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dbname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.setstmt_ != nullptr) {
    delete _impl_.setstmt_;
  }
  _impl_.setstmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterDatabaseSetStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string dbname = 1 [json_name = "dbname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_dbname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterDatabaseSetStmt.dbname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_setstmt(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterDatabaseSetStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseSetStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    ::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->_internal_has_setstmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::setstmt(this),
        _Internal::setstmt(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_dbname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_dbname());
  }

  // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
  if (this->_internal_has_setstmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.setstmt_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterDatabaseSetStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterDatabaseSetStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterDatabaseSetStmt::GetClassData() const { return &_class_data_; }


void AlterDatabaseSetStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterDatabaseSetStmt*>(&to_msg);
  auto& from = static_cast<const AlterDatabaseSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseSetStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  if (from._internal_has_setstmt()) {
    _this->_internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(
        from._internal_setstmt());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.dbname_, lhs_arena,
      &other->_impl_.dbname_, rhs_arena
  );
  swap(_impl_.setstmt_, other->_impl_.setstmt_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterDatabaseSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[123]);
}

// ===================================================================

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->_impl_.role_;
}
const ::pg_query::VariableSetStmt&
AlterRoleSetStmt::_Internal::setstmt(const AlterRoleSetStmt* msg) {
  return *msg->_impl_.setstmt_;
}
AlterRoleSetStmt::AlterRoleSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterRoleSetStmt)
}
AlterRoleSetStmt::AlterRoleSetStmt(const AlterRoleSetStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterRoleSetStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.database_){}
    , decltype(_impl_.role_){nullptr}
    , decltype(_impl_.setstmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.database_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.database_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_database().empty()) {
    _this->_impl_.database_.Set(from._internal_database(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_role()) {
    _this->_impl_.role_ = new ::pg_query::RoleSpec(*from._impl_.role_);
  }
  if (from._internal_has_setstmt()) {
    _this->_impl_.setstmt_ = new ::pg_query::VariableSetStmt(*from._impl_.setstmt_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterRoleSetStmt)
}

inline void AlterRoleSetStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.database_){}
    , decltype(_impl_.role_){nullptr}
    , decltype(_impl_.setstmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.database_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.database_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterRoleSetStmt::~AlterRoleSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterRoleSetStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterRoleSetStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.database_.Destroy();
  if (this != internal_default_instance()) delete _impl_.role_;
  if (this != internal_default_instance()) delete _impl_.setstmt_;
}

void AlterRoleSetStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterRoleSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterRoleSetStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.database_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.role_ != nullptr) {
    delete _impl_.role_;
  }
  _impl_.role_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.setstmt_ != nullptr) {
    delete _impl_.setstmt_;
  }
  _impl_.setstmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterRoleSetStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RoleSpec role = 1 [json_name = "role"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_database();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterRoleSetStmt.database"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_setstmt(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterRoleSetStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterRoleSetStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->_internal_has_role()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::role(this),
        _Internal::role(this).GetCachedSize(), target, stream);
  }

  // string database = 2 [json_name = "database"];
  if (!this->_internal_database().empty()) {
    ::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->_internal_has_setstmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::setstmt(this),
        _Internal::setstmt(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_database().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_database());
  }

  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (this->_internal_has_role()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.role_);
  }

  // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
  if (this->_internal_has_setstmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.setstmt_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterRoleSetStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterRoleSetStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterRoleSetStmt::GetClassData() const { return &_class_data_; }


void AlterRoleSetStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterRoleSetStmt*>(&to_msg);
  auto& from = static_cast<const AlterRoleSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterRoleSetStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_database().empty()) {
    _this->_internal_set_database(from._internal_database());
  }
  if (from._internal_has_role()) {
    _this->_internal_mutable_role()->::pg_query::RoleSpec::MergeFrom(
        from._internal_role());
  }
  if (from._internal_has_setstmt()) {
    _this->_internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(
        from._internal_setstmt());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.database_, lhs_arena,
      &other->_impl_.database_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.setstmt_)
      + sizeof(AlterRoleSetStmt::_impl_.setstmt_)
      - PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.role_)>(
          reinterpret_cast<char*>(&_impl_.role_),
          reinterpret_cast<char*>(&other->_impl_.role_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterRoleSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[124]);
}

// ===================================================================

class CreateConversionStmt::_Internal {
 public:
};

CreateConversionStmt::CreateConversionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateConversionStmt)
}
CreateConversionStmt::CreateConversionStmt(const CreateConversionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateConversionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.conversion_name_){from._impl_.conversion_name_}
    , decltype(_impl_.func_name_){from._impl_.func_name_}
    , decltype(_impl_.for_encoding_name_){}
    , decltype(_impl_.to_encoding_name_){}
    , decltype(_impl_.def_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.for_encoding_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.for_encoding_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_for_encoding_name().empty()) {
    _this->_impl_.for_encoding_name_.Set(from._internal_for_encoding_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.to_encoding_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.to_encoding_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_to_encoding_name().empty()) {
    _this->_impl_.to_encoding_name_.Set(from._internal_to_encoding_name(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.def_ = from._impl_.def_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateConversionStmt)
}

inline void CreateConversionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.conversion_name_){arena}
    , decltype(_impl_.func_name_){arena}
    , decltype(_impl_.for_encoding_name_){}
    , decltype(_impl_.to_encoding_name_){}
    , decltype(_impl_.def_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.for_encoding_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.for_encoding_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.to_encoding_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.to_encoding_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateConversionStmt::~CreateConversionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateConversionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateConversionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.conversion_name_.~RepeatedPtrField();
  _impl_.func_name_.~RepeatedPtrField();
  _impl_.for_encoding_name_.Destroy();
  _impl_.to_encoding_name_.Destroy();
}

void CreateConversionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateConversionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateConversionStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.conversion_name_.Clear();
  _impl_.func_name_.Clear();
  _impl_.for_encoding_name_.ClearToEmpty();
  _impl_.to_encoding_name_.ClearToEmpty();
  _impl_.def_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateConversionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_for_encoding_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateConversionStmt.for_encoding_name"));
        } else
          goto handle_unusual;
        continue;
      // string to_encoding_name = 3 [json_name = "to_encoding_name"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_to_encoding_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateConversionStmt.to_encoding_name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.def_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateConversionStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateConversionStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_conversion_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_conversion_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string for_encoding_name = 2 [json_name = "for_encoding_name"];
  if (!this->_internal_for_encoding_name().empty()) {
    ::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->_internal_to_encoding_name().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_func_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_func_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool def = 5 [json_name = "def"];
  if (this->_internal_def() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_def(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.func_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string for_encoding_name = 2 [json_name = "for_encoding_name"];
  if (!this->_internal_for_encoding_name().empty()) {
    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->_internal_to_encoding_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_to_encoding_name());
  }

  // bool def = 5 [json_name = "def"];
  if (this->_internal_def() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateConversionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateConversionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateConversionStmt::GetClassData() const { return &_class_data_; }


void CreateConversionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateConversionStmt*>(&to_msg);
  auto& from = static_cast<const CreateConversionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateConversionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.conversion_name_.MergeFrom(from._impl_.conversion_name_);
  _this->_impl_.func_name_.MergeFrom(from._impl_.func_name_);
  if (!from._internal_for_encoding_name().empty()) {
    _this->_internal_set_for_encoding_name(from._internal_for_encoding_name());
  }
  if (!from._internal_to_encoding_name().empty()) {
    _this->_internal_set_to_encoding_name(from._internal_to_encoding_name());
  }
  if (from._internal_def() != 0) {
    _this->_internal_set_def(from._internal_def());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.conversion_name_.InternalSwap(&other->_impl_.conversion_name_);
  _impl_.func_name_.InternalSwap(&other->_impl_.func_name_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.for_encoding_name_, lhs_arena,
      &other->_impl_.for_encoding_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.to_encoding_name_, lhs_arena,
      &other->_impl_.to_encoding_name_, rhs_arena
  );
  swap(_impl_.def_, other->_impl_.def_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateConversionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[125]);
}

// ===================================================================

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->_impl_.sourcetype_;
}
const ::pg_query::TypeName&
CreateCastStmt::_Internal::targettype(const CreateCastStmt* msg) {
  return *msg->_impl_.targettype_;
}
const ::pg_query::ObjectWithArgs&
CreateCastStmt::_Internal::func(const CreateCastStmt* msg) {
  return *msg->_impl_.func_;
}
CreateCastStmt::CreateCastStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateCastStmt)
}
CreateCastStmt::CreateCastStmt(const CreateCastStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateCastStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.sourcetype_){nullptr}
    , decltype(_impl_.targettype_){nullptr}
    , decltype(_impl_.func_){nullptr}
    , decltype(_impl_.context_){}
    , decltype(_impl_.inout_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_sourcetype()) {
    _this->_impl_.sourcetype_ = new ::pg_query::TypeName(*from._impl_.sourcetype_);
  }
  if (from._internal_has_targettype()) {
    _this->_impl_.targettype_ = new ::pg_query::TypeName(*from._impl_.targettype_);
  }
  if (from._internal_has_func()) {
    _this->_impl_.func_ = new ::pg_query::ObjectWithArgs(*from._impl_.func_);
  }
  ::memcpy(&_impl_.context_, &from._impl_.context_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.inout_) -
    reinterpret_cast<char*>(&_impl_.context_)) + sizeof(_impl_.inout_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateCastStmt)
}

inline void CreateCastStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.sourcetype_){nullptr}
    , decltype(_impl_.targettype_){nullptr}
    , decltype(_impl_.func_){nullptr}
    , decltype(_impl_.context_){0}
    , decltype(_impl_.inout_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateCastStmt::~CreateCastStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateCastStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateCastStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.sourcetype_;
  if (this != internal_default_instance()) delete _impl_.targettype_;
  if (this != internal_default_instance()) delete _impl_.func_;
}

void CreateCastStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateCastStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateCastStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.sourcetype_ != nullptr) {
    delete _impl_.sourcetype_;
  }
  _impl_.sourcetype_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.targettype_ != nullptr) {
    delete _impl_.targettype_;
  }
  _impl_.targettype_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.func_ != nullptr) {
    delete _impl_.func_;
  }
  _impl_.func_ = nullptr;
  ::memset(&_impl_.context_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.inout_) -
      reinterpret_cast<char*>(&_impl_.context_)) + sizeof(_impl_.inout_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateCastStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          uint64_t 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<uint8_t>(tag) == 40)) {
          _impl_.inout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateCastStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateCastStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
  if (this->_internal_has_sourcetype()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::sourcetype(this),
        _Internal::sourcetype(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
  if (this->_internal_has_targettype()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::targettype(this),
        _Internal::targettype(this).GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
  if (this->_internal_has_func()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::func(this),
        _Internal::func(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CoercionContext context = 4 [json_name = "context"];
  if (this->_internal_context() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      4, this->_internal_context(), target);
  }

  // bool inout = 5 [json_name = "inout"];
  if (this->_internal_inout() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_inout(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_sourcetype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.sourcetype_);
  }

  // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
  if (this->_internal_has_targettype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.targettype_);
  }

  // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
  if (this->_internal_has_func()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.func_);
  }

  // .pg_query.CoercionContext context = 4 [json_name = "context"];
  if (this->_internal_context() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_context());
  }

  // bool inout = 5 [json_name = "inout"];
  if (this->_internal_inout() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateCastStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateCastStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateCastStmt::GetClassData() const { return &_class_data_; }


void CreateCastStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateCastStmt*>(&to_msg);
  auto& from = static_cast<const CreateCastStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateCastStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_sourcetype()) {
    _this->_internal_mutable_sourcetype()->::pg_query::TypeName::MergeFrom(
        from._internal_sourcetype());
  }
  if (from._internal_has_targettype()) {
    _this->_internal_mutable_targettype()->::pg_query::TypeName::MergeFrom(
        from._internal_targettype());
  }
  if (from._internal_has_func()) {
    _this->_internal_mutable_func()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_func());
  }
  if (from._internal_context() != 0) {
    _this->_internal_set_context(from._internal_context());
  }
  if (from._internal_inout() != 0) {
    _this->_internal_set_inout(from._internal_inout());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.inout_)
      + sizeof(CreateCastStmt::_impl_.inout_)
      - PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.sourcetype_)>(
          reinterpret_cast<char*>(&_impl_.sourcetype_),
          reinterpret_cast<char*>(&other->_impl_.sourcetype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateCastStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[126]);
}

// ===================================================================

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->_impl_.datatype_;
}
CreateOpClassStmt::CreateOpClassStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpClassStmt)
}
CreateOpClassStmt::CreateOpClassStmt(const CreateOpClassStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateOpClassStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.opclassname_){from._impl_.opclassname_}
    , decltype(_impl_.opfamilyname_){from._impl_.opfamilyname_}
    , decltype(_impl_.items_){from._impl_.items_}
    , decltype(_impl_.amname_){}
    , decltype(_impl_.datatype_){nullptr}
    , decltype(_impl_.is_default_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_amname().empty()) {
    _this->_impl_.amname_.Set(from._internal_amname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_datatype()) {
    _this->_impl_.datatype_ = new ::pg_query::TypeName(*from._impl_.datatype_);
  }
  _this->_impl_.is_default_ = from._impl_.is_default_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpClassStmt)
}

inline void CreateOpClassStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.opclassname_){arena}
    , decltype(_impl_.opfamilyname_){arena}
    , decltype(_impl_.items_){arena}
    , decltype(_impl_.amname_){}
    , decltype(_impl_.datatype_){nullptr}
    , decltype(_impl_.is_default_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateOpClassStmt::~CreateOpClassStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpClassStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateOpClassStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.opclassname_.~RepeatedPtrField();
  _impl_.opfamilyname_.~RepeatedPtrField();
  _impl_.items_.~RepeatedPtrField();
  _impl_.amname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.datatype_;
}

void CreateOpClassStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateOpClassStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpClassStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opclassname_.Clear();
  _impl_.opfamilyname_.Clear();
  _impl_.items_.Clear();
  _impl_.amname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.datatype_ != nullptr) {
    delete _impl_.datatype_;
  }
  _impl_.datatype_ = nullptr;
  _impl_.is_default_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateOpClassStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_amname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateOpClassStmt.amname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 48)) {
          _impl_.is_default_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateOpClassStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpClassStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclassname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclassname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilyname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilyname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amname = 3 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    ::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->_internal_has_datatype()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::datatype(this),
        _Internal::datatype(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node items = 5 [json_name = "items"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_default = 6 [json_name = "isDefault"];
  if (this->_internal_is_default() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_is_default(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 3 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
  if (this->_internal_has_datatype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.datatype_);
  }

  // bool is_default = 6 [json_name = "isDefault"];
  if (this->_internal_is_default() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateOpClassStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateOpClassStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateOpClassStmt::GetClassData() const { return &_class_data_; }


void CreateOpClassStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateOpClassStmt*>(&to_msg);
  auto& from = static_cast<const CreateOpClassStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpClassStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.opclassname_.MergeFrom(from._impl_.opclassname_);
  _this->_impl_.opfamilyname_.MergeFrom(from._impl_.opfamilyname_);
  _this->_impl_.items_.MergeFrom(from._impl_.items_);
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  if (from._internal_has_datatype()) {
    _this->_internal_mutable_datatype()->::pg_query::TypeName::MergeFrom(
        from._internal_datatype());
  }
  if (from._internal_is_default() != 0) {
    _this->_internal_set_is_default(from._internal_is_default());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.opclassname_.InternalSwap(&other->_impl_.opclassname_);
  _impl_.opfamilyname_.InternalSwap(&other->_impl_.opfamilyname_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.amname_, lhs_arena,
      &other->_impl_.amname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.is_default_)
      + sizeof(CreateOpClassStmt::_impl_.is_default_)
      - PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.datatype_)>(
          reinterpret_cast<char*>(&_impl_.datatype_),
          reinterpret_cast<char*>(&other->_impl_.datatype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateOpClassStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[127]);
}

// ===================================================================

class CreateOpFamilyStmt::_Internal {
 public:
};

CreateOpFamilyStmt::CreateOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpFamilyStmt)
}
CreateOpFamilyStmt::CreateOpFamilyStmt(const CreateOpFamilyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateOpFamilyStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.opfamilyname_){from._impl_.opfamilyname_}
    , decltype(_impl_.amname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_amname().empty()) {
    _this->_impl_.amname_.Set(from._internal_amname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpFamilyStmt)
}

inline void CreateOpFamilyStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.opfamilyname_){arena}
    , decltype(_impl_.amname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateOpFamilyStmt::~CreateOpFamilyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpFamilyStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateOpFamilyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.opfamilyname_.~RepeatedPtrField();
  _impl_.amname_.Destroy();
}

void CreateOpFamilyStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateOpFamilyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpFamilyStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opfamilyname_.Clear();
  _impl_.amname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateOpFamilyStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_amname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateOpFamilyStmt.amname"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateOpFamilyStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpFamilyStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilyname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilyname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.opfamilyname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateOpFamilyStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateOpFamilyStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateOpFamilyStmt::GetClassData() const { return &_class_data_; }


void CreateOpFamilyStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateOpFamilyStmt*>(&to_msg);
  auto& from = static_cast<const CreateOpFamilyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpFamilyStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.opfamilyname_.MergeFrom(from._impl_.opfamilyname_);
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.opfamilyname_.InternalSwap(&other->_impl_.opfamilyname_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.amname_, lhs_arena,
      &other->_impl_.amname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateOpFamilyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[128]);
}

// ===================================================================

class AlterOpFamilyStmt::_Internal {
 public:
};

AlterOpFamilyStmt::AlterOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOpFamilyStmt)
}
AlterOpFamilyStmt::AlterOpFamilyStmt(const AlterOpFamilyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterOpFamilyStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.opfamilyname_){from._impl_.opfamilyname_}
    , decltype(_impl_.items_){from._impl_.items_}
    , decltype(_impl_.amname_){}
    , decltype(_impl_.is_drop_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_amname().empty()) {
    _this->_impl_.amname_.Set(from._internal_amname(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.is_drop_ = from._impl_.is_drop_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOpFamilyStmt)
}

inline void AlterOpFamilyStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.opfamilyname_){arena}
    , decltype(_impl_.items_){arena}
    , decltype(_impl_.amname_){}
    , decltype(_impl_.is_drop_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterOpFamilyStmt::~AlterOpFamilyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOpFamilyStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterOpFamilyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.opfamilyname_.~RepeatedPtrField();
  _impl_.items_.~RepeatedPtrField();
  _impl_.amname_.Destroy();
}

void AlterOpFamilyStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterOpFamilyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOpFamilyStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opfamilyname_.Clear();
  _impl_.items_.Clear();
  _impl_.amname_.ClearToEmpty();
  _impl_.is_drop_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterOpFamilyStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_amname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterOpFamilyStmt.amname"));
        } else
          goto handle_unusual;
        continue;
      // bool is_drop = 3 [json_name = "isDrop"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterOpFamilyStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOpFamilyStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilyname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilyname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    ::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->_internal_is_drop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_drop(), target);
  }

  // repeated .pg_query.Node items = 4 [json_name = "items"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  // bool is_drop = 3 [json_name = "isDrop"];
  if (this->_internal_is_drop() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterOpFamilyStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterOpFamilyStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterOpFamilyStmt::GetClassData() const { return &_class_data_; }


void AlterOpFamilyStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterOpFamilyStmt*>(&to_msg);
  auto& from = static_cast<const AlterOpFamilyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOpFamilyStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.opfamilyname_.MergeFrom(from._impl_.opfamilyname_);
  _this->_impl_.items_.MergeFrom(from._impl_.items_);
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  if (from._internal_is_drop() != 0) {
    _this->_internal_set_is_drop(from._internal_is_drop());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.opfamilyname_.InternalSwap(&other->_impl_.opfamilyname_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.amname_, lhs_arena,
      &other->_impl_.amname_, rhs_arena
  );
  swap(_impl_.is_drop_, other->_impl_.is_drop_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterOpFamilyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[129]);
}

// ===================================================================

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->_impl_.query_;
}
PrepareStmt::PrepareStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PrepareStmt)
}
PrepareStmt::PrepareStmt(const PrepareStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PrepareStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.argtypes_){from._impl_.argtypes_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.query_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_query()) {
    _this->_impl_.query_ = new ::pg_query::Node(*from._impl_.query_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.PrepareStmt)
}

inline void PrepareStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.argtypes_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.query_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PrepareStmt::~PrepareStmt() {
  // @@protoc_insertion_point(destructor:pg_query.PrepareStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PrepareStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.argtypes_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.query_;
}

void PrepareStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PrepareStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PrepareStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.argtypes_.Clear();
  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) {
    delete _impl_.query_;
  }
  _impl_.query_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PrepareStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.PrepareStmt.name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PrepareStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PrepareStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_argtypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_argtypes(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->_internal_has_query()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.argtypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->_internal_has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.query_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PrepareStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PrepareStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PrepareStmt::GetClassData() const { return &_class_data_; }


void PrepareStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PrepareStmt*>(&to_msg);
  auto& from = static_cast<const PrepareStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PrepareStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.argtypes_.MergeFrom(from._impl_.argtypes_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_query()) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.argtypes_.InternalSwap(&other->_impl_.argtypes_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  swap(_impl_.query_, other->_impl_.query_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PrepareStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[130]);
}

// ===================================================================

class ExecuteStmt::_Internal {
 public:
};

ExecuteStmt::ExecuteStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ExecuteStmt)
}
ExecuteStmt::ExecuteStmt(const ExecuteStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ExecuteStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.params_){from._impl_.params_}
    , decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ExecuteStmt)
}

inline void ExecuteStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.params_){arena}
    , decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ExecuteStmt::~ExecuteStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ExecuteStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ExecuteStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.params_.~RepeatedPtrField();
  _impl_.name_.Destroy();
}

void ExecuteStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ExecuteStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ExecuteStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.params_.Clear();
  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ExecuteStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ExecuteStmt.name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node params = 2 [json_name = "params"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ExecuteStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ExecuteStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ExecuteStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ExecuteStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ExecuteStmt::GetClassData() const { return &_class_data_; }


void ExecuteStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ExecuteStmt*>(&to_msg);
  auto& from = static_cast<const ExecuteStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ExecuteStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.params_.MergeFrom(from._impl_.params_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata ExecuteStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[131]);
}

// ===================================================================

class DeallocateStmt::_Internal {
 public:
};

DeallocateStmt::DeallocateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeallocateStmt)
}
DeallocateStmt::DeallocateStmt(const DeallocateStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DeallocateStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.DeallocateStmt)
}

inline void DeallocateStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DeallocateStmt::~DeallocateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeallocateStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeallocateStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
}

void DeallocateStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DeallocateStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DeallocateStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DeallocateStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DeallocateStmt.name"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DeallocateStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeallocateStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DeallocateStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DeallocateStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DeallocateStmt::GetClassData() const { return &_class_data_; }


void DeallocateStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DeallocateStmt*>(&to_msg);
  auto& from = static_cast<const DeallocateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeallocateStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata DeallocateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[132]);
}

// ===================================================================

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->_impl_.query_;
}
DeclareCursorStmt::DeclareCursorStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeclareCursorStmt)
}
DeclareCursorStmt::DeclareCursorStmt(const DeclareCursorStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DeclareCursorStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.portalname_){}
    , decltype(_impl_.query_){nullptr}
    , decltype(_impl_.options_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.portalname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.portalname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_portalname().empty()) {
    _this->_impl_.portalname_.Set(from._internal_portalname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_query()) {
    _this->_impl_.query_ = new ::pg_query::Node(*from._impl_.query_);
  }
  _this->_impl_.options_ = from._impl_.options_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DeclareCursorStmt)
}

inline void DeclareCursorStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.portalname_){}
    , decltype(_impl_.query_){nullptr}
    , decltype(_impl_.options_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.portalname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.portalname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DeclareCursorStmt::~DeclareCursorStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeclareCursorStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeclareCursorStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.portalname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.query_;
}

void DeclareCursorStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DeclareCursorStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DeclareCursorStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.portalname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) {
    delete _impl_.query_;
  }
  _impl_.query_ = nullptr;
  _impl_.options_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DeclareCursorStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string portalname = 1 [json_name = "portalname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_portalname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DeclareCursorStmt.portalname"));
        } else
          goto handle_unusual;
        continue;
      // int32 options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node query = 3 [json_name = "query"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_query(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DeclareCursorStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeclareCursorStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string portalname = 1 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    ::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->_internal_options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_options(), target);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->_internal_has_query()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_portalname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_portalname());
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (this->_internal_has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.query_);
  }

  // int32 options = 2 [json_name = "options"];
  if (this->_internal_options() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_options());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DeclareCursorStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DeclareCursorStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DeclareCursorStmt::GetClassData() const { return &_class_data_; }


void DeclareCursorStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DeclareCursorStmt*>(&to_msg);
  auto& from = static_cast<const DeclareCursorStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeclareCursorStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_portalname().empty()) {
    _this->_internal_set_portalname(from._internal_portalname());
  }
  if (from._internal_has_query()) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  if (from._internal_options() != 0) {
    _this->_internal_set_options(from._internal_options());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.portalname_, lhs_arena,
      &other->_impl_.portalname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.options_)
      + sizeof(DeclareCursorStmt::_impl_.options_)
      - PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.query_)>(
          reinterpret_cast<char*>(&_impl_.query_),
          reinterpret_cast<char*>(&other->_impl_.query_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DeclareCursorStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[133]);
}

// ===================================================================

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->_impl_.owner_;
}
CreateTableSpaceStmt::CreateTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTableSpaceStmt)
}
CreateTableSpaceStmt::CreateTableSpaceStmt(const CreateTableSpaceStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateTableSpaceStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.tablespacename_){}
    , decltype(_impl_.location_){}
    , decltype(_impl_.owner_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_tablespacename().empty()) {
    _this->_impl_.tablespacename_.Set(from._internal_tablespacename(), 
      _this->GetArenaForAllocation());
  }
  _impl_.location_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.location_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_location().empty()) {
    _this->_impl_.location_.Set(from._internal_location(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_owner()) {
    _this->_impl_.owner_ = new ::pg_query::RoleSpec(*from._impl_.owner_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTableSpaceStmt)
}

inline void CreateTableSpaceStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.tablespacename_){}
    , decltype(_impl_.location_){}
    , decltype(_impl_.owner_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.location_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.location_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateTableSpaceStmt::~CreateTableSpaceStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTableSpaceStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateTableSpaceStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.tablespacename_.Destroy();
  _impl_.location_.Destroy();
  if (this != internal_default_instance()) delete _impl_.owner_;
}

void CreateTableSpaceStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateTableSpaceStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTableSpaceStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.tablespacename_.ClearToEmpty();
  _impl_.location_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.owner_ != nullptr) {
    delete _impl_.owner_;
  }
  _impl_.owner_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTableSpaceStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string tablespacename = 1 [json_name = "tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateTableSpaceStmt.tablespacename"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_location();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateTableSpaceStmt.location"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 4 [json_name = "options"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateTableSpaceStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTableSpaceStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    ::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->_internal_has_owner()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::owner(this),
        _Internal::owner(this).GetCachedSize(), target, stream);
  }

  // string location = 3 [json_name = "location"];
  if (!this->_internal_location().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // string location = 3 [json_name = "location"];
  if (!this->_internal_location().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_location());
  }

  // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
  if (this->_internal_has_owner()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.owner_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateTableSpaceStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateTableSpaceStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateTableSpaceStmt::GetClassData() const { return &_class_data_; }


void CreateTableSpaceStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateTableSpaceStmt*>(&to_msg);
  auto& from = static_cast<const CreateTableSpaceStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTableSpaceStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (!from._internal_location().empty()) {
    _this->_internal_set_location(from._internal_location());
  }
  if (from._internal_has_owner()) {
    _this->_internal_mutable_owner()->::pg_query::RoleSpec::MergeFrom(
        from._internal_owner());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.tablespacename_, lhs_arena,
      &other->_impl_.tablespacename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.location_, lhs_arena,
      &other->_impl_.location_, rhs_arena
  );
  swap(_impl_.owner_, other->_impl_.owner_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTableSpaceStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[134]);
}

// ===================================================================

class DropTableSpaceStmt::_Internal {
 public:
};

DropTableSpaceStmt::DropTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropTableSpaceStmt)
}
DropTableSpaceStmt::DropTableSpaceStmt(const DropTableSpaceStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropTableSpaceStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.tablespacename_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_tablespacename().empty()) {
    _this->_impl_.tablespacename_.Set(from._internal_tablespacename(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.missing_ok_ = from._impl_.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropTableSpaceStmt)
}

inline void DropTableSpaceStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.tablespacename_){}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DropTableSpaceStmt::~DropTableSpaceStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropTableSpaceStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DropTableSpaceStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.tablespacename_.Destroy();
}

void DropTableSpaceStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DropTableSpaceStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropTableSpaceStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.tablespacename_.ClearToEmpty();
  _impl_.missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropTableSpaceStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string tablespacename = 1 [json_name = "tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DropTableSpaceStmt.tablespacename"));
        } else
          goto handle_unusual;
        continue;
      // bool missing_ok = 2 [json_name = "missing_ok"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropTableSpaceStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropTableSpaceStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    ::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->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_tablespacename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropTableSpaceStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DropTableSpaceStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropTableSpaceStmt::GetClassData() const { return &_class_data_; }


void DropTableSpaceStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DropTableSpaceStmt*>(&to_msg);
  auto& from = static_cast<const DropTableSpaceStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropTableSpaceStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.tablespacename_, lhs_arena,
      &other->_impl_.tablespacename_, rhs_arena
  );
  swap(_impl_.missing_ok_, other->_impl_.missing_ok_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropTableSpaceStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[135]);
}

// ===================================================================

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::String& extname(const AlterObjectDependsStmt* msg);
};

const ::pg_query::RangeVar&
AlterObjectDependsStmt::_Internal::relation(const AlterObjectDependsStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node&
AlterObjectDependsStmt::_Internal::object(const AlterObjectDependsStmt* msg) {
  return *msg->_impl_.object_;
}
const ::pg_query::String&
AlterObjectDependsStmt::_Internal::extname(const AlterObjectDependsStmt* msg) {
  return *msg->_impl_.extname_;
}
AlterObjectDependsStmt::AlterObjectDependsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterObjectDependsStmt)
}
AlterObjectDependsStmt::AlterObjectDependsStmt(const AlterObjectDependsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterObjectDependsStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.extname_){nullptr}
    , decltype(_impl_.object_type_){}
    , decltype(_impl_.remove_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_object()) {
    _this->_impl_.object_ = new ::pg_query::Node(*from._impl_.object_);
  }
  if (from._internal_has_extname()) {
    _this->_impl_.extname_ = new ::pg_query::String(*from._impl_.extname_);
  }
  ::memcpy(&_impl_.object_type_, &from._impl_.object_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.remove_) -
    reinterpret_cast<char*>(&_impl_.object_type_)) + sizeof(_impl_.remove_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterObjectDependsStmt)
}

inline void AlterObjectDependsStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.extname_){nullptr}
    , decltype(_impl_.object_type_){0}
    , decltype(_impl_.remove_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterObjectDependsStmt::~AlterObjectDependsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterObjectDependsStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterObjectDependsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.object_;
  if (this != internal_default_instance()) delete _impl_.extname_;
}

void AlterObjectDependsStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterObjectDependsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterObjectDependsStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) {
    delete _impl_.object_;
  }
  _impl_.object_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.extname_ != nullptr) {
    delete _impl_.extname_;
  }
  _impl_.extname_ = nullptr;
  ::memset(&_impl_.object_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.remove_) -
      reinterpret_cast<char*>(&_impl_.object_type_)) + sizeof(_impl_.remove_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterObjectDependsStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.String extname = 4 [json_name = "extname"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.remove_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterObjectDependsStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterObjectDependsStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_object_type(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->_internal_has_object()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // .pg_query.String extname = 4 [json_name = "extname"];
  if (this->_internal_has_extname()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::extname(this),
        _Internal::extname(this).GetCachedSize(), target, stream);
  }

  // bool remove = 5 [json_name = "remove"];
  if (this->_internal_remove() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_remove(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->_internal_has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.object_);
  }

  // .pg_query.String extname = 4 [json_name = "extname"];
  if (this->_internal_has_extname()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.extname_);
  }

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  // bool remove = 5 [json_name = "remove"];
  if (this->_internal_remove() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterObjectDependsStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterObjectDependsStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterObjectDependsStmt::GetClassData() const { return &_class_data_; }


void AlterObjectDependsStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterObjectDependsStmt*>(&to_msg);
  auto& from = static_cast<const AlterObjectDependsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterObjectDependsStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_object()) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_has_extname()) {
    _this->_internal_mutable_extname()->::pg_query::String::MergeFrom(
        from._internal_extname());
  }
  if (from._internal_object_type() != 0) {
    _this->_internal_set_object_type(from._internal_object_type());
  }
  if (from._internal_remove() != 0) {
    _this->_internal_set_remove(from._internal_remove());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.remove_)
      + sizeof(AlterObjectDependsStmt::_impl_.remove_)
      - PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterObjectDependsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[136]);
}

// ===================================================================

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->_impl_.relation_;
}
const ::pg_query::Node&
AlterObjectSchemaStmt::_Internal::object(const AlterObjectSchemaStmt* msg) {
  return *msg->_impl_.object_;
}
AlterObjectSchemaStmt::AlterObjectSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterObjectSchemaStmt)
}
AlterObjectSchemaStmt::AlterObjectSchemaStmt(const AlterObjectSchemaStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterObjectSchemaStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.newschema_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.object_type_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.newschema_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.newschema_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_newschema().empty()) {
    _this->_impl_.newschema_.Set(from._internal_newschema(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_object()) {
    _this->_impl_.object_ = new ::pg_query::Node(*from._impl_.object_);
  }
  ::memcpy(&_impl_.object_type_, &from._impl_.object_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.missing_ok_) -
    reinterpret_cast<char*>(&_impl_.object_type_)) + sizeof(_impl_.missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterObjectSchemaStmt)
}

inline void AlterObjectSchemaStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.newschema_){}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.object_type_){0}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.newschema_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.newschema_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterObjectSchemaStmt::~AlterObjectSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterObjectSchemaStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterObjectSchemaStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.newschema_.Destroy();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.object_;
}

void AlterObjectSchemaStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterObjectSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterObjectSchemaStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.newschema_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) {
    delete _impl_.object_;
  }
  _impl_.object_ = nullptr;
  ::memset(&_impl_.object_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.object_type_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterObjectSchemaStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_newschema();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterObjectSchemaStmt.newschema"));
        } else
          goto handle_unusual;
        continue;
      // bool missing_ok = 5 [json_name = "missing_ok"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterObjectSchemaStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterObjectSchemaStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_object_type(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->_internal_has_object()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // string newschema = 4 [json_name = "newschema"];
  if (!this->_internal_newschema().empty()) {
    ::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->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_newschema().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_newschema());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->_internal_has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.object_);
  }

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  // bool missing_ok = 5 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterObjectSchemaStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterObjectSchemaStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterObjectSchemaStmt::GetClassData() const { return &_class_data_; }


void AlterObjectSchemaStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterObjectSchemaStmt*>(&to_msg);
  auto& from = static_cast<const AlterObjectSchemaStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterObjectSchemaStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_newschema().empty()) {
    _this->_internal_set_newschema(from._internal_newschema());
  }
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_object()) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_object_type() != 0) {
    _this->_internal_set_object_type(from._internal_object_type());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.newschema_, lhs_arena,
      &other->_impl_.newschema_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.missing_ok_)
      + sizeof(AlterObjectSchemaStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterObjectSchemaStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[137]);
}

// ===================================================================

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->_impl_.relation_;
}
const ::pg_query::Node&
AlterOwnerStmt::_Internal::object(const AlterOwnerStmt* msg) {
  return *msg->_impl_.object_;
}
const ::pg_query::RoleSpec&
AlterOwnerStmt::_Internal::newowner(const AlterOwnerStmt* msg) {
  return *msg->_impl_.newowner_;
}
AlterOwnerStmt::AlterOwnerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOwnerStmt)
}
AlterOwnerStmt::AlterOwnerStmt(const AlterOwnerStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterOwnerStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.newowner_){nullptr}
    , decltype(_impl_.object_type_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_object()) {
    _this->_impl_.object_ = new ::pg_query::Node(*from._impl_.object_);
  }
  if (from._internal_has_newowner()) {
    _this->_impl_.newowner_ = new ::pg_query::RoleSpec(*from._impl_.newowner_);
  }
  _this->_impl_.object_type_ = from._impl_.object_type_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOwnerStmt)
}

inline void AlterOwnerStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.newowner_){nullptr}
    , decltype(_impl_.object_type_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterOwnerStmt::~AlterOwnerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOwnerStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterOwnerStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.object_;
  if (this != internal_default_instance()) delete _impl_.newowner_;
}

void AlterOwnerStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterOwnerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOwnerStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) {
    delete _impl_.object_;
  }
  _impl_.object_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.newowner_ != nullptr) {
    delete _impl_.newowner_;
  }
  _impl_.newowner_ = nullptr;
  _impl_.object_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterOwnerStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_newowner(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterOwnerStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOwnerStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_object_type(), target);
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->_internal_has_object()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->_internal_has_newowner()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::newowner(this),
        _Internal::newowner(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (this->_internal_has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.object_);
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (this->_internal_has_newowner()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.newowner_);
  }

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterOwnerStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterOwnerStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterOwnerStmt::GetClassData() const { return &_class_data_; }


void AlterOwnerStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterOwnerStmt*>(&to_msg);
  auto& from = static_cast<const AlterOwnerStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOwnerStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_object()) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_has_newowner()) {
    _this->_internal_mutable_newowner()->::pg_query::RoleSpec::MergeFrom(
        from._internal_newowner());
  }
  if (from._internal_object_type() != 0) {
    _this->_internal_set_object_type(from._internal_object_type());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.object_type_)
      + sizeof(AlterOwnerStmt::_impl_.object_type_)
      - PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterOwnerStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[138]);
}

// ===================================================================

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->_impl_.opername_;
}
AlterOperatorStmt::AlterOperatorStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOperatorStmt)
}
AlterOperatorStmt::AlterOperatorStmt(const AlterOperatorStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterOperatorStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.opername_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_opername()) {
    _this->_impl_.opername_ = new ::pg_query::ObjectWithArgs(*from._impl_.opername_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOperatorStmt)
}

inline void AlterOperatorStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.opername_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterOperatorStmt::~AlterOperatorStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOperatorStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterOperatorStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.opername_;
}

void AlterOperatorStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterOperatorStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOperatorStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.opername_ != nullptr) {
    delete _impl_.opername_;
  }
  _impl_.opername_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterOperatorStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterOperatorStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOperatorStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
  if (this->_internal_has_opername()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::opername(this),
        _Internal::opername(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
  if (this->_internal_has_opername()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.opername_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterOperatorStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterOperatorStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterOperatorStmt::GetClassData() const { return &_class_data_; }


void AlterOperatorStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterOperatorStmt*>(&to_msg);
  auto& from = static_cast<const AlterOperatorStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOperatorStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (from._internal_has_opername()) {
    _this->_internal_mutable_opername()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_opername());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  swap(_impl_.opername_, other->_impl_.opername_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterOperatorStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[139]);
}

// ===================================================================

class AlterTypeStmt::_Internal {
 public:
};

AlterTypeStmt::AlterTypeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTypeStmt)
}
AlterTypeStmt::AlterTypeStmt(const AlterTypeStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterTypeStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){from._impl_.type_name_}
    , decltype(_impl_.options_){from._impl_.options_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTypeStmt)
}

inline void AlterTypeStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){arena}
    , decltype(_impl_.options_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterTypeStmt::~AlterTypeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTypeStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterTypeStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.type_name_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
}

void AlterTypeStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterTypeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTypeStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.options_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTypeStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterTypeStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTypeStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterTypeStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterTypeStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterTypeStmt::GetClassData() const { return &_class_data_; }


void AlterTypeStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterTypeStmt*>(&to_msg);
  auto& from = static_cast<const AlterTypeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTypeStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.type_name_.MergeFrom(from._impl_.type_name_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTypeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[140]);
}

// ===================================================================

class DropOwnedStmt::_Internal {
 public:
};

DropOwnedStmt::DropOwnedStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropOwnedStmt)
}
DropOwnedStmt::DropOwnedStmt(const DropOwnedStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropOwnedStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){from._impl_.roles_}
    , decltype(_impl_.behavior_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.behavior_ = from._impl_.behavior_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropOwnedStmt)
}

inline void DropOwnedStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){arena}
    , decltype(_impl_.behavior_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

DropOwnedStmt::~DropOwnedStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropOwnedStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DropOwnedStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.roles_.~RepeatedPtrField();
}

void DropOwnedStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DropOwnedStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropOwnedStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.behavior_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropOwnedStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node roles = 1 [json_name = "roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropOwnedStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropOwnedStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropOwnedStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DropOwnedStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropOwnedStmt::GetClassData() const { return &_class_data_; }


void DropOwnedStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DropOwnedStmt*>(&to_msg);
  auto& from = static_cast<const DropOwnedStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropOwnedStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.roles_.MergeFrom(from._impl_.roles_);
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  swap(_impl_.behavior_, other->_impl_.behavior_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DropOwnedStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[141]);
}

// ===================================================================

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->_impl_.newrole_;
}
ReassignOwnedStmt::ReassignOwnedStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReassignOwnedStmt)
}
ReassignOwnedStmt::ReassignOwnedStmt(const ReassignOwnedStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ReassignOwnedStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){from._impl_.roles_}
    , decltype(_impl_.newrole_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_newrole()) {
    _this->_impl_.newrole_ = new ::pg_query::RoleSpec(*from._impl_.newrole_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ReassignOwnedStmt)
}

inline void ReassignOwnedStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){arena}
    , decltype(_impl_.newrole_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ReassignOwnedStmt::~ReassignOwnedStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReassignOwnedStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ReassignOwnedStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.roles_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.newrole_;
}

void ReassignOwnedStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ReassignOwnedStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReassignOwnedStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.newrole_ != nullptr) {
    delete _impl_.newrole_;
  }
  _impl_.newrole_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ReassignOwnedStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node roles = 1 [json_name = "roles"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_newrole(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ReassignOwnedStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReassignOwnedStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
  if (this->_internal_has_newrole()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::newrole(this),
        _Internal::newrole(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
  if (this->_internal_has_newrole()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.newrole_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReassignOwnedStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ReassignOwnedStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReassignOwnedStmt::GetClassData() const { return &_class_data_; }


void ReassignOwnedStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ReassignOwnedStmt*>(&to_msg);
  auto& from = static_cast<const ReassignOwnedStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReassignOwnedStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.roles_.MergeFrom(from._impl_.roles_);
  if (from._internal_has_newrole()) {
    _this->_internal_mutable_newrole()->::pg_query::RoleSpec::MergeFrom(
        from._internal_newrole());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  swap(_impl_.newrole_, other->_impl_.newrole_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ReassignOwnedStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[142]);
}

// ===================================================================

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->_impl_.typevar_;
}
CompositeTypeStmt::CompositeTypeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CompositeTypeStmt)
}
CompositeTypeStmt::CompositeTypeStmt(const CompositeTypeStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CompositeTypeStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.coldeflist_){from._impl_.coldeflist_}
    , decltype(_impl_.typevar_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_typevar()) {
    _this->_impl_.typevar_ = new ::pg_query::RangeVar(*from._impl_.typevar_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CompositeTypeStmt)
}

inline void CompositeTypeStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.coldeflist_){arena}
    , decltype(_impl_.typevar_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CompositeTypeStmt::~CompositeTypeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CompositeTypeStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CompositeTypeStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.coldeflist_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.typevar_;
}

void CompositeTypeStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CompositeTypeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CompositeTypeStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.coldeflist_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.typevar_ != nullptr) {
    delete _impl_.typevar_;
  }
  _impl_.typevar_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CompositeTypeStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CompositeTypeStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CompositeTypeStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
  if (this->_internal_has_typevar()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::typevar(this),
        _Internal::typevar(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coldeflist_size()); i < n; i++) {
    const auto& repfield = this->_internal_coldeflist(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.coldeflist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
  if (this->_internal_has_typevar()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.typevar_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CompositeTypeStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CompositeTypeStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CompositeTypeStmt::GetClassData() const { return &_class_data_; }


void CompositeTypeStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CompositeTypeStmt*>(&to_msg);
  auto& from = static_cast<const CompositeTypeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CompositeTypeStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.coldeflist_.MergeFrom(from._impl_.coldeflist_);
  if (from._internal_has_typevar()) {
    _this->_internal_mutable_typevar()->::pg_query::RangeVar::MergeFrom(
        from._internal_typevar());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.coldeflist_.InternalSwap(&other->_impl_.coldeflist_);
  swap(_impl_.typevar_, other->_impl_.typevar_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CompositeTypeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[143]);
}

// ===================================================================

class CreateEnumStmt::_Internal {
 public:
};

CreateEnumStmt::CreateEnumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateEnumStmt)
}
CreateEnumStmt::CreateEnumStmt(const CreateEnumStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateEnumStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){from._impl_.type_name_}
    , decltype(_impl_.vals_){from._impl_.vals_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateEnumStmt)
}

inline void CreateEnumStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){arena}
    , decltype(_impl_.vals_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateEnumStmt::~CreateEnumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateEnumStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateEnumStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.type_name_.~RepeatedPtrField();
  _impl_.vals_.~RepeatedPtrField();
}

void CreateEnumStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateEnumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateEnumStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.vals_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateEnumStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateEnumStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateEnumStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node vals = 2 [json_name = "vals"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_vals_size()); i < n; i++) {
    const auto& repfield = this->_internal_vals(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.vals_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateEnumStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateEnumStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateEnumStmt::GetClassData() const { return &_class_data_; }


void CreateEnumStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateEnumStmt*>(&to_msg);
  auto& from = static_cast<const CreateEnumStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateEnumStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.type_name_.MergeFrom(from._impl_.type_name_);
  _this->_impl_.vals_.MergeFrom(from._impl_.vals_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  _impl_.vals_.InternalSwap(&other->_impl_.vals_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateEnumStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[144]);
}

// ===================================================================

class CreateRangeStmt::_Internal {
 public:
};

CreateRangeStmt::CreateRangeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateRangeStmt)
}
CreateRangeStmt::CreateRangeStmt(const CreateRangeStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateRangeStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){from._impl_.type_name_}
    , decltype(_impl_.params_){from._impl_.params_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateRangeStmt)
}

inline void CreateRangeStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){arena}
    , decltype(_impl_.params_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateRangeStmt::~CreateRangeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateRangeStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateRangeStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.type_name_.~RepeatedPtrField();
  _impl_.params_.~RepeatedPtrField();
}

void CreateRangeStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateRangeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateRangeStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.params_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateRangeStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateRangeStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateRangeStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node params = 2 [json_name = "params"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateRangeStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateRangeStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateRangeStmt::GetClassData() const { return &_class_data_; }


void CreateRangeStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateRangeStmt*>(&to_msg);
  auto& from = static_cast<const CreateRangeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateRangeStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.type_name_.MergeFrom(from._impl_.type_name_);
  _this->_impl_.params_.MergeFrom(from._impl_.params_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateRangeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[145]);
}

// ===================================================================

class AlterEnumStmt::_Internal {
 public:
};

AlterEnumStmt::AlterEnumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterEnumStmt)
}
AlterEnumStmt::AlterEnumStmt(const AlterEnumStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterEnumStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){from._impl_.type_name_}
    , decltype(_impl_.old_val_){}
    , decltype(_impl_.new_val_){}
    , decltype(_impl_.new_val_neighbor_){}
    , decltype(_impl_.new_val_is_after_){}
    , decltype(_impl_.skip_if_new_val_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.old_val_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.old_val_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_old_val().empty()) {
    _this->_impl_.old_val_.Set(from._internal_old_val(), 
      _this->GetArenaForAllocation());
  }
  _impl_.new_val_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_val_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_new_val().empty()) {
    _this->_impl_.new_val_.Set(from._internal_new_val(), 
      _this->GetArenaForAllocation());
  }
  _impl_.new_val_neighbor_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_val_neighbor_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_new_val_neighbor().empty()) {
    _this->_impl_.new_val_neighbor_.Set(from._internal_new_val_neighbor(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.new_val_is_after_, &from._impl_.new_val_is_after_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.skip_if_new_val_exists_) -
    reinterpret_cast<char*>(&_impl_.new_val_is_after_)) + sizeof(_impl_.skip_if_new_val_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterEnumStmt)
}

inline void AlterEnumStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.type_name_){arena}
    , decltype(_impl_.old_val_){}
    , decltype(_impl_.new_val_){}
    , decltype(_impl_.new_val_neighbor_){}
    , decltype(_impl_.new_val_is_after_){false}
    , decltype(_impl_.skip_if_new_val_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.old_val_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.old_val_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.new_val_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_val_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.new_val_neighbor_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_val_neighbor_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterEnumStmt::~AlterEnumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterEnumStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterEnumStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.type_name_.~RepeatedPtrField();
  _impl_.old_val_.Destroy();
  _impl_.new_val_.Destroy();
  _impl_.new_val_neighbor_.Destroy();
}

void AlterEnumStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterEnumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterEnumStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.old_val_.ClearToEmpty();
  _impl_.new_val_.ClearToEmpty();
  _impl_.new_val_neighbor_.ClearToEmpty();
  ::memset(&_impl_.new_val_is_after_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.skip_if_new_val_exists_) -
      reinterpret_cast<char*>(&_impl_.new_val_is_after_)) + sizeof(_impl_.skip_if_new_val_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterEnumStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_old_val();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterEnumStmt.old_val"));
        } else
          goto handle_unusual;
        continue;
      // string new_val = 3 [json_name = "newVal"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_new_val();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterEnumStmt.new_val"));
        } else
          goto handle_unusual;
        continue;
      // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_new_val_neighbor();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterEnumStmt.new_val_neighbor"));
        } else
          goto handle_unusual;
        continue;
      // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.skip_if_new_val_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterEnumStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterEnumStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string old_val = 2 [json_name = "oldVal"];
  if (!this->_internal_old_val().empty()) {
    ::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->_internal_new_val().empty()) {
    ::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->_internal_new_val_neighbor().empty()) {
    ::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->_internal_new_val_is_after() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_new_val_is_after(), target);
  }

  // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
  if (this->_internal_skip_if_new_val_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_skip_if_new_val_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.type_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string old_val = 2 [json_name = "oldVal"];
  if (!this->_internal_old_val().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_old_val());
  }

  // string new_val = 3 [json_name = "newVal"];
  if (!this->_internal_new_val().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_new_val());
  }

  // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
  if (!this->_internal_new_val_neighbor().empty()) {
    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->_internal_new_val_is_after() != 0) {
    total_size += 1 + 1;
  }

  // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
  if (this->_internal_skip_if_new_val_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterEnumStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterEnumStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterEnumStmt::GetClassData() const { return &_class_data_; }


void AlterEnumStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterEnumStmt*>(&to_msg);
  auto& from = static_cast<const AlterEnumStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterEnumStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.type_name_.MergeFrom(from._impl_.type_name_);
  if (!from._internal_old_val().empty()) {
    _this->_internal_set_old_val(from._internal_old_val());
  }
  if (!from._internal_new_val().empty()) {
    _this->_internal_set_new_val(from._internal_new_val());
  }
  if (!from._internal_new_val_neighbor().empty()) {
    _this->_internal_set_new_val_neighbor(from._internal_new_val_neighbor());
  }
  if (from._internal_new_val_is_after() != 0) {
    _this->_internal_set_new_val_is_after(from._internal_new_val_is_after());
  }
  if (from._internal_skip_if_new_val_exists() != 0) {
    _this->_internal_set_skip_if_new_val_exists(from._internal_skip_if_new_val_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.old_val_, lhs_arena,
      &other->_impl_.old_val_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.new_val_, lhs_arena,
      &other->_impl_.new_val_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.new_val_neighbor_, lhs_arena,
      &other->_impl_.new_val_neighbor_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.skip_if_new_val_exists_)
      + sizeof(AlterEnumStmt::_impl_.skip_if_new_val_exists_)
      - PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_is_after_)>(
          reinterpret_cast<char*>(&_impl_.new_val_is_after_),
          reinterpret_cast<char*>(&other->_impl_.new_val_is_after_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterEnumStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[146]);
}

// ===================================================================

class AlterTSDictionaryStmt::_Internal {
 public:
};

AlterTSDictionaryStmt::AlterTSDictionaryStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTSDictionaryStmt)
}
AlterTSDictionaryStmt::AlterTSDictionaryStmt(const AlterTSDictionaryStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterTSDictionaryStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.dictname_){from._impl_.dictname_}
    , decltype(_impl_.options_){from._impl_.options_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTSDictionaryStmt)
}

inline void AlterTSDictionaryStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.dictname_){arena}
    , decltype(_impl_.options_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterTSDictionaryStmt::~AlterTSDictionaryStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTSDictionaryStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterTSDictionaryStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.dictname_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
}

void AlterTSDictionaryStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterTSDictionaryStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTSDictionaryStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dictname_.Clear();
  _impl_.options_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTSDictionaryStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterTSDictionaryStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTSDictionaryStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_dictname_size()); i < n; i++) {
    const auto& repfield = this->_internal_dictname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterTSDictionaryStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterTSDictionaryStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterTSDictionaryStmt::GetClassData() const { return &_class_data_; }


void AlterTSDictionaryStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterTSDictionaryStmt*>(&to_msg);
  auto& from = static_cast<const AlterTSDictionaryStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTSDictionaryStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.dictname_.MergeFrom(from._impl_.dictname_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.dictname_.InternalSwap(&other->_impl_.dictname_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTSDictionaryStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[147]);
}

// ===================================================================

class AlterTSConfigurationStmt::_Internal {
 public:
};

AlterTSConfigurationStmt::AlterTSConfigurationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTSConfigurationStmt)
}
AlterTSConfigurationStmt::AlterTSConfigurationStmt(const AlterTSConfigurationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterTSConfigurationStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.cfgname_){from._impl_.cfgname_}
    , decltype(_impl_.tokentype_){from._impl_.tokentype_}
    , decltype(_impl_.dicts_){from._impl_.dicts_}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.override_){}
    , decltype(_impl_.replace_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.missing_ok_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTSConfigurationStmt)
}

inline void AlterTSConfigurationStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.cfgname_){arena}
    , decltype(_impl_.tokentype_){arena}
    , decltype(_impl_.dicts_){arena}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.override_){false}
    , decltype(_impl_.replace_){false}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterTSConfigurationStmt::~AlterTSConfigurationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTSConfigurationStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterTSConfigurationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cfgname_.~RepeatedPtrField();
  _impl_.tokentype_.~RepeatedPtrField();
  _impl_.dicts_.~RepeatedPtrField();
}

void AlterTSConfigurationStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterTSConfigurationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTSConfigurationStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cfgname_.Clear();
  _impl_.tokentype_.Clear();
  _impl_.dicts_.Clear();
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTSConfigurationStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(tag) == 56)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterTSConfigurationStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTSConfigurationStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cfgname_size()); i < n; i++) {
    const auto& repfield = this->_internal_cfgname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_tokentype_size()); i < n; i++) {
    const auto& repfield = this->_internal_tokentype(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_dicts_size()); i < n; i++) {
    const auto& repfield = this->_internal_dicts(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool override = 5 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_override(), target);
  }

  // bool replace = 6 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_replace(), target);
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.dicts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool override = 5 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 1 + 1;
  }

  // bool replace = 6 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 1 + 1;
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterTSConfigurationStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterTSConfigurationStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterTSConfigurationStmt::GetClassData() const { return &_class_data_; }


void AlterTSConfigurationStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterTSConfigurationStmt*>(&to_msg);
  auto& from = static_cast<const AlterTSConfigurationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTSConfigurationStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.cfgname_.MergeFrom(from._impl_.cfgname_);
  _this->_impl_.tokentype_.MergeFrom(from._impl_.tokentype_);
  _this->_impl_.dicts_.MergeFrom(from._impl_.dicts_);
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.cfgname_.InternalSwap(&other->_impl_.cfgname_);
  _impl_.tokentype_.InternalSwap(&other->_impl_.tokentype_);
  _impl_.dicts_.InternalSwap(&other->_impl_.dicts_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.missing_ok_)
      + sizeof(AlterTSConfigurationStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTSConfigurationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[148]);
}

// ===================================================================

class CreateFdwStmt::_Internal {
 public:
};

CreateFdwStmt::CreateFdwStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateFdwStmt)
}
CreateFdwStmt::CreateFdwStmt(const CreateFdwStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateFdwStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.func_options_){from._impl_.func_options_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.fdwname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.fdwname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fdwname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fdwname().empty()) {
    _this->_impl_.fdwname_.Set(from._internal_fdwname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateFdwStmt)
}

inline void CreateFdwStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.func_options_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.fdwname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.fdwname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fdwname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateFdwStmt::~CreateFdwStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateFdwStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateFdwStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.func_options_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.fdwname_.Destroy();
}

void CreateFdwStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateFdwStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateFdwStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.func_options_.Clear();
  _impl_.options_.Clear();
  _impl_.fdwname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateFdwStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string fdwname = 1 [json_name = "fdwname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_fdwname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateFdwStmt.fdwname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateFdwStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateFdwStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_func_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_func_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fdwname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateFdwStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateFdwStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateFdwStmt::GetClassData() const { return &_class_data_; }


void CreateFdwStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateFdwStmt*>(&to_msg);
  auto& from = static_cast<const CreateFdwStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateFdwStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.func_options_.MergeFrom(from._impl_.func_options_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_fdwname().empty()) {
    _this->_internal_set_fdwname(from._internal_fdwname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.func_options_.InternalSwap(&other->_impl_.func_options_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.fdwname_, lhs_arena,
      &other->_impl_.fdwname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateFdwStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[149]);
}

// ===================================================================

class AlterFdwStmt::_Internal {
 public:
};

AlterFdwStmt::AlterFdwStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterFdwStmt)
}
AlterFdwStmt::AlterFdwStmt(const AlterFdwStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterFdwStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.func_options_){from._impl_.func_options_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.fdwname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.fdwname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fdwname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fdwname().empty()) {
    _this->_impl_.fdwname_.Set(from._internal_fdwname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterFdwStmt)
}

inline void AlterFdwStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.func_options_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.fdwname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.fdwname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fdwname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterFdwStmt::~AlterFdwStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterFdwStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterFdwStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.func_options_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.fdwname_.Destroy();
}

void AlterFdwStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterFdwStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterFdwStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.func_options_.Clear();
  _impl_.options_.Clear();
  _impl_.fdwname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterFdwStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string fdwname = 1 [json_name = "fdwname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_fdwname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterFdwStmt.fdwname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterFdwStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterFdwStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_func_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_func_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fdwname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterFdwStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterFdwStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterFdwStmt::GetClassData() const { return &_class_data_; }


void AlterFdwStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterFdwStmt*>(&to_msg);
  auto& from = static_cast<const AlterFdwStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterFdwStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.func_options_.MergeFrom(from._impl_.func_options_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_fdwname().empty()) {
    _this->_internal_set_fdwname(from._internal_fdwname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.func_options_.InternalSwap(&other->_impl_.func_options_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.fdwname_, lhs_arena,
      &other->_impl_.fdwname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterFdwStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[150]);
}

// ===================================================================

class CreateForeignServerStmt::_Internal {
 public:
};

CreateForeignServerStmt::CreateForeignServerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateForeignServerStmt)
}
CreateForeignServerStmt::CreateForeignServerStmt(const CreateForeignServerStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateForeignServerStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.servertype_){}
    , decltype(_impl_.version_){}
    , decltype(_impl_.fdwname_){}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_servername().empty()) {
    _this->_impl_.servername_.Set(from._internal_servername(), 
      _this->GetArenaForAllocation());
  }
  _impl_.servertype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servertype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_servertype().empty()) {
    _this->_impl_.servertype_.Set(from._internal_servertype(), 
      _this->GetArenaForAllocation());
  }
  _impl_.version_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.version_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_version().empty()) {
    _this->_impl_.version_.Set(from._internal_version(), 
      _this->GetArenaForAllocation());
  }
  _impl_.fdwname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fdwname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fdwname().empty()) {
    _this->_impl_.fdwname_.Set(from._internal_fdwname(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.if_not_exists_ = from._impl_.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateForeignServerStmt)
}

inline void CreateForeignServerStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.servertype_){}
    , decltype(_impl_.version_){}
    , decltype(_impl_.fdwname_){}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.servertype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servertype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.version_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.version_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.fdwname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fdwname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateForeignServerStmt::~CreateForeignServerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateForeignServerStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateForeignServerStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.servername_.Destroy();
  _impl_.servertype_.Destroy();
  _impl_.version_.Destroy();
  _impl_.fdwname_.Destroy();
}

void CreateForeignServerStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateForeignServerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateForeignServerStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  _impl_.servertype_.ClearToEmpty();
  _impl_.version_.ClearToEmpty();
  _impl_.fdwname_.ClearToEmpty();
  _impl_.if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateForeignServerStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string servername = 1 [json_name = "servername"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_servername();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.servername"));
        } else
          goto handle_unusual;
        continue;
      // string servertype = 2 [json_name = "servertype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_servertype();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.servertype"));
        } else
          goto handle_unusual;
        continue;
      // string version = 3 [json_name = "version"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_version();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.version"));
        } else
          goto handle_unusual;
        continue;
      // string fdwname = 4 [json_name = "fdwname"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_fdwname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateForeignServerStmt.fdwname"));
        } else
          goto handle_unusual;
        continue;
      // bool if_not_exists = 5 [json_name = "if_not_exists"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateForeignServerStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateForeignServerStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    ::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->_internal_servertype().empty()) {
    ::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->_internal_version().empty()) {
    ::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->_internal_fdwname().empty()) {
    ::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->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // string servertype = 2 [json_name = "servertype"];
  if (!this->_internal_servertype().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servertype());
  }

  // string version = 3 [json_name = "version"];
  if (!this->_internal_version().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_version());
  }

  // string fdwname = 4 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fdwname());
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateForeignServerStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateForeignServerStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateForeignServerStmt::GetClassData() const { return &_class_data_; }


void CreateForeignServerStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateForeignServerStmt*>(&to_msg);
  auto& from = static_cast<const CreateForeignServerStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateForeignServerStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (!from._internal_servertype().empty()) {
    _this->_internal_set_servertype(from._internal_servertype());
  }
  if (!from._internal_version().empty()) {
    _this->_internal_set_version(from._internal_version());
  }
  if (!from._internal_fdwname().empty()) {
    _this->_internal_set_fdwname(from._internal_fdwname());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.servername_, lhs_arena,
      &other->_impl_.servername_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.servertype_, lhs_arena,
      &other->_impl_.servertype_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.version_, lhs_arena,
      &other->_impl_.version_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.fdwname_, lhs_arena,
      &other->_impl_.fdwname_, rhs_arena
  );
  swap(_impl_.if_not_exists_, other->_impl_.if_not_exists_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateForeignServerStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[151]);
}

// ===================================================================

class AlterForeignServerStmt::_Internal {
 public:
};

AlterForeignServerStmt::AlterForeignServerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterForeignServerStmt)
}
AlterForeignServerStmt::AlterForeignServerStmt(const AlterForeignServerStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterForeignServerStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.version_){}
    , decltype(_impl_.has_version_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_servername().empty()) {
    _this->_impl_.servername_.Set(from._internal_servername(), 
      _this->GetArenaForAllocation());
  }
  _impl_.version_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.version_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_version().empty()) {
    _this->_impl_.version_.Set(from._internal_version(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.has_version_ = from._impl_.has_version_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterForeignServerStmt)
}

inline void AlterForeignServerStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.version_){}
    , decltype(_impl_.has_version_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.version_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.version_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterForeignServerStmt::~AlterForeignServerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterForeignServerStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterForeignServerStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.servername_.Destroy();
  _impl_.version_.Destroy();
}

void AlterForeignServerStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterForeignServerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterForeignServerStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  _impl_.version_.ClearToEmpty();
  _impl_.has_version_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterForeignServerStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string servername = 1 [json_name = "servername"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_servername();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterForeignServerStmt.servername"));
        } else
          goto handle_unusual;
        continue;
      // string version = 2 [json_name = "version"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_version();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterForeignServerStmt.version"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.has_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterForeignServerStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterForeignServerStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    ::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->_internal_version().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool has_version = 4 [json_name = "has_version"];
  if (this->_internal_has_version() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_has_version(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // string version = 2 [json_name = "version"];
  if (!this->_internal_version().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_version());
  }

  // bool has_version = 4 [json_name = "has_version"];
  if (this->_internal_has_version() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterForeignServerStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterForeignServerStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterForeignServerStmt::GetClassData() const { return &_class_data_; }


void AlterForeignServerStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterForeignServerStmt*>(&to_msg);
  auto& from = static_cast<const AlterForeignServerStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterForeignServerStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (!from._internal_version().empty()) {
    _this->_internal_set_version(from._internal_version());
  }
  if (from._internal_has_version() != 0) {
    _this->_internal_set_has_version(from._internal_has_version());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.servername_, lhs_arena,
      &other->_impl_.servername_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.version_, lhs_arena,
      &other->_impl_.version_, rhs_arena
  );
  swap(_impl_.has_version_, other->_impl_.has_version_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterForeignServerStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[152]);
}

// ===================================================================

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->_impl_.user_;
}
CreateUserMappingStmt::CreateUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateUserMappingStmt)
}
CreateUserMappingStmt::CreateUserMappingStmt(const CreateUserMappingStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateUserMappingStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.user_){nullptr}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_servername().empty()) {
    _this->_impl_.servername_.Set(from._internal_servername(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_user()) {
    _this->_impl_.user_ = new ::pg_query::RoleSpec(*from._impl_.user_);
  }
  _this->_impl_.if_not_exists_ = from._impl_.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateUserMappingStmt)
}

inline void CreateUserMappingStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.user_){nullptr}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateUserMappingStmt::~CreateUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateUserMappingStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateUserMappingStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.servername_.Destroy();
  if (this != internal_default_instance()) delete _impl_.user_;
}

void CreateUserMappingStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateUserMappingStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.user_ != nullptr) {
    delete _impl_.user_;
  }
  _impl_.user_ = nullptr;
  _impl_.if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateUserMappingStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RoleSpec user = 1 [json_name = "user"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateUserMappingStmt.servername"));
        } else
          goto handle_unusual;
        continue;
      // bool if_not_exists = 3 [json_name = "if_not_exists"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateUserMappingStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateUserMappingStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->_internal_has_user()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::user(this),
        _Internal::user(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    ::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->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.user_);
  }

  // bool if_not_exists = 3 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateUserMappingStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateUserMappingStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateUserMappingStmt::GetClassData() const { return &_class_data_; }


void CreateUserMappingStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateUserMappingStmt*>(&to_msg);
  auto& from = static_cast<const CreateUserMappingStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (from._internal_has_user()) {
    _this->_internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(
        from._internal_user());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.servername_, lhs_arena,
      &other->_impl_.servername_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.if_not_exists_)
      + sizeof(CreateUserMappingStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.user_)>(
          reinterpret_cast<char*>(&_impl_.user_),
          reinterpret_cast<char*>(&other->_impl_.user_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateUserMappingStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[153]);
}

// ===================================================================

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->_impl_.user_;
}
AlterUserMappingStmt::AlterUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterUserMappingStmt)
}
AlterUserMappingStmt::AlterUserMappingStmt(const AlterUserMappingStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterUserMappingStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.user_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_servername().empty()) {
    _this->_impl_.servername_.Set(from._internal_servername(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_user()) {
    _this->_impl_.user_ = new ::pg_query::RoleSpec(*from._impl_.user_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterUserMappingStmt)
}

inline void AlterUserMappingStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.user_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterUserMappingStmt::~AlterUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterUserMappingStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterUserMappingStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.servername_.Destroy();
  if (this != internal_default_instance()) delete _impl_.user_;
}

void AlterUserMappingStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterUserMappingStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.user_ != nullptr) {
    delete _impl_.user_;
  }
  _impl_.user_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterUserMappingStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RoleSpec user = 1 [json_name = "user"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterUserMappingStmt.servername"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterUserMappingStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterUserMappingStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->_internal_has_user()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::user(this),
        _Internal::user(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.user_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterUserMappingStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterUserMappingStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterUserMappingStmt::GetClassData() const { return &_class_data_; }


void AlterUserMappingStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterUserMappingStmt*>(&to_msg);
  auto& from = static_cast<const AlterUserMappingStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (from._internal_has_user()) {
    _this->_internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(
        from._internal_user());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.servername_, lhs_arena,
      &other->_impl_.servername_, rhs_arena
  );
  swap(_impl_.user_, other->_impl_.user_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterUserMappingStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[154]);
}

// ===================================================================

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->_impl_.user_;
}
DropUserMappingStmt::DropUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropUserMappingStmt)
}
DropUserMappingStmt::DropUserMappingStmt(const DropUserMappingStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropUserMappingStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.servername_){}
    , decltype(_impl_.user_){nullptr}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_servername().empty()) {
    _this->_impl_.servername_.Set(from._internal_servername(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_user()) {
    _this->_impl_.user_ = new ::pg_query::RoleSpec(*from._impl_.user_);
  }
  _this->_impl_.missing_ok_ = from._impl_.missing_ok_;
  // @@protoc_insertion_point(copy_constructor:pg_query.DropUserMappingStmt)
}

inline void DropUserMappingStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.servername_){}
    , decltype(_impl_.user_){nullptr}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DropUserMappingStmt::~DropUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropUserMappingStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DropUserMappingStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.servername_.Destroy();
  if (this != internal_default_instance()) delete _impl_.user_;
}

void DropUserMappingStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DropUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropUserMappingStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.servername_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.user_ != nullptr) {
    delete _impl_.user_;
  }
  _impl_.user_ = nullptr;
  _impl_.missing_ok_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropUserMappingStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RoleSpec user = 1 [json_name = "user"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DropUserMappingStmt.servername"));
        } else
          goto handle_unusual;
        continue;
      // bool missing_ok = 3 [json_name = "missing_ok"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropUserMappingStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropUserMappingStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->_internal_has_user()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::user(this),
        _Internal::user(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    ::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->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_servername().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.user_);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropUserMappingStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DropUserMappingStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropUserMappingStmt::GetClassData() const { return &_class_data_; }


void DropUserMappingStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DropUserMappingStmt*>(&to_msg);
  auto& from = static_cast<const DropUserMappingStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropUserMappingStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (from._internal_has_user()) {
    _this->_internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(
        from._internal_user());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.servername_, lhs_arena,
      &other->_impl_.servername_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.missing_ok_)
      + sizeof(DropUserMappingStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.user_)>(
          reinterpret_cast<char*>(&_impl_.user_),
          reinterpret_cast<char*>(&other->_impl_.user_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DropUserMappingStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[155]);
}

// ===================================================================

class AlterTableSpaceOptionsStmt::_Internal {
 public:
};

AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableSpaceOptionsStmt)
}
AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterTableSpaceOptionsStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.tablespacename_){}
    , decltype(_impl_.is_reset_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_tablespacename().empty()) {
    _this->_impl_.tablespacename_.Set(from._internal_tablespacename(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.is_reset_ = from._impl_.is_reset_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableSpaceOptionsStmt)
}

inline void AlterTableSpaceOptionsStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.tablespacename_){}
    , decltype(_impl_.is_reset_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterTableSpaceOptionsStmt::~AlterTableSpaceOptionsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableSpaceOptionsStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterTableSpaceOptionsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.tablespacename_.Destroy();
}

void AlterTableSpaceOptionsStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterTableSpaceOptionsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableSpaceOptionsStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.tablespacename_.ClearToEmpty();
  _impl_.is_reset_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableSpaceOptionsStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string tablespacename = 1 [json_name = "tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_tablespacename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterTableSpaceOptionsStmt.tablespacename"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.is_reset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterTableSpaceOptionsStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableSpaceOptionsStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_reset = 3 [json_name = "isReset"];
  if (this->_internal_is_reset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_reset(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tablespacename());
  }

  // bool is_reset = 3 [json_name = "isReset"];
  if (this->_internal_is_reset() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterTableSpaceOptionsStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterTableSpaceOptionsStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterTableSpaceOptionsStmt::GetClassData() const { return &_class_data_; }


void AlterTableSpaceOptionsStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterTableSpaceOptionsStmt*>(&to_msg);
  auto& from = static_cast<const AlterTableSpaceOptionsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableSpaceOptionsStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from._internal_is_reset() != 0) {
    _this->_internal_set_is_reset(from._internal_is_reset());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.tablespacename_, lhs_arena,
      &other->_impl_.tablespacename_, rhs_arena
  );
  swap(_impl_.is_reset_, other->_impl_.is_reset_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableSpaceOptionsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[156]);
}

// ===================================================================

class AlterTableMoveAllStmt::_Internal {
 public:
};

AlterTableMoveAllStmt::AlterTableMoveAllStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableMoveAllStmt)
}
AlterTableMoveAllStmt::AlterTableMoveAllStmt(const AlterTableMoveAllStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterTableMoveAllStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){from._impl_.roles_}
    , decltype(_impl_.orig_tablespacename_){}
    , decltype(_impl_.new_tablespacename_){}
    , decltype(_impl_.objtype_){}
    , decltype(_impl_.nowait_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.orig_tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.orig_tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_orig_tablespacename().empty()) {
    _this->_impl_.orig_tablespacename_.Set(from._internal_orig_tablespacename(), 
      _this->GetArenaForAllocation());
  }
  _impl_.new_tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_new_tablespacename().empty()) {
    _this->_impl_.new_tablespacename_.Set(from._internal_new_tablespacename(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.objtype_, &from._impl_.objtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.nowait_) -
    reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.nowait_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableMoveAllStmt)
}

inline void AlterTableMoveAllStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){arena}
    , decltype(_impl_.orig_tablespacename_){}
    , decltype(_impl_.new_tablespacename_){}
    , decltype(_impl_.objtype_){0}
    , decltype(_impl_.nowait_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.orig_tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.orig_tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.new_tablespacename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.new_tablespacename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterTableMoveAllStmt::~AlterTableMoveAllStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableMoveAllStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterTableMoveAllStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.roles_.~RepeatedPtrField();
  _impl_.orig_tablespacename_.Destroy();
  _impl_.new_tablespacename_.Destroy();
}

void AlterTableMoveAllStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterTableMoveAllStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableMoveAllStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.orig_tablespacename_.ClearToEmpty();
  _impl_.new_tablespacename_.ClearToEmpty();
  ::memset(&_impl_.objtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.nowait_) -
      reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.nowait_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterTableMoveAllStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_orig_tablespacename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterTableMoveAllStmt.orig_tablespacename"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_new_tablespacename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterTableMoveAllStmt.new_tablespacename"));
        } else
          goto handle_unusual;
        continue;
      // bool nowait = 5 [json_name = "nowait"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.nowait_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterTableMoveAllStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableMoveAllStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
  if (!this->_internal_orig_tablespacename().empty()) {
    ::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->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_objtype(), target);
  }

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string new_tablespacename = 4 [json_name = "new_tablespacename"];
  if (!this->_internal_new_tablespacename().empty()) {
    ::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->_internal_nowait() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_nowait(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
  if (!this->_internal_orig_tablespacename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_orig_tablespacename());
  }

  // string new_tablespacename = 4 [json_name = "new_tablespacename"];
  if (!this->_internal_new_tablespacename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_new_tablespacename());
  }

  // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool nowait = 5 [json_name = "nowait"];
  if (this->_internal_nowait() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterTableMoveAllStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterTableMoveAllStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterTableMoveAllStmt::GetClassData() const { return &_class_data_; }


void AlterTableMoveAllStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterTableMoveAllStmt*>(&to_msg);
  auto& from = static_cast<const AlterTableMoveAllStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableMoveAllStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.roles_.MergeFrom(from._impl_.roles_);
  if (!from._internal_orig_tablespacename().empty()) {
    _this->_internal_set_orig_tablespacename(from._internal_orig_tablespacename());
  }
  if (!from._internal_new_tablespacename().empty()) {
    _this->_internal_set_new_tablespacename(from._internal_new_tablespacename());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_nowait() != 0) {
    _this->_internal_set_nowait(from._internal_nowait());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.orig_tablespacename_, lhs_arena,
      &other->_impl_.orig_tablespacename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.new_tablespacename_, lhs_arena,
      &other->_impl_.new_tablespacename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.nowait_)
      + sizeof(AlterTableMoveAllStmt::_impl_.nowait_)
      - PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.objtype_)>(
          reinterpret_cast<char*>(&_impl_.objtype_),
          reinterpret_cast<char*>(&other->_impl_.objtype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterTableMoveAllStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[157]);
}

// ===================================================================

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->_impl_.object_;
}
SecLabelStmt::SecLabelStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SecLabelStmt)
}
SecLabelStmt::SecLabelStmt(const SecLabelStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SecLabelStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.provider_){}
    , decltype(_impl_.label_){}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.objtype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.provider_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.provider_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_provider().empty()) {
    _this->_impl_.provider_.Set(from._internal_provider(), 
      _this->GetArenaForAllocation());
  }
  _impl_.label_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.label_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_label().empty()) {
    _this->_impl_.label_.Set(from._internal_label(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_object()) {
    _this->_impl_.object_ = new ::pg_query::Node(*from._impl_.object_);
  }
  _this->_impl_.objtype_ = from._impl_.objtype_;
  // @@protoc_insertion_point(copy_constructor:pg_query.SecLabelStmt)
}

inline void SecLabelStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.provider_){}
    , decltype(_impl_.label_){}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.objtype_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.provider_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.provider_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.label_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.label_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

SecLabelStmt::~SecLabelStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SecLabelStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SecLabelStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.provider_.Destroy();
  _impl_.label_.Destroy();
  if (this != internal_default_instance()) delete _impl_.object_;
}

void SecLabelStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void SecLabelStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SecLabelStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.provider_.ClearToEmpty();
  _impl_.label_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) {
    delete _impl_.object_;
  }
  _impl_.object_ = nullptr;
  _impl_.objtype_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SecLabelStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_provider();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.SecLabelStmt.provider"));
        } else
          goto handle_unusual;
        continue;
      // string label = 4 [json_name = "label"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_label();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.SecLabelStmt.label"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* SecLabelStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SecLabelStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_objtype(), target);
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->_internal_has_object()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // string provider = 3 [json_name = "provider"];
  if (!this->_internal_provider().empty()) {
    ::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->_internal_label().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_provider().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_provider());
  }

  // string label = 4 [json_name = "label"];
  if (!this->_internal_label().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_label());
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  if (this->_internal_has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.object_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SecLabelStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SecLabelStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SecLabelStmt::GetClassData() const { return &_class_data_; }


void SecLabelStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SecLabelStmt*>(&to_msg);
  auto& from = static_cast<const SecLabelStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SecLabelStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_provider().empty()) {
    _this->_internal_set_provider(from._internal_provider());
  }
  if (!from._internal_label().empty()) {
    _this->_internal_set_label(from._internal_label());
  }
  if (from._internal_has_object()) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.provider_, lhs_arena,
      &other->_impl_.provider_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.label_, lhs_arena,
      &other->_impl_.label_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.objtype_)
      + sizeof(SecLabelStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.object_)>(
          reinterpret_cast<char*>(&_impl_.object_),
          reinterpret_cast<char*>(&other->_impl_.object_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SecLabelStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[158]);
}

// ===================================================================

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->_impl_.base_stmt_;
}
CreateForeignTableStmt::CreateForeignTableStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateForeignTableStmt)
}
CreateForeignTableStmt::CreateForeignTableStmt(const CreateForeignTableStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateForeignTableStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.base_stmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_servername().empty()) {
    _this->_impl_.servername_.Set(from._internal_servername(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_base_stmt()) {
    _this->_impl_.base_stmt_ = new ::pg_query::CreateStmt(*from._impl_.base_stmt_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateForeignTableStmt)
}

inline void CreateForeignTableStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.servername_){}
    , decltype(_impl_.base_stmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.servername_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.servername_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateForeignTableStmt::~CreateForeignTableStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateForeignTableStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateForeignTableStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.servername_.Destroy();
  if (this != internal_default_instance()) delete _impl_.base_stmt_;
}

void CreateForeignTableStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateForeignTableStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateForeignTableStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.base_stmt_ != nullptr) {
    delete _impl_.base_stmt_;
  }
  _impl_.base_stmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateForeignTableStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_servername();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateForeignTableStmt.servername"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 3 [json_name = "options"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateForeignTableStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateForeignTableStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
  if (this->_internal_has_base_stmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::base_stmt(this),
        _Internal::base_stmt(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_servername());
  }

  // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
  if (this->_internal_has_base_stmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.base_stmt_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateForeignTableStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateForeignTableStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateForeignTableStmt::GetClassData() const { return &_class_data_; }


void CreateForeignTableStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateForeignTableStmt*>(&to_msg);
  auto& from = static_cast<const CreateForeignTableStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateForeignTableStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (from._internal_has_base_stmt()) {
    _this->_internal_mutable_base_stmt()->::pg_query::CreateStmt::MergeFrom(
        from._internal_base_stmt());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.servername_, lhs_arena,
      &other->_impl_.servername_, rhs_arena
  );
  swap(_impl_.base_stmt_, other->_impl_.base_stmt_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateForeignTableStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[159]);
}

// ===================================================================

class ImportForeignSchemaStmt::_Internal {
 public:
};

ImportForeignSchemaStmt::ImportForeignSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ImportForeignSchemaStmt)
}
ImportForeignSchemaStmt::ImportForeignSchemaStmt(const ImportForeignSchemaStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ImportForeignSchemaStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.table_list_){from._impl_.table_list_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.server_name_){}
    , decltype(_impl_.remote_schema_){}
    , decltype(_impl_.local_schema_){}
    , decltype(_impl_.list_type_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.server_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.server_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_server_name().empty()) {
    _this->_impl_.server_name_.Set(from._internal_server_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.remote_schema_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.remote_schema_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_remote_schema().empty()) {
    _this->_impl_.remote_schema_.Set(from._internal_remote_schema(), 
      _this->GetArenaForAllocation());
  }
  _impl_.local_schema_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.local_schema_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_local_schema().empty()) {
    _this->_impl_.local_schema_.Set(from._internal_local_schema(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.list_type_ = from._impl_.list_type_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ImportForeignSchemaStmt)
}

inline void ImportForeignSchemaStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.table_list_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.server_name_){}
    , decltype(_impl_.remote_schema_){}
    , decltype(_impl_.local_schema_){}
    , decltype(_impl_.list_type_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.server_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.server_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.remote_schema_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.remote_schema_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.local_schema_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.local_schema_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ImportForeignSchemaStmt::~ImportForeignSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ImportForeignSchemaStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ImportForeignSchemaStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.table_list_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.server_name_.Destroy();
  _impl_.remote_schema_.Destroy();
  _impl_.local_schema_.Destroy();
}

void ImportForeignSchemaStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ImportForeignSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ImportForeignSchemaStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.table_list_.Clear();
  _impl_.options_.Clear();
  _impl_.server_name_.ClearToEmpty();
  _impl_.remote_schema_.ClearToEmpty();
  _impl_.local_schema_.ClearToEmpty();
  _impl_.list_type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ImportForeignSchemaStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string server_name = 1 [json_name = "server_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_server_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ImportForeignSchemaStmt.server_name"));
        } else
          goto handle_unusual;
        continue;
      // string remote_schema = 2 [json_name = "remote_schema"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_remote_schema();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ImportForeignSchemaStmt.remote_schema"));
        } else
          goto handle_unusual;
        continue;
      // string local_schema = 3 [json_name = "local_schema"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_local_schema();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ImportForeignSchemaStmt.local_schema"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ImportForeignSchemaStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ImportForeignSchemaStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string server_name = 1 [json_name = "server_name"];
  if (!this->_internal_server_name().empty()) {
    ::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->_internal_remote_schema().empty()) {
    ::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->_internal_local_schema().empty()) {
    ::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->_internal_list_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      4, this->_internal_list_type(), target);
  }

  // repeated .pg_query.Node table_list = 5 [json_name = "table_list"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_table_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_table_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string server_name = 1 [json_name = "server_name"];
  if (!this->_internal_server_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_server_name());
  }

  // string remote_schema = 2 [json_name = "remote_schema"];
  if (!this->_internal_remote_schema().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_remote_schema());
  }

  // string local_schema = 3 [json_name = "local_schema"];
  if (!this->_internal_local_schema().empty()) {
    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->_internal_list_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_list_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ImportForeignSchemaStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ImportForeignSchemaStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ImportForeignSchemaStmt::GetClassData() const { return &_class_data_; }


void ImportForeignSchemaStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ImportForeignSchemaStmt*>(&to_msg);
  auto& from = static_cast<const ImportForeignSchemaStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ImportForeignSchemaStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.table_list_.MergeFrom(from._impl_.table_list_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_server_name().empty()) {
    _this->_internal_set_server_name(from._internal_server_name());
  }
  if (!from._internal_remote_schema().empty()) {
    _this->_internal_set_remote_schema(from._internal_remote_schema());
  }
  if (!from._internal_local_schema().empty()) {
    _this->_internal_set_local_schema(from._internal_local_schema());
  }
  if (from._internal_list_type() != 0) {
    _this->_internal_set_list_type(from._internal_list_type());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.table_list_.InternalSwap(&other->_impl_.table_list_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.server_name_, lhs_arena,
      &other->_impl_.server_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.remote_schema_, lhs_arena,
      &other->_impl_.remote_schema_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.local_schema_, lhs_arena,
      &other->_impl_.local_schema_, rhs_arena
  );
  swap(_impl_.list_type_, other->_impl_.list_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ImportForeignSchemaStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[160]);
}

// ===================================================================

class CreateExtensionStmt::_Internal {
 public:
};

CreateExtensionStmt::CreateExtensionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateExtensionStmt)
}
CreateExtensionStmt::CreateExtensionStmt(const CreateExtensionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateExtensionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.extname_){}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.extname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.extname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_extname().empty()) {
    _this->_impl_.extname_.Set(from._internal_extname(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.if_not_exists_ = from._impl_.if_not_exists_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateExtensionStmt)
}

inline void CreateExtensionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.extname_){}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.extname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.extname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateExtensionStmt::~CreateExtensionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateExtensionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateExtensionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.extname_.Destroy();
}

void CreateExtensionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateExtensionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateExtensionStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.extname_.ClearToEmpty();
  _impl_.if_not_exists_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateExtensionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string extname = 1 [json_name = "extname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_extname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateExtensionStmt.extname"));
        } else
          goto handle_unusual;
        continue;
      // bool if_not_exists = 2 [json_name = "if_not_exists"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateExtensionStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateExtensionStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    ::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->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_extname());
  }

  // bool if_not_exists = 2 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateExtensionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateExtensionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateExtensionStmt::GetClassData() const { return &_class_data_; }


void CreateExtensionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateExtensionStmt*>(&to_msg);
  auto& from = static_cast<const CreateExtensionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateExtensionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_extname().empty()) {
    _this->_internal_set_extname(from._internal_extname());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.extname_, lhs_arena,
      &other->_impl_.extname_, rhs_arena
  );
  swap(_impl_.if_not_exists_, other->_impl_.if_not_exists_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateExtensionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[161]);
}

// ===================================================================

class AlterExtensionStmt::_Internal {
 public:
};

AlterExtensionStmt::AlterExtensionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterExtensionStmt)
}
AlterExtensionStmt::AlterExtensionStmt(const AlterExtensionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterExtensionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.extname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.extname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.extname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_extname().empty()) {
    _this->_impl_.extname_.Set(from._internal_extname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterExtensionStmt)
}

inline void AlterExtensionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.extname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.extname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.extname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterExtensionStmt::~AlterExtensionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterExtensionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterExtensionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.extname_.Destroy();
}

void AlterExtensionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterExtensionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterExtensionStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.extname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterExtensionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string extname = 1 [json_name = "extname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_extname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterExtensionStmt.extname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterExtensionStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterExtensionStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_extname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterExtensionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterExtensionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterExtensionStmt::GetClassData() const { return &_class_data_; }


void AlterExtensionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterExtensionStmt*>(&to_msg);
  auto& from = static_cast<const AlterExtensionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterExtensionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_extname().empty()) {
    _this->_internal_set_extname(from._internal_extname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.extname_, lhs_arena,
      &other->_impl_.extname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterExtensionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[162]);
}

// ===================================================================

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->_impl_.object_;
}
AlterExtensionContentsStmt::AlterExtensionContentsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterExtensionContentsStmt)
}
AlterExtensionContentsStmt::AlterExtensionContentsStmt(const AlterExtensionContentsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterExtensionContentsStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.extname_){}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.action_){}
    , decltype(_impl_.objtype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.extname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.extname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_extname().empty()) {
    _this->_impl_.extname_.Set(from._internal_extname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_object()) {
    _this->_impl_.object_ = new ::pg_query::Node(*from._impl_.object_);
  }
  ::memcpy(&_impl_.action_, &from._impl_.action_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.objtype_) -
    reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.objtype_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterExtensionContentsStmt)
}

inline void AlterExtensionContentsStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.extname_){}
    , decltype(_impl_.object_){nullptr}
    , decltype(_impl_.action_){0}
    , decltype(_impl_.objtype_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.extname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.extname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterExtensionContentsStmt::~AlterExtensionContentsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterExtensionContentsStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterExtensionContentsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.extname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.object_;
}

void AlterExtensionContentsStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterExtensionContentsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterExtensionContentsStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.extname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) {
    delete _impl_.object_;
  }
  _impl_.object_ = nullptr;
  ::memset(&_impl_.action_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.objtype_) -
      reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.objtype_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterExtensionContentsStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string extname = 1 [json_name = "extname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_extname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterExtensionContentsStmt.extname"));
        } else
          goto handle_unusual;
        continue;
      // int32 action = 2 [json_name = "action"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.action_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_object(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterExtensionContentsStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterExtensionContentsStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    ::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->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_action(), target);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_objtype(), target);
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  if (this->_internal_has_object()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_extname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_extname());
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  if (this->_internal_has_object()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.object_);
  }

  // int32 action = 2 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_action());
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterExtensionContentsStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterExtensionContentsStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterExtensionContentsStmt::GetClassData() const { return &_class_data_; }


void AlterExtensionContentsStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterExtensionContentsStmt*>(&to_msg);
  auto& from = static_cast<const AlterExtensionContentsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterExtensionContentsStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_extname().empty()) {
    _this->_internal_set_extname(from._internal_extname());
  }
  if (from._internal_has_object()) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.extname_, lhs_arena,
      &other->_impl_.extname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.objtype_)
      + sizeof(AlterExtensionContentsStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.object_)>(
          reinterpret_cast<char*>(&_impl_.object_),
          reinterpret_cast<char*>(&other->_impl_.object_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterExtensionContentsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[163]);
}

// ===================================================================

class CreateEventTrigStmt::_Internal {
 public:
};

CreateEventTrigStmt::CreateEventTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateEventTrigStmt)
}
CreateEventTrigStmt::CreateEventTrigStmt(const CreateEventTrigStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateEventTrigStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.whenclause_){from._impl_.whenclause_}
    , decltype(_impl_.funcname_){from._impl_.funcname_}
    , decltype(_impl_.trigname_){}
    , decltype(_impl_.eventname_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.trigname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trigname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_trigname().empty()) {
    _this->_impl_.trigname_.Set(from._internal_trigname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.eventname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.eventname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_eventname().empty()) {
    _this->_impl_.eventname_.Set(from._internal_eventname(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateEventTrigStmt)
}

inline void CreateEventTrigStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.whenclause_){arena}
    , decltype(_impl_.funcname_){arena}
    , decltype(_impl_.trigname_){}
    , decltype(_impl_.eventname_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.trigname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trigname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.eventname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.eventname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateEventTrigStmt::~CreateEventTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateEventTrigStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateEventTrigStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.whenclause_.~RepeatedPtrField();
  _impl_.funcname_.~RepeatedPtrField();
  _impl_.trigname_.Destroy();
  _impl_.eventname_.Destroy();
}

void CreateEventTrigStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateEventTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateEventTrigStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.whenclause_.Clear();
  _impl_.funcname_.Clear();
  _impl_.trigname_.ClearToEmpty();
  _impl_.eventname_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateEventTrigStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string trigname = 1 [json_name = "trigname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_trigname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateEventTrigStmt.trigname"));
        } else
          goto handle_unusual;
        continue;
      // string eventname = 2 [json_name = "eventname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_eventname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateEventTrigStmt.eventname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateEventTrigStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateEventTrigStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string trigname = 1 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    ::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->_internal_eventname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_whenclause_size()); i < n; i++) {
    const auto& repfield = this->_internal_whenclause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.funcname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string trigname = 1 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_trigname());
  }

  // string eventname = 2 [json_name = "eventname"];
  if (!this->_internal_eventname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_eventname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateEventTrigStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateEventTrigStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateEventTrigStmt::GetClassData() const { return &_class_data_; }


void CreateEventTrigStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateEventTrigStmt*>(&to_msg);
  auto& from = static_cast<const CreateEventTrigStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateEventTrigStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.whenclause_.MergeFrom(from._impl_.whenclause_);
  _this->_impl_.funcname_.MergeFrom(from._impl_.funcname_);
  if (!from._internal_trigname().empty()) {
    _this->_internal_set_trigname(from._internal_trigname());
  }
  if (!from._internal_eventname().empty()) {
    _this->_internal_set_eventname(from._internal_eventname());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.whenclause_.InternalSwap(&other->_impl_.whenclause_);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.trigname_, lhs_arena,
      &other->_impl_.trigname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.eventname_, lhs_arena,
      &other->_impl_.eventname_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateEventTrigStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[164]);
}

// ===================================================================

class AlterEventTrigStmt::_Internal {
 public:
};

AlterEventTrigStmt::AlterEventTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterEventTrigStmt)
}
AlterEventTrigStmt::AlterEventTrigStmt(const AlterEventTrigStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterEventTrigStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.trigname_){}
    , decltype(_impl_.tgenabled_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.trigname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trigname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_trigname().empty()) {
    _this->_impl_.trigname_.Set(from._internal_trigname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.tgenabled_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tgenabled_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_tgenabled().empty()) {
    _this->_impl_.tgenabled_.Set(from._internal_tgenabled(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterEventTrigStmt)
}

inline void AlterEventTrigStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.trigname_){}
    , decltype(_impl_.tgenabled_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.trigname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trigname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.tgenabled_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tgenabled_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterEventTrigStmt::~AlterEventTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterEventTrigStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterEventTrigStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.trigname_.Destroy();
  _impl_.tgenabled_.Destroy();
}

void AlterEventTrigStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterEventTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterEventTrigStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.trigname_.ClearToEmpty();
  _impl_.tgenabled_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterEventTrigStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string trigname = 1 [json_name = "trigname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_trigname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterEventTrigStmt.trigname"));
        } else
          goto handle_unusual;
        continue;
      // string tgenabled = 2 [json_name = "tgenabled"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_tgenabled();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterEventTrigStmt.tgenabled"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterEventTrigStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterEventTrigStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string trigname = 1 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    ::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->_internal_tgenabled().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_trigname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_trigname());
  }

  // string tgenabled = 2 [json_name = "tgenabled"];
  if (!this->_internal_tgenabled().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tgenabled());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterEventTrigStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterEventTrigStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterEventTrigStmt::GetClassData() const { return &_class_data_; }


void AlterEventTrigStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterEventTrigStmt*>(&to_msg);
  auto& from = static_cast<const AlterEventTrigStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterEventTrigStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_trigname().empty()) {
    _this->_internal_set_trigname(from._internal_trigname());
  }
  if (!from._internal_tgenabled().empty()) {
    _this->_internal_set_tgenabled(from._internal_tgenabled());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.trigname_, lhs_arena,
      &other->_impl_.trigname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.tgenabled_, lhs_arena,
      &other->_impl_.tgenabled_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterEventTrigStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[165]);
}

// ===================================================================

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->_impl_.relation_;
}
RefreshMatViewStmt::RefreshMatViewStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RefreshMatViewStmt)
}
RefreshMatViewStmt::RefreshMatViewStmt(const RefreshMatViewStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RefreshMatViewStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.concurrent_){}
    , decltype(_impl_.skip_data_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  ::memcpy(&_impl_.concurrent_, &from._impl_.concurrent_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.skip_data_) -
    reinterpret_cast<char*>(&_impl_.concurrent_)) + sizeof(_impl_.skip_data_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RefreshMatViewStmt)
}

inline void RefreshMatViewStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.concurrent_){false}
    , decltype(_impl_.skip_data_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RefreshMatViewStmt::~RefreshMatViewStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RefreshMatViewStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RefreshMatViewStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.relation_;
}

void RefreshMatViewStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RefreshMatViewStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RefreshMatViewStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  ::memset(&_impl_.concurrent_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.skip_data_) -
      reinterpret_cast<char*>(&_impl_.concurrent_)) + sizeof(_impl_.skip_data_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RefreshMatViewStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool concurrent = 1 [json_name = "concurrent"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RefreshMatViewStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RefreshMatViewStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool concurrent = 1 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_concurrent(), target);
  }

  // bool skip_data = 2 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_skip_data(), target);
  }

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // bool concurrent = 1 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    total_size += 1 + 1;
  }

  // bool skip_data = 2 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RefreshMatViewStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RefreshMatViewStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RefreshMatViewStmt::GetClassData() const { return &_class_data_; }


void RefreshMatViewStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RefreshMatViewStmt*>(&to_msg);
  auto& from = static_cast<const RefreshMatViewStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RefreshMatViewStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  if (from._internal_skip_data() != 0) {
    _this->_internal_set_skip_data(from._internal_skip_data());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.skip_data_)
      + sizeof(RefreshMatViewStmt::_impl_.skip_data_)
      - PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RefreshMatViewStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[166]);
}

// ===================================================================

class ReplicaIdentityStmt::_Internal {
 public:
};

ReplicaIdentityStmt::ReplicaIdentityStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReplicaIdentityStmt)
}
ReplicaIdentityStmt::ReplicaIdentityStmt(const ReplicaIdentityStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ReplicaIdentityStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.identity_type_){}
    , decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.identity_type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.identity_type_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_identity_type().empty()) {
    _this->_impl_.identity_type_.Set(from._internal_identity_type(), 
      _this->GetArenaForAllocation());
  }
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.ReplicaIdentityStmt)
}

inline void ReplicaIdentityStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.identity_type_){}
    , decltype(_impl_.name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.identity_type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.identity_type_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ReplicaIdentityStmt::~ReplicaIdentityStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReplicaIdentityStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ReplicaIdentityStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.identity_type_.Destroy();
  _impl_.name_.Destroy();
}

void ReplicaIdentityStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ReplicaIdentityStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReplicaIdentityStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.identity_type_.ClearToEmpty();
  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ReplicaIdentityStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string identity_type = 1 [json_name = "identity_type"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_identity_type();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ReplicaIdentityStmt.identity_type"));
        } else
          goto handle_unusual;
        continue;
      // string name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ReplicaIdentityStmt.name"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ReplicaIdentityStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReplicaIdentityStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string identity_type = 1 [json_name = "identity_type"];
  if (!this->_internal_identity_type().empty()) {
    ::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->_internal_name().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_identity_type().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_identity_type());
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReplicaIdentityStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ReplicaIdentityStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReplicaIdentityStmt::GetClassData() const { return &_class_data_; }


void ReplicaIdentityStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ReplicaIdentityStmt*>(&to_msg);
  auto& from = static_cast<const ReplicaIdentityStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReplicaIdentityStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_identity_type().empty()) {
    _this->_internal_set_identity_type(from._internal_identity_type());
  }
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.identity_type_, lhs_arena,
      &other->_impl_.identity_type_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata ReplicaIdentityStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[167]);
}

// ===================================================================

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->_impl_.setstmt_;
}
AlterSystemStmt::AlterSystemStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSystemStmt)
}
AlterSystemStmt::AlterSystemStmt(const AlterSystemStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterSystemStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.setstmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_setstmt()) {
    _this->_impl_.setstmt_ = new ::pg_query::VariableSetStmt(*from._impl_.setstmt_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSystemStmt)
}

inline void AlterSystemStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.setstmt_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterSystemStmt::~AlterSystemStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSystemStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterSystemStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.setstmt_;
}

void AlterSystemStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterSystemStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSystemStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.setstmt_ != nullptr) {
    delete _impl_.setstmt_;
  }
  _impl_.setstmt_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterSystemStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_setstmt(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterSystemStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSystemStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
  if (this->_internal_has_setstmt()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::setstmt(this),
        _Internal::setstmt(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_setstmt()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.setstmt_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterSystemStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterSystemStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterSystemStmt::GetClassData() const { return &_class_data_; }


void AlterSystemStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterSystemStmt*>(&to_msg);
  auto& from = static_cast<const AlterSystemStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSystemStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_setstmt()) {
    _this->_internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(
        from._internal_setstmt());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.setstmt_, other->_impl_.setstmt_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterSystemStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[168]);
}

// ===================================================================

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->_impl_.table_;
}
const ::pg_query::Node&
CreatePolicyStmt::_Internal::qual(const CreatePolicyStmt* msg) {
  return *msg->_impl_.qual_;
}
const ::pg_query::Node&
CreatePolicyStmt::_Internal::with_check(const CreatePolicyStmt* msg) {
  return *msg->_impl_.with_check_;
}
CreatePolicyStmt::CreatePolicyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePolicyStmt)
}
CreatePolicyStmt::CreatePolicyStmt(const CreatePolicyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreatePolicyStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){from._impl_.roles_}
    , decltype(_impl_.policy_name_){}
    , decltype(_impl_.cmd_name_){}
    , decltype(_impl_.table_){nullptr}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.with_check_){nullptr}
    , decltype(_impl_.permissive_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.policy_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.policy_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_policy_name().empty()) {
    _this->_impl_.policy_name_.Set(from._internal_policy_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.cmd_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cmd_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_cmd_name().empty()) {
    _this->_impl_.cmd_name_.Set(from._internal_cmd_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_table()) {
    _this->_impl_.table_ = new ::pg_query::RangeVar(*from._impl_.table_);
  }
  if (from._internal_has_qual()) {
    _this->_impl_.qual_ = new ::pg_query::Node(*from._impl_.qual_);
  }
  if (from._internal_has_with_check()) {
    _this->_impl_.with_check_ = new ::pg_query::Node(*from._impl_.with_check_);
  }
  _this->_impl_.permissive_ = from._impl_.permissive_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePolicyStmt)
}

inline void CreatePolicyStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){arena}
    , decltype(_impl_.policy_name_){}
    , decltype(_impl_.cmd_name_){}
    , decltype(_impl_.table_){nullptr}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.with_check_){nullptr}
    , decltype(_impl_.permissive_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.policy_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.policy_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.cmd_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cmd_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreatePolicyStmt::~CreatePolicyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePolicyStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreatePolicyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.roles_.~RepeatedPtrField();
  _impl_.policy_name_.Destroy();
  _impl_.cmd_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.table_;
  if (this != internal_default_instance()) delete _impl_.qual_;
  if (this != internal_default_instance()) delete _impl_.with_check_;
}

void CreatePolicyStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreatePolicyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePolicyStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.policy_name_.ClearToEmpty();
  _impl_.cmd_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.table_ != nullptr) {
    delete _impl_.table_;
  }
  _impl_.table_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) {
    delete _impl_.qual_;
  }
  _impl_.qual_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.with_check_ != nullptr) {
    delete _impl_.with_check_;
  }
  _impl_.with_check_ = nullptr;
  _impl_.permissive_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePolicyStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string policy_name = 1 [json_name = "policy_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_policy_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreatePolicyStmt.policy_name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RangeVar table = 2 [json_name = "table"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_cmd_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreatePolicyStmt.cmd_name"));
        } else
          goto handle_unusual;
        continue;
      // bool permissive = 4 [json_name = "permissive"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_check(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreatePolicyStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePolicyStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    ::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->_internal_has_table()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::table(this),
        _Internal::table(this).GetCachedSize(), target, stream);
  }

  // string cmd_name = 3 [json_name = "cmd_name"];
  if (!this->_internal_cmd_name().empty()) {
    ::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->_internal_permissive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_permissive(), target);
  }

  // repeated .pg_query.Node roles = 5 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node qual = 6 [json_name = "qual"];
  if (this->_internal_has_qual()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::qual(this),
        _Internal::qual(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node with_check = 7 [json_name = "with_check"];
  if (this->_internal_has_with_check()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::with_check(this),
        _Internal::with_check(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_policy_name());
  }

  // string cmd_name = 3 [json_name = "cmd_name"];
  if (!this->_internal_cmd_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cmd_name());
  }

  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (this->_internal_has_table()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.table_);
  }

  // .pg_query.Node qual = 6 [json_name = "qual"];
  if (this->_internal_has_qual()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.qual_);
  }

  // .pg_query.Node with_check = 7 [json_name = "with_check"];
  if (this->_internal_has_with_check()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.with_check_);
  }

  // bool permissive = 4 [json_name = "permissive"];
  if (this->_internal_permissive() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreatePolicyStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreatePolicyStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreatePolicyStmt::GetClassData() const { return &_class_data_; }


void CreatePolicyStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreatePolicyStmt*>(&to_msg);
  auto& from = static_cast<const CreatePolicyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePolicyStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.roles_.MergeFrom(from._impl_.roles_);
  if (!from._internal_policy_name().empty()) {
    _this->_internal_set_policy_name(from._internal_policy_name());
  }
  if (!from._internal_cmd_name().empty()) {
    _this->_internal_set_cmd_name(from._internal_cmd_name());
  }
  if (from._internal_has_table()) {
    _this->_internal_mutable_table()->::pg_query::RangeVar::MergeFrom(
        from._internal_table());
  }
  if (from._internal_has_qual()) {
    _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
        from._internal_qual());
  }
  if (from._internal_has_with_check()) {
    _this->_internal_mutable_with_check()->::pg_query::Node::MergeFrom(
        from._internal_with_check());
  }
  if (from._internal_permissive() != 0) {
    _this->_internal_set_permissive(from._internal_permissive());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.policy_name_, lhs_arena,
      &other->_impl_.policy_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.cmd_name_, lhs_arena,
      &other->_impl_.cmd_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.permissive_)
      + sizeof(CreatePolicyStmt::_impl_.permissive_)
      - PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.table_)>(
          reinterpret_cast<char*>(&_impl_.table_),
          reinterpret_cast<char*>(&other->_impl_.table_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePolicyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[169]);
}

// ===================================================================

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->_impl_.table_;
}
const ::pg_query::Node&
AlterPolicyStmt::_Internal::qual(const AlterPolicyStmt* msg) {
  return *msg->_impl_.qual_;
}
const ::pg_query::Node&
AlterPolicyStmt::_Internal::with_check(const AlterPolicyStmt* msg) {
  return *msg->_impl_.with_check_;
}
AlterPolicyStmt::AlterPolicyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterPolicyStmt)
}
AlterPolicyStmt::AlterPolicyStmt(const AlterPolicyStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterPolicyStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){from._impl_.roles_}
    , decltype(_impl_.policy_name_){}
    , decltype(_impl_.table_){nullptr}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.with_check_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.policy_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.policy_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_policy_name().empty()) {
    _this->_impl_.policy_name_.Set(from._internal_policy_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_table()) {
    _this->_impl_.table_ = new ::pg_query::RangeVar(*from._impl_.table_);
  }
  if (from._internal_has_qual()) {
    _this->_impl_.qual_ = new ::pg_query::Node(*from._impl_.qual_);
  }
  if (from._internal_has_with_check()) {
    _this->_impl_.with_check_ = new ::pg_query::Node(*from._impl_.with_check_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterPolicyStmt)
}

inline void AlterPolicyStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.roles_){arena}
    , decltype(_impl_.policy_name_){}
    , decltype(_impl_.table_){nullptr}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.with_check_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.policy_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.policy_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterPolicyStmt::~AlterPolicyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterPolicyStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterPolicyStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.roles_.~RepeatedPtrField();
  _impl_.policy_name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.table_;
  if (this != internal_default_instance()) delete _impl_.qual_;
  if (this != internal_default_instance()) delete _impl_.with_check_;
}

void AlterPolicyStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterPolicyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterPolicyStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.policy_name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.table_ != nullptr) {
    delete _impl_.table_;
  }
  _impl_.table_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) {
    delete _impl_.qual_;
  }
  _impl_.qual_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.with_check_ != nullptr) {
    delete _impl_.with_check_;
  }
  _impl_.with_check_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterPolicyStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string policy_name = 1 [json_name = "policy_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_policy_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterPolicyStmt.policy_name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RangeVar table = 2 [json_name = "table"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_with_check(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterPolicyStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterPolicyStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    ::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->_internal_has_table()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::table(this),
        _Internal::table(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (this->_internal_has_qual()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::qual(this),
        _Internal::qual(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node with_check = 5 [json_name = "with_check"];
  if (this->_internal_has_with_check()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::with_check(this),
        _Internal::with_check(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.roles_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_policy_name());
  }

  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (this->_internal_has_table()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.table_);
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (this->_internal_has_qual()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.qual_);
  }

  // .pg_query.Node with_check = 5 [json_name = "with_check"];
  if (this->_internal_has_with_check()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.with_check_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterPolicyStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterPolicyStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterPolicyStmt::GetClassData() const { return &_class_data_; }


void AlterPolicyStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterPolicyStmt*>(&to_msg);
  auto& from = static_cast<const AlterPolicyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterPolicyStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.roles_.MergeFrom(from._impl_.roles_);
  if (!from._internal_policy_name().empty()) {
    _this->_internal_set_policy_name(from._internal_policy_name());
  }
  if (from._internal_has_table()) {
    _this->_internal_mutable_table()->::pg_query::RangeVar::MergeFrom(
        from._internal_table());
  }
  if (from._internal_has_qual()) {
    _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
        from._internal_qual());
  }
  if (from._internal_has_with_check()) {
    _this->_internal_mutable_with_check()->::pg_query::Node::MergeFrom(
        from._internal_with_check());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.policy_name_, lhs_arena,
      &other->_impl_.policy_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.with_check_)
      + sizeof(AlterPolicyStmt::_impl_.with_check_)
      - PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.table_)>(
          reinterpret_cast<char*>(&_impl_.table_),
          reinterpret_cast<char*>(&other->_impl_.table_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterPolicyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[170]);
}

// ===================================================================

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->_impl_.type_name_;
}
const ::pg_query::ObjectWithArgs&
CreateTransformStmt::_Internal::fromsql(const CreateTransformStmt* msg) {
  return *msg->_impl_.fromsql_;
}
const ::pg_query::ObjectWithArgs&
CreateTransformStmt::_Internal::tosql(const CreateTransformStmt* msg) {
  return *msg->_impl_.tosql_;
}
CreateTransformStmt::CreateTransformStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTransformStmt)
}
CreateTransformStmt::CreateTransformStmt(const CreateTransformStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateTransformStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.lang_){}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.fromsql_){nullptr}
    , decltype(_impl_.tosql_){nullptr}
    , decltype(_impl_.replace_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.lang_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.lang_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_lang().empty()) {
    _this->_impl_.lang_.Set(from._internal_lang(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_type_name()) {
    _this->_impl_.type_name_ = new ::pg_query::TypeName(*from._impl_.type_name_);
  }
  if (from._internal_has_fromsql()) {
    _this->_impl_.fromsql_ = new ::pg_query::ObjectWithArgs(*from._impl_.fromsql_);
  }
  if (from._internal_has_tosql()) {
    _this->_impl_.tosql_ = new ::pg_query::ObjectWithArgs(*from._impl_.tosql_);
  }
  _this->_impl_.replace_ = from._impl_.replace_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTransformStmt)
}

inline void CreateTransformStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.lang_){}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.fromsql_){nullptr}
    , decltype(_impl_.tosql_){nullptr}
    , decltype(_impl_.replace_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.lang_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.lang_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateTransformStmt::~CreateTransformStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTransformStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateTransformStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.lang_.Destroy();
  if (this != internal_default_instance()) delete _impl_.type_name_;
  if (this != internal_default_instance()) delete _impl_.fromsql_;
  if (this != internal_default_instance()) delete _impl_.tosql_;
}

void CreateTransformStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateTransformStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTransformStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.lang_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) {
    delete _impl_.type_name_;
  }
  _impl_.type_name_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.fromsql_ != nullptr) {
    delete _impl_.fromsql_;
  }
  _impl_.fromsql_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.tosql_ != nullptr) {
    delete _impl_.tosql_;
  }
  _impl_.tosql_ = nullptr;
  _impl_.replace_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateTransformStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool replace = 1 [json_name = "replace"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_lang();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateTransformStmt.lang"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_tosql(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateTransformStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTransformStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_replace(), target);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
  if (this->_internal_has_type_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // string lang = 3 [json_name = "lang"];
  if (!this->_internal_lang().empty()) {
    ::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->_internal_has_fromsql()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::fromsql(this),
        _Internal::fromsql(this).GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
  if (this->_internal_has_tosql()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::tosql(this),
        _Internal::tosql(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_lang().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_lang());
  }

  // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
  if (this->_internal_has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.type_name_);
  }

  // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
  if (this->_internal_has_fromsql()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.fromsql_);
  }

  // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
  if (this->_internal_has_tosql()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.tosql_);
  }

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateTransformStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateTransformStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateTransformStmt::GetClassData() const { return &_class_data_; }


void CreateTransformStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateTransformStmt*>(&to_msg);
  auto& from = static_cast<const CreateTransformStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTransformStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_lang().empty()) {
    _this->_internal_set_lang(from._internal_lang());
  }
  if (from._internal_has_type_name()) {
    _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
        from._internal_type_name());
  }
  if (from._internal_has_fromsql()) {
    _this->_internal_mutable_fromsql()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_fromsql());
  }
  if (from._internal_has_tosql()) {
    _this->_internal_mutable_tosql()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_tosql());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.lang_, lhs_arena,
      &other->_impl_.lang_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.replace_)
      + sizeof(CreateTransformStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateTransformStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[171]);
}

// ===================================================================

class CreateAmStmt::_Internal {
 public:
};

CreateAmStmt::CreateAmStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateAmStmt)
}
CreateAmStmt::CreateAmStmt(const CreateAmStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateAmStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.handler_name_){from._impl_.handler_name_}
    , decltype(_impl_.amname_){}
    , decltype(_impl_.amtype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_amname().empty()) {
    _this->_impl_.amname_.Set(from._internal_amname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.amtype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amtype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_amtype().empty()) {
    _this->_impl_.amtype_.Set(from._internal_amtype(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateAmStmt)
}

inline void CreateAmStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.handler_name_){arena}
    , decltype(_impl_.amname_){}
    , decltype(_impl_.amtype_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.amname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.amtype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.amtype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateAmStmt::~CreateAmStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateAmStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateAmStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.handler_name_.~RepeatedPtrField();
  _impl_.amname_.Destroy();
  _impl_.amtype_.Destroy();
}

void CreateAmStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateAmStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateAmStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.handler_name_.Clear();
  _impl_.amname_.ClearToEmpty();
  _impl_.amtype_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateAmStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string amname = 1 [json_name = "amname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_amname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateAmStmt.amname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_amtype();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateAmStmt.amtype"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateAmStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateAmStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string amname = 1 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_handler_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_handler_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amtype = 3 [json_name = "amtype"];
  if (!this->_internal_amtype().empty()) {
    ::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 = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.handler_name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string amname = 1 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amname());
  }

  // string amtype = 3 [json_name = "amtype"];
  if (!this->_internal_amtype().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_amtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateAmStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateAmStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateAmStmt::GetClassData() const { return &_class_data_; }


void CreateAmStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateAmStmt*>(&to_msg);
  auto& from = static_cast<const CreateAmStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateAmStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.handler_name_.MergeFrom(from._impl_.handler_name_);
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  if (!from._internal_amtype().empty()) {
    _this->_internal_set_amtype(from._internal_amtype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.handler_name_.InternalSwap(&other->_impl_.handler_name_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.amname_, lhs_arena,
      &other->_impl_.amname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.amtype_, lhs_arena,
      &other->_impl_.amtype_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateAmStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[172]);
}

// ===================================================================

class CreatePublicationStmt::_Internal {
 public:
};

CreatePublicationStmt::CreatePublicationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePublicationStmt)
}
CreatePublicationStmt::CreatePublicationStmt(const CreatePublicationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreatePublicationStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.pubobjects_){from._impl_.pubobjects_}
    , decltype(_impl_.pubname_){}
    , decltype(_impl_.for_all_tables_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.pubname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.pubname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_pubname().empty()) {
    _this->_impl_.pubname_.Set(from._internal_pubname(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.for_all_tables_ = from._impl_.for_all_tables_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePublicationStmt)
}

inline void CreatePublicationStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.pubobjects_){arena}
    , decltype(_impl_.pubname_){}
    , decltype(_impl_.for_all_tables_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.pubname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.pubname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreatePublicationStmt::~CreatePublicationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePublicationStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreatePublicationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.pubobjects_.~RepeatedPtrField();
  _impl_.pubname_.Destroy();
}

void CreatePublicationStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreatePublicationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePublicationStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.pubobjects_.Clear();
  _impl_.pubname_.ClearToEmpty();
  _impl_.for_all_tables_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePublicationStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string pubname = 1 [json_name = "pubname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_pubname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreatePublicationStmt.pubname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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 pubobjects = 3 [json_name = "pubobjects"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_pubobjects(), 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<uint8_t>(tag) == 32)) {
          _impl_.for_all_tables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreatePublicationStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePublicationStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_pubobjects_size()); i < n; i++) {
    const auto& repfield = this->_internal_pubobjects(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_for_all_tables(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  total_size += 1UL * this->_internal_pubobjects_size();
  for (const auto& msg : this->_impl_.pubobjects_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_pubname());
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreatePublicationStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreatePublicationStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreatePublicationStmt::GetClassData() const { return &_class_data_; }


void CreatePublicationStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreatePublicationStmt*>(&to_msg);
  auto& from = static_cast<const CreatePublicationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePublicationStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _this->_impl_.pubobjects_.MergeFrom(from._impl_.pubobjects_);
  if (!from._internal_pubname().empty()) {
    _this->_internal_set_pubname(from._internal_pubname());
  }
  if (from._internal_for_all_tables() != 0) {
    _this->_internal_set_for_all_tables(from._internal_for_all_tables());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.pubobjects_.InternalSwap(&other->_impl_.pubobjects_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.pubname_, lhs_arena,
      &other->_impl_.pubname_, rhs_arena
  );
  swap(_impl_.for_all_tables_, other->_impl_.for_all_tables_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePublicationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[173]);
}

// ===================================================================

class AlterPublicationStmt::_Internal {
 public:
};

AlterPublicationStmt::AlterPublicationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterPublicationStmt)
}
AlterPublicationStmt::AlterPublicationStmt(const AlterPublicationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterPublicationStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.pubobjects_){from._impl_.pubobjects_}
    , decltype(_impl_.pubname_){}
    , decltype(_impl_.for_all_tables_){}
    , decltype(_impl_.action_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.pubname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.pubname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_pubname().empty()) {
    _this->_impl_.pubname_.Set(from._internal_pubname(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.for_all_tables_, &from._impl_.for_all_tables_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.action_) -
    reinterpret_cast<char*>(&_impl_.for_all_tables_)) + sizeof(_impl_.action_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterPublicationStmt)
}

inline void AlterPublicationStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.options_){arena}
    , decltype(_impl_.pubobjects_){arena}
    , decltype(_impl_.pubname_){}
    , decltype(_impl_.for_all_tables_){false}
    , decltype(_impl_.action_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.pubname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.pubname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterPublicationStmt::~AlterPublicationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterPublicationStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterPublicationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.options_.~RepeatedPtrField();
  _impl_.pubobjects_.~RepeatedPtrField();
  _impl_.pubname_.Destroy();
}

void AlterPublicationStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterPublicationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterPublicationStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.pubobjects_.Clear();
  _impl_.pubname_.ClearToEmpty();
  ::memset(&_impl_.for_all_tables_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.action_) -
      reinterpret_cast<char*>(&_impl_.for_all_tables_)) + sizeof(_impl_.action_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterPublicationStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string pubname = 1 [json_name = "pubname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_pubname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterPublicationStmt.pubname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 2 [json_name = "options"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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 pubobjects = 3 [json_name = "pubobjects"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_pubobjects(), 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<uint8_t>(tag) == 32)) {
          _impl_.for_all_tables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.AlterPublicationAction action = 5 [json_name = "action"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_action(static_cast<::pg_query::AlterPublicationAction>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterPublicationStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterPublicationStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_pubobjects_size()); i < n; i++) {
    const auto& repfield = this->_internal_pubobjects(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_for_all_tables(), target);
  }

  // .pg_query.AlterPublicationAction action = 5 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      5, this->_internal_action(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  total_size += 1UL * this->_internal_pubobjects_size();
  for (const auto& msg : this->_impl_.pubobjects_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_pubname());
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.AlterPublicationAction action = 5 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_action());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterPublicationStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterPublicationStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterPublicationStmt::GetClassData() const { return &_class_data_; }


void AlterPublicationStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterPublicationStmt*>(&to_msg);
  auto& from = static_cast<const AlterPublicationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterPublicationStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _this->_impl_.pubobjects_.MergeFrom(from._impl_.pubobjects_);
  if (!from._internal_pubname().empty()) {
    _this->_internal_set_pubname(from._internal_pubname());
  }
  if (from._internal_for_all_tables() != 0) {
    _this->_internal_set_for_all_tables(from._internal_for_all_tables());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.pubobjects_.InternalSwap(&other->_impl_.pubobjects_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.pubname_, lhs_arena,
      &other->_impl_.pubname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.action_)
      + sizeof(AlterPublicationStmt::_impl_.action_)
      - PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.for_all_tables_)>(
          reinterpret_cast<char*>(&_impl_.for_all_tables_),
          reinterpret_cast<char*>(&other->_impl_.for_all_tables_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterPublicationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[174]);
}

// ===================================================================

class CreateSubscriptionStmt::_Internal {
 public:
};

CreateSubscriptionStmt::CreateSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSubscriptionStmt)
}
CreateSubscriptionStmt::CreateSubscriptionStmt(const CreateSubscriptionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateSubscriptionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.publication_){from._impl_.publication_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.subname_){}
    , decltype(_impl_.conninfo_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_subname().empty()) {
    _this->_impl_.subname_.Set(from._internal_subname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.conninfo_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conninfo_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_conninfo().empty()) {
    _this->_impl_.conninfo_.Set(from._internal_conninfo(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSubscriptionStmt)
}

inline void CreateSubscriptionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.publication_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.subname_){}
    , decltype(_impl_.conninfo_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.conninfo_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conninfo_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateSubscriptionStmt::~CreateSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSubscriptionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateSubscriptionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.publication_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.subname_.Destroy();
  _impl_.conninfo_.Destroy();
}

void CreateSubscriptionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSubscriptionStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.publication_.Clear();
  _impl_.options_.Clear();
  _impl_.subname_.ClearToEmpty();
  _impl_.conninfo_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateSubscriptionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string subname = 1 [json_name = "subname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_subname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateSubscriptionStmt.subname"));
        } else
          goto handle_unusual;
        continue;
      // string conninfo = 2 [json_name = "conninfo"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_conninfo();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateSubscriptionStmt.conninfo"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node publication = 3 [json_name = "publication"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateSubscriptionStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSubscriptionStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string subname = 1 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    ::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->_internal_conninfo().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_publication_size()); i < n; i++) {
    const auto& repfield = this->_internal_publication(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string subname = 1 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // string conninfo = 2 [json_name = "conninfo"];
  if (!this->_internal_conninfo().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conninfo());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateSubscriptionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateSubscriptionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateSubscriptionStmt::GetClassData() const { return &_class_data_; }


void CreateSubscriptionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateSubscriptionStmt*>(&to_msg);
  auto& from = static_cast<const CreateSubscriptionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.publication_.MergeFrom(from._impl_.publication_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (!from._internal_conninfo().empty()) {
    _this->_internal_set_conninfo(from._internal_conninfo());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.publication_.InternalSwap(&other->_impl_.publication_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.subname_, lhs_arena,
      &other->_impl_.subname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.conninfo_, lhs_arena,
      &other->_impl_.conninfo_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateSubscriptionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[175]);
}

// ===================================================================

class AlterSubscriptionStmt::_Internal {
 public:
};

AlterSubscriptionStmt::AlterSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSubscriptionStmt)
}
AlterSubscriptionStmt::AlterSubscriptionStmt(const AlterSubscriptionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterSubscriptionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.publication_){from._impl_.publication_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.subname_){}
    , decltype(_impl_.conninfo_){}
    , decltype(_impl_.kind_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_subname().empty()) {
    _this->_impl_.subname_.Set(from._internal_subname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.conninfo_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conninfo_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_conninfo().empty()) {
    _this->_impl_.conninfo_.Set(from._internal_conninfo(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.kind_ = from._impl_.kind_;
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSubscriptionStmt)
}

inline void AlterSubscriptionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.publication_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.subname_){}
    , decltype(_impl_.conninfo_){}
    , decltype(_impl_.kind_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.conninfo_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conninfo_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AlterSubscriptionStmt::~AlterSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSubscriptionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterSubscriptionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.publication_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.subname_.Destroy();
  _impl_.conninfo_.Destroy();
}

void AlterSubscriptionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSubscriptionStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.publication_.Clear();
  _impl_.options_.Clear();
  _impl_.subname_.ClearToEmpty();
  _impl_.conninfo_.ClearToEmpty();
  _impl_.kind_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterSubscriptionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_subname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterSubscriptionStmt.subname"));
        } else
          goto handle_unusual;
        continue;
      // string conninfo = 3 [json_name = "conninfo"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_conninfo();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AlterSubscriptionStmt.conninfo"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node publication = 4 [json_name = "publication"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterSubscriptionStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSubscriptionStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // string subname = 2 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    ::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->_internal_conninfo().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_publication_size()); i < n; i++) {
    const auto& repfield = this->_internal_publication(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string subname = 2 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // string conninfo = 3 [json_name = "conninfo"];
  if (!this->_internal_conninfo().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conninfo());
  }

  // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterSubscriptionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterSubscriptionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterSubscriptionStmt::GetClassData() const { return &_class_data_; }


void AlterSubscriptionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterSubscriptionStmt*>(&to_msg);
  auto& from = static_cast<const AlterSubscriptionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.publication_.MergeFrom(from._impl_.publication_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (!from._internal_conninfo().empty()) {
    _this->_internal_set_conninfo(from._internal_conninfo());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.publication_.InternalSwap(&other->_impl_.publication_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.subname_, lhs_arena,
      &other->_impl_.subname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.conninfo_, lhs_arena,
      &other->_impl_.conninfo_, rhs_arena
  );
  swap(_impl_.kind_, other->_impl_.kind_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterSubscriptionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[176]);
}

// ===================================================================

class DropSubscriptionStmt::_Internal {
 public:
};

DropSubscriptionStmt::DropSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropSubscriptionStmt)
}
DropSubscriptionStmt::DropSubscriptionStmt(const DropSubscriptionStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DropSubscriptionStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.subname_){}
    , decltype(_impl_.missing_ok_){}
    , decltype(_impl_.behavior_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_subname().empty()) {
    _this->_impl_.subname_.Set(from._internal_subname(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.missing_ok_, &from._impl_.missing_ok_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.behavior_) -
    reinterpret_cast<char*>(&_impl_.missing_ok_)) + sizeof(_impl_.behavior_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DropSubscriptionStmt)
}

inline void DropSubscriptionStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.subname_){}
    , decltype(_impl_.missing_ok_){false}
    , decltype(_impl_.behavior_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.subname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.subname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DropSubscriptionStmt::~DropSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropSubscriptionStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DropSubscriptionStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.subname_.Destroy();
}

void DropSubscriptionStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DropSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropSubscriptionStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.subname_.ClearToEmpty();
  ::memset(&_impl_.missing_ok_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.missing_ok_)) + sizeof(_impl_.behavior_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DropSubscriptionStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string subname = 1 [json_name = "subname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_subname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DropSubscriptionStmt.subname"));
        } else
          goto handle_unusual;
        continue;
      // bool missing_ok = 2 [json_name = "missing_ok"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_behavior(static_cast<::pg_query::DropBehavior>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DropSubscriptionStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropSubscriptionStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string subname = 1 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    ::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->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_missing_ok(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_subname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_subname());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DropSubscriptionStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DropSubscriptionStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DropSubscriptionStmt::GetClassData() const { return &_class_data_; }


void DropSubscriptionStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DropSubscriptionStmt*>(&to_msg);
  auto& from = static_cast<const DropSubscriptionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropSubscriptionStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.subname_, lhs_arena,
      &other->_impl_.subname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.behavior_)
      + sizeof(DropSubscriptionStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.missing_ok_)>(
          reinterpret_cast<char*>(&_impl_.missing_ok_),
          reinterpret_cast<char*>(&other->_impl_.missing_ok_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DropSubscriptionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[177]);
}

// ===================================================================

class CreateStatsStmt::_Internal {
 public:
};

CreateStatsStmt::CreateStatsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateStatsStmt)
}
CreateStatsStmt::CreateStatsStmt(const CreateStatsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateStatsStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.defnames_){from._impl_.defnames_}
    , decltype(_impl_.stat_types_){from._impl_.stat_types_}
    , decltype(_impl_.exprs_){from._impl_.exprs_}
    , decltype(_impl_.relations_){from._impl_.relations_}
    , decltype(_impl_.stxcomment_){}
    , decltype(_impl_.transformed_){}
    , decltype(_impl_.if_not_exists_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.stxcomment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.stxcomment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_stxcomment().empty()) {
    _this->_impl_.stxcomment_.Set(from._internal_stxcomment(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.transformed_, &from._impl_.transformed_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.if_not_exists_) -
    reinterpret_cast<char*>(&_impl_.transformed_)) + sizeof(_impl_.if_not_exists_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateStatsStmt)
}

inline void CreateStatsStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.defnames_){arena}
    , decltype(_impl_.stat_types_){arena}
    , decltype(_impl_.exprs_){arena}
    , decltype(_impl_.relations_){arena}
    , decltype(_impl_.stxcomment_){}
    , decltype(_impl_.transformed_){false}
    , decltype(_impl_.if_not_exists_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.stxcomment_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.stxcomment_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CreateStatsStmt::~CreateStatsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateStatsStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateStatsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.defnames_.~RepeatedPtrField();
  _impl_.stat_types_.~RepeatedPtrField();
  _impl_.exprs_.~RepeatedPtrField();
  _impl_.relations_.~RepeatedPtrField();
  _impl_.stxcomment_.Destroy();
}

void CreateStatsStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateStatsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateStatsStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.defnames_.Clear();
  _impl_.stat_types_.Clear();
  _impl_.exprs_.Clear();
  _impl_.relations_.Clear();
  _impl_.stxcomment_.ClearToEmpty();
  ::memset(&_impl_.transformed_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.transformed_)) + sizeof(_impl_.if_not_exists_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateStatsStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 42)) {
          auto str = _internal_mutable_stxcomment();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CreateStatsStmt.stxcomment"));
        } else
          goto handle_unusual;
        continue;
      // bool transformed = 6 [json_name = "transformed"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.transformed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool if_not_exists = 7 [json_name = "if_not_exists"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.if_not_exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateStatsStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateStatsStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_defnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_defnames(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_stat_types_size()); i < n; i++) {
    const auto& repfield = this->_internal_stat_types(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_exprs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node relations = 4 [json_name = "relations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_relations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string stxcomment = 5 [json_name = "stxcomment"];
  if (!this->_internal_stxcomment().empty()) {
    ::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 transformed = 6 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_transformed(), target);
  }

  // bool if_not_exists = 7 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.relations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string stxcomment = 5 [json_name = "stxcomment"];
  if (!this->_internal_stxcomment().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_stxcomment());
  }

  // bool transformed = 6 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    total_size += 1 + 1;
  }

  // bool if_not_exists = 7 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateStatsStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateStatsStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateStatsStmt::GetClassData() const { return &_class_data_; }


void CreateStatsStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateStatsStmt*>(&to_msg);
  auto& from = static_cast<const CreateStatsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateStatsStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.defnames_.MergeFrom(from._impl_.defnames_);
  _this->_impl_.stat_types_.MergeFrom(from._impl_.stat_types_);
  _this->_impl_.exprs_.MergeFrom(from._impl_.exprs_);
  _this->_impl_.relations_.MergeFrom(from._impl_.relations_);
  if (!from._internal_stxcomment().empty()) {
    _this->_internal_set_stxcomment(from._internal_stxcomment());
  }
  if (from._internal_transformed() != 0) {
    _this->_internal_set_transformed(from._internal_transformed());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.defnames_.InternalSwap(&other->_impl_.defnames_);
  _impl_.stat_types_.InternalSwap(&other->_impl_.stat_types_);
  _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
  _impl_.relations_.InternalSwap(&other->_impl_.relations_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.stxcomment_, lhs_arena,
      &other->_impl_.stxcomment_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.if_not_exists_)
      + sizeof(CreateStatsStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.transformed_)>(
          reinterpret_cast<char*>(&_impl_.transformed_),
          reinterpret_cast<char*>(&other->_impl_.transformed_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateStatsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[178]);
}

// ===================================================================

class AlterCollationStmt::_Internal {
 public:
};

AlterCollationStmt::AlterCollationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterCollationStmt)
}
AlterCollationStmt::AlterCollationStmt(const AlterCollationStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterCollationStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.collname_){from._impl_.collname_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterCollationStmt)
}

inline void AlterCollationStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.collname_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterCollationStmt::~AlterCollationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterCollationStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterCollationStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.collname_.~RepeatedPtrField();
}

void AlterCollationStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterCollationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterCollationStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collname_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterCollationStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node collname = 1 [json_name = "collname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterCollationStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterCollationStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node collname = 1 [json_name = "collname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_collname_size()); i < n; i++) {
    const auto& repfield = this->_internal_collname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.collname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterCollationStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterCollationStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterCollationStmt::GetClassData() const { return &_class_data_; }


void AlterCollationStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterCollationStmt*>(&to_msg);
  auto& from = static_cast<const AlterCollationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterCollationStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.collname_.MergeFrom(from._impl_.collname_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.collname_.InternalSwap(&other->_impl_.collname_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterCollationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[179]);
}

// ===================================================================

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->_impl_.funccall_;
}
const ::pg_query::FuncExpr&
CallStmt::_Internal::funcexpr(const CallStmt* msg) {
  return *msg->_impl_.funcexpr_;
}
CallStmt::CallStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CallStmt)
}
CallStmt::CallStmt(const CallStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CallStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.outargs_){from._impl_.outargs_}
    , decltype(_impl_.funccall_){nullptr}
    , decltype(_impl_.funcexpr_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_funccall()) {
    _this->_impl_.funccall_ = new ::pg_query::FuncCall(*from._impl_.funccall_);
  }
  if (from._internal_has_funcexpr()) {
    _this->_impl_.funcexpr_ = new ::pg_query::FuncExpr(*from._impl_.funcexpr_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.CallStmt)
}

inline void CallStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.outargs_){arena}
    , decltype(_impl_.funccall_){nullptr}
    , decltype(_impl_.funcexpr_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CallStmt::~CallStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CallStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CallStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.outargs_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.funccall_;
  if (this != internal_default_instance()) delete _impl_.funcexpr_;
}

void CallStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CallStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CallStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.outargs_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.funccall_ != nullptr) {
    delete _impl_.funccall_;
  }
  _impl_.funccall_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.funcexpr_ != nullptr) {
    delete _impl_.funcexpr_;
  }
  _impl_.funcexpr_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CallStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_funcexpr(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node outargs = 3 [json_name = "outargs"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_outargs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CallStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CallStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
  if (this->_internal_has_funccall()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::funccall(this),
        _Internal::funccall(this).GetCachedSize(), target, stream);
  }

  // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
  if (this->_internal_has_funcexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::funcexpr(this),
        _Internal::funcexpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node outargs = 3 [json_name = "outargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_outargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_outargs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node outargs = 3 [json_name = "outargs"];
  total_size += 1UL * this->_internal_outargs_size();
  for (const auto& msg : this->_impl_.outargs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
  if (this->_internal_has_funccall()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.funccall_);
  }

  // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
  if (this->_internal_has_funcexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.funcexpr_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CallStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CallStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CallStmt::GetClassData() const { return &_class_data_; }


void CallStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CallStmt*>(&to_msg);
  auto& from = static_cast<const CallStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CallStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.outargs_.MergeFrom(from._impl_.outargs_);
  if (from._internal_has_funccall()) {
    _this->_internal_mutable_funccall()->::pg_query::FuncCall::MergeFrom(
        from._internal_funccall());
  }
  if (from._internal_has_funcexpr()) {
    _this->_internal_mutable_funcexpr()->::pg_query::FuncExpr::MergeFrom(
        from._internal_funcexpr());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.outargs_.InternalSwap(&other->_impl_.outargs_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funcexpr_)
      + sizeof(CallStmt::_impl_.funcexpr_)
      - PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funccall_)>(
          reinterpret_cast<char*>(&_impl_.funccall_),
          reinterpret_cast<char*>(&other->_impl_.funccall_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CallStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[180]);
}

// ===================================================================

class AlterStatsStmt::_Internal {
 public:
};

AlterStatsStmt::AlterStatsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterStatsStmt)
}
AlterStatsStmt::AlterStatsStmt(const AlterStatsStmt& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AlterStatsStmt* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.defnames_){from._impl_.defnames_}
    , decltype(_impl_.stxstattarget_){}
    , decltype(_impl_.missing_ok_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.stxstattarget_, &from._impl_.stxstattarget_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.missing_ok_) -
    reinterpret_cast<char*>(&_impl_.stxstattarget_)) + sizeof(_impl_.missing_ok_));
  // @@protoc_insertion_point(copy_constructor:pg_query.AlterStatsStmt)
}

inline void AlterStatsStmt::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.defnames_){arena}
    , decltype(_impl_.stxstattarget_){0}
    , decltype(_impl_.missing_ok_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

AlterStatsStmt::~AlterStatsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterStatsStmt)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AlterStatsStmt::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.defnames_.~RepeatedPtrField();
}

void AlterStatsStmt::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AlterStatsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterStatsStmt)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.defnames_.Clear();
  ::memset(&_impl_.stxstattarget_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.stxstattarget_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AlterStatsStmt::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.stxstattarget_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool missing_ok = 3 [json_name = "missing_ok"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.missing_ok_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AlterStatsStmt::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterStatsStmt)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_defnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_defnames(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 stxstattarget = 2 [json_name = "stxstattarget"];
  if (this->_internal_stxstattarget() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_stxstattarget(), target);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.defnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 stxstattarget = 2 [json_name = "stxstattarget"];
  if (this->_internal_stxstattarget() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_stxstattarget());
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlterStatsStmt::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AlterStatsStmt::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlterStatsStmt::GetClassData() const { return &_class_data_; }


void AlterStatsStmt::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AlterStatsStmt*>(&to_msg);
  auto& from = static_cast<const AlterStatsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterStatsStmt)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.defnames_.MergeFrom(from._impl_.defnames_);
  if (from._internal_stxstattarget() != 0) {
    _this->_internal_set_stxstattarget(from._internal_stxstattarget());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.defnames_.InternalSwap(&other->_impl_.defnames_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.missing_ok_)
      + sizeof(AlterStatsStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.stxstattarget_)>(
          reinterpret_cast<char*>(&_impl_.stxstattarget_),
          reinterpret_cast<char*>(&other->_impl_.stxstattarget_));
}

::PROTOBUF_NAMESPACE_ID::Metadata AlterStatsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[181]);
}

// ===================================================================

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->_impl_.lexpr_;
}
const ::pg_query::Node&
A_Expr::_Internal::rexpr(const A_Expr* msg) {
  return *msg->_impl_.rexpr_;
}
A_Expr::A_Expr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Expr)
}
A_Expr::A_Expr(const A_Expr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  A_Expr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){from._impl_.name_}
    , decltype(_impl_.lexpr_){nullptr}
    , decltype(_impl_.rexpr_){nullptr}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_lexpr()) {
    _this->_impl_.lexpr_ = new ::pg_query::Node(*from._impl_.lexpr_);
  }
  if (from._internal_has_rexpr()) {
    _this->_impl_.rexpr_ = new ::pg_query::Node(*from._impl_.rexpr_);
  }
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Expr)
}

inline void A_Expr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){arena}
    , decltype(_impl_.lexpr_){nullptr}
    , decltype(_impl_.rexpr_){nullptr}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

A_Expr::~A_Expr() {
  // @@protoc_insertion_point(destructor:pg_query.A_Expr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void A_Expr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.lexpr_;
  if (this != internal_default_instance()) delete _impl_.rexpr_;
}

void A_Expr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void A_Expr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Expr)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.lexpr_ != nullptr) {
    delete _impl_.lexpr_;
  }
  _impl_.lexpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.rexpr_ != nullptr) {
    delete _impl_.rexpr_;
  }
  _impl_.rexpr_ = nullptr;
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Expr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* A_Expr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Expr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node name = 2 [json_name = "name"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_name(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
  if (this->_internal_has_lexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::lexpr(this),
        _Internal::lexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
  if (this->_internal_has_rexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::rexpr(this),
        _Internal::rexpr(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.name_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
  if (this->_internal_has_lexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.lexpr_);
  }

  // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
  if (this->_internal_has_rexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.rexpr_);
  }

  // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData A_Expr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    A_Expr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*A_Expr::GetClassData() const { return &_class_data_; }


void A_Expr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<A_Expr*>(&to_msg);
  auto& from = static_cast<const A_Expr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Expr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.name_.MergeFrom(from._impl_.name_);
  if (from._internal_has_lexpr()) {
    _this->_internal_mutable_lexpr()->::pg_query::Node::MergeFrom(
        from._internal_lexpr());
  }
  if (from._internal_has_rexpr()) {
    _this->_internal_mutable_rexpr()->::pg_query::Node::MergeFrom(
        from._internal_rexpr());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.name_.InternalSwap(&other->_impl_.name_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.location_)
      + sizeof(A_Expr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.lexpr_)>(
          reinterpret_cast<char*>(&_impl_.lexpr_),
          reinterpret_cast<char*>(&other->_impl_.lexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Expr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[182]);
}

// ===================================================================

class ColumnRef::_Internal {
 public:
};

ColumnRef::ColumnRef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ColumnRef)
}
ColumnRef::ColumnRef(const ColumnRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ColumnRef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.fields_){from._impl_.fields_}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ColumnRef)
}

inline void ColumnRef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.fields_){arena}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ColumnRef::~ColumnRef() {
  // @@protoc_insertion_point(destructor:pg_query.ColumnRef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ColumnRef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.fields_.~RepeatedPtrField();
}

void ColumnRef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ColumnRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ColumnRef)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.fields_.Clear();
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ColumnRef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node fields = 1 [json_name = "fields"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ColumnRef::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ColumnRef)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node fields = 1 [json_name = "fields"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fields_size()); i < n; i++) {
    const auto& repfield = this->_internal_fields(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.fields_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnRef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ColumnRef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnRef::GetClassData() const { return &_class_data_; }


void ColumnRef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ColumnRef*>(&to_msg);
  auto& from = static_cast<const ColumnRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ColumnRef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.fields_.MergeFrom(from._impl_.fields_);
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.fields_.InternalSwap(&other->_impl_.fields_);
  swap(_impl_.location_, other->_impl_.location_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ColumnRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[183]);
}

// ===================================================================

class ParamRef::_Internal {
 public:
};

ParamRef::ParamRef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ParamRef)
}
ParamRef::ParamRef(const ParamRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ParamRef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.number_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.number_, &from._impl_.number_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.number_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ParamRef)
}

inline void ParamRef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.number_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ParamRef::~ParamRef() {
  // @@protoc_insertion_point(destructor:pg_query.ParamRef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ParamRef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void ParamRef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ParamRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ParamRef)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.number_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.number_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ParamRef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 number = 1 [json_name = "number"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 2 [json_name = "location"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ParamRef::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ParamRef)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 number = 1 [json_name = "number"];
  if (this->_internal_number() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_number(), target);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_number() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_number());
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ParamRef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ParamRef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ParamRef::GetClassData() const { return &_class_data_; }


void ParamRef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ParamRef*>(&to_msg);
  auto& from = static_cast<const ParamRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ParamRef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_number() != 0) {
    _this->_internal_set_number(from._internal_number());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.location_)
      + sizeof(ParamRef::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.number_)>(
          reinterpret_cast<char*>(&_impl_.number_),
          reinterpret_cast<char*>(&other->_impl_.number_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ParamRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[184]);
}

// ===================================================================

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->_impl_.agg_filter_;
}
const ::pg_query::WindowDef&
FuncCall::_Internal::over(const FuncCall* msg) {
  return *msg->_impl_.over_;
}
FuncCall::FuncCall(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.FuncCall)
}
FuncCall::FuncCall(const FuncCall& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  FuncCall* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.funcname_){from._impl_.funcname_}
    , decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.agg_order_){from._impl_.agg_order_}
    , decltype(_impl_.agg_filter_){nullptr}
    , decltype(_impl_.over_){nullptr}
    , decltype(_impl_.agg_within_group_){}
    , decltype(_impl_.agg_star_){}
    , decltype(_impl_.agg_distinct_){}
    , decltype(_impl_.func_variadic_){}
    , decltype(_impl_.funcformat_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_agg_filter()) {
    _this->_impl_.agg_filter_ = new ::pg_query::Node(*from._impl_.agg_filter_);
  }
  if (from._internal_has_over()) {
    _this->_impl_.over_ = new ::pg_query::WindowDef(*from._impl_.over_);
  }
  ::memcpy(&_impl_.agg_within_group_, &from._impl_.agg_within_group_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.agg_within_group_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.FuncCall)
}

inline void FuncCall::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.funcname_){arena}
    , decltype(_impl_.args_){arena}
    , decltype(_impl_.agg_order_){arena}
    , decltype(_impl_.agg_filter_){nullptr}
    , decltype(_impl_.over_){nullptr}
    , decltype(_impl_.agg_within_group_){false}
    , decltype(_impl_.agg_star_){false}
    , decltype(_impl_.agg_distinct_){false}
    , decltype(_impl_.func_variadic_){false}
    , decltype(_impl_.funcformat_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

FuncCall::~FuncCall() {
  // @@protoc_insertion_point(destructor:pg_query.FuncCall)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void FuncCall::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.funcname_.~RepeatedPtrField();
  _impl_.args_.~RepeatedPtrField();
  _impl_.agg_order_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.agg_filter_;
  if (this != internal_default_instance()) delete _impl_.over_;
}

void FuncCall::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void FuncCall::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FuncCall)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.funcname_.Clear();
  _impl_.args_.Clear();
  _impl_.agg_order_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.agg_filter_ != nullptr) {
    delete _impl_.agg_filter_;
  }
  _impl_.agg_filter_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.over_ != nullptr) {
    delete _impl_.over_;
  }
  _impl_.over_ = nullptr;
  ::memset(&_impl_.agg_within_group_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.agg_within_group_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FuncCall::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_agg_filter(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.WindowDef over = 5 [json_name = "over"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_over(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool agg_within_group = 6 [json_name = "agg_within_group"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.agg_within_group_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool agg_star = 7 [json_name = "agg_star"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.agg_star_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool agg_distinct = 8 [json_name = "agg_distinct"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.agg_distinct_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool func_variadic = 9 [json_name = "func_variadic"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _impl_.func_variadic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_funcformat(static_cast<::pg_query::CoercionForm>(val));
        } else
          goto handle_unusual;
        continue;
      // int32 location = 11 [json_name = "location"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* FuncCall::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FuncCall)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_agg_order_size()); i < n; i++) {
    const auto& repfield = this->_internal_agg_order(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
  if (this->_internal_has_agg_filter()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::agg_filter(this),
        _Internal::agg_filter(this).GetCachedSize(), target, stream);
  }

  // .pg_query.WindowDef over = 5 [json_name = "over"];
  if (this->_internal_has_over()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::over(this),
        _Internal::over(this).GetCachedSize(), target, stream);
  }

  // bool agg_within_group = 6 [json_name = "agg_within_group"];
  if (this->_internal_agg_within_group() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_agg_within_group(), target);
  }

  // bool agg_star = 7 [json_name = "agg_star"];
  if (this->_internal_agg_star() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_agg_star(), target);
  }

  // bool agg_distinct = 8 [json_name = "agg_distinct"];
  if (this->_internal_agg_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_agg_distinct(), target);
  }

  // bool func_variadic = 9 [json_name = "func_variadic"];
  if (this->_internal_func_variadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(9, this->_internal_func_variadic(), target);
  }

  // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      10, this->_internal_funcformat(), target);
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(11, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.agg_order_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
  if (this->_internal_has_agg_filter()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.agg_filter_);
  }

  // .pg_query.WindowDef over = 5 [json_name = "over"];
  if (this->_internal_has_over()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.over_);
  }

  // bool agg_within_group = 6 [json_name = "agg_within_group"];
  if (this->_internal_agg_within_group() != 0) {
    total_size += 1 + 1;
  }

  // bool agg_star = 7 [json_name = "agg_star"];
  if (this->_internal_agg_star() != 0) {
    total_size += 1 + 1;
  }

  // bool agg_distinct = 8 [json_name = "agg_distinct"];
  if (this->_internal_agg_distinct() != 0) {
    total_size += 1 + 1;
  }

  // bool func_variadic = 9 [json_name = "func_variadic"];
  if (this->_internal_func_variadic() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_funcformat());
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FuncCall::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    FuncCall::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FuncCall::GetClassData() const { return &_class_data_; }


void FuncCall::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<FuncCall*>(&to_msg);
  auto& from = static_cast<const FuncCall&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FuncCall)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.funcname_.MergeFrom(from._impl_.funcname_);
  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  _this->_impl_.agg_order_.MergeFrom(from._impl_.agg_order_);
  if (from._internal_has_agg_filter()) {
    _this->_internal_mutable_agg_filter()->::pg_query::Node::MergeFrom(
        from._internal_agg_filter());
  }
  if (from._internal_has_over()) {
    _this->_internal_mutable_over()->::pg_query::WindowDef::MergeFrom(
        from._internal_over());
  }
  if (from._internal_agg_within_group() != 0) {
    _this->_internal_set_agg_within_group(from._internal_agg_within_group());
  }
  if (from._internal_agg_star() != 0) {
    _this->_internal_set_agg_star(from._internal_agg_star());
  }
  if (from._internal_agg_distinct() != 0) {
    _this->_internal_set_agg_distinct(from._internal_agg_distinct());
  }
  if (from._internal_func_variadic() != 0) {
    _this->_internal_set_func_variadic(from._internal_func_variadic());
  }
  if (from._internal_funcformat() != 0) {
    _this->_internal_set_funcformat(from._internal_funcformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.agg_order_.InternalSwap(&other->_impl_.agg_order_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.location_)
      + sizeof(FuncCall::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_filter_)>(
          reinterpret_cast<char*>(&_impl_.agg_filter_),
          reinterpret_cast<char*>(&other->_impl_.agg_filter_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FuncCall::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[185]);
}

// ===================================================================

class A_Star::_Internal {
 public:
};

A_Star::A_Star(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Star)
}
A_Star::A_Star(const A_Star& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  A_Star* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Star)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData A_Star::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*A_Star::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata A_Star::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[186]);
}

// ===================================================================

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->_impl_.lidx_;
}
const ::pg_query::Node&
A_Indices::_Internal::uidx(const A_Indices* msg) {
  return *msg->_impl_.uidx_;
}
A_Indices::A_Indices(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Indices)
}
A_Indices::A_Indices(const A_Indices& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  A_Indices* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.lidx_){nullptr}
    , decltype(_impl_.uidx_){nullptr}
    , decltype(_impl_.is_slice_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_lidx()) {
    _this->_impl_.lidx_ = new ::pg_query::Node(*from._impl_.lidx_);
  }
  if (from._internal_has_uidx()) {
    _this->_impl_.uidx_ = new ::pg_query::Node(*from._impl_.uidx_);
  }
  _this->_impl_.is_slice_ = from._impl_.is_slice_;
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Indices)
}

inline void A_Indices::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.lidx_){nullptr}
    , decltype(_impl_.uidx_){nullptr}
    , decltype(_impl_.is_slice_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

A_Indices::~A_Indices() {
  // @@protoc_insertion_point(destructor:pg_query.A_Indices)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void A_Indices::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.lidx_;
  if (this != internal_default_instance()) delete _impl_.uidx_;
}

void A_Indices::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void A_Indices::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Indices)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.lidx_ != nullptr) {
    delete _impl_.lidx_;
  }
  _impl_.lidx_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.uidx_ != nullptr) {
    delete _impl_.uidx_;
  }
  _impl_.uidx_ = nullptr;
  _impl_.is_slice_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Indices::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool is_slice = 1 [json_name = "is_slice"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_uidx(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* A_Indices::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Indices)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool is_slice = 1 [json_name = "is_slice"];
  if (this->_internal_is_slice() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_is_slice(), target);
  }

  // .pg_query.Node lidx = 2 [json_name = "lidx"];
  if (this->_internal_has_lidx()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::lidx(this),
        _Internal::lidx(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node uidx = 3 [json_name = "uidx"];
  if (this->_internal_has_uidx()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::uidx(this),
        _Internal::uidx(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_lidx()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.lidx_);
  }

  // .pg_query.Node uidx = 3 [json_name = "uidx"];
  if (this->_internal_has_uidx()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.uidx_);
  }

  // bool is_slice = 1 [json_name = "is_slice"];
  if (this->_internal_is_slice() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData A_Indices::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    A_Indices::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*A_Indices::GetClassData() const { return &_class_data_; }


void A_Indices::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<A_Indices*>(&to_msg);
  auto& from = static_cast<const A_Indices&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Indices)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_lidx()) {
    _this->_internal_mutable_lidx()->::pg_query::Node::MergeFrom(
        from._internal_lidx());
  }
  if (from._internal_has_uidx()) {
    _this->_internal_mutable_uidx()->::pg_query::Node::MergeFrom(
        from._internal_uidx());
  }
  if (from._internal_is_slice() != 0) {
    _this->_internal_set_is_slice(from._internal_is_slice());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.is_slice_)
      + sizeof(A_Indices::_impl_.is_slice_)
      - PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.lidx_)>(
          reinterpret_cast<char*>(&_impl_.lidx_),
          reinterpret_cast<char*>(&other->_impl_.lidx_));
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Indices::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[187]);
}

// ===================================================================

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->_impl_.arg_;
}
A_Indirection::A_Indirection(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Indirection)
}
A_Indirection::A_Indirection(const A_Indirection& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  A_Indirection* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.indirection_){from._impl_.indirection_}
    , decltype(_impl_.arg_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.A_Indirection)
}

inline void A_Indirection::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.indirection_){arena}
    , decltype(_impl_.arg_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

A_Indirection::~A_Indirection() {
  // @@protoc_insertion_point(destructor:pg_query.A_Indirection)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void A_Indirection::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.indirection_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void A_Indirection::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void A_Indirection::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Indirection)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.indirection_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) {
    delete _impl_.arg_;
  }
  _impl_.arg_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_Indirection::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node arg = 1 [json_name = "arg"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* A_Indirection::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Indirection)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_indirection_size()); i < n; i++) {
    const auto& repfield = this->_internal_indirection(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.indirection_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData A_Indirection::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    A_Indirection::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*A_Indirection::GetClassData() const { return &_class_data_; }


void A_Indirection::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<A_Indirection*>(&to_msg);
  auto& from = static_cast<const A_Indirection&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Indirection)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.indirection_.MergeFrom(from._impl_.indirection_);
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.indirection_.InternalSwap(&other->_impl_.indirection_);
  swap(_impl_.arg_, other->_impl_.arg_);
}

::PROTOBUF_NAMESPACE_ID::Metadata A_Indirection::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[188]);
}

// ===================================================================

class A_ArrayExpr::_Internal {
 public:
};

A_ArrayExpr::A_ArrayExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_ArrayExpr)
}
A_ArrayExpr::A_ArrayExpr(const A_ArrayExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  A_ArrayExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.elements_){from._impl_.elements_}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.A_ArrayExpr)
}

inline void A_ArrayExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.elements_){arena}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

A_ArrayExpr::~A_ArrayExpr() {
  // @@protoc_insertion_point(destructor:pg_query.A_ArrayExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void A_ArrayExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.elements_.~RepeatedPtrField();
}

void A_ArrayExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void A_ArrayExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_ArrayExpr)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.elements_.Clear();
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* A_ArrayExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node elements = 1 [json_name = "elements"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* A_ArrayExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_ArrayExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node elements = 1 [json_name = "elements"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_elements_size()); i < n; i++) {
    const auto& repfield = this->_internal_elements(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.elements_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData A_ArrayExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    A_ArrayExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*A_ArrayExpr::GetClassData() const { return &_class_data_; }


void A_ArrayExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<A_ArrayExpr*>(&to_msg);
  auto& from = static_cast<const A_ArrayExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_ArrayExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.elements_.MergeFrom(from._impl_.elements_);
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.elements_.InternalSwap(&other->_impl_.elements_);
  swap(_impl_.location_, other->_impl_.location_);
}

::PROTOBUF_NAMESPACE_ID::Metadata A_ArrayExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[189]);
}

// ===================================================================

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->_impl_.val_;
}
ResTarget::ResTarget(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ResTarget)
}
ResTarget::ResTarget(const ResTarget& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ResTarget* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.indirection_){from._impl_.indirection_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.val_){nullptr}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_val()) {
    _this->_impl_.val_ = new ::pg_query::Node(*from._impl_.val_);
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ResTarget)
}

inline void ResTarget::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.indirection_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.val_){nullptr}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ResTarget::~ResTarget() {
  // @@protoc_insertion_point(destructor:pg_query.ResTarget)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ResTarget::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.indirection_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.val_;
}

void ResTarget::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ResTarget::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ResTarget)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.indirection_.Clear();
  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.val_ != nullptr) {
    delete _impl_.val_;
  }
  _impl_.val_ = nullptr;
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ResTarget::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ResTarget.name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ResTarget::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ResTarget)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_indirection_size()); i < n; i++) {
    const auto& repfield = this->_internal_indirection(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node val = 3 [json_name = "val"];
  if (this->_internal_has_val()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::val(this),
        _Internal::val(this).GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.indirection_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node val = 3 [json_name = "val"];
  if (this->_internal_has_val()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.val_);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ResTarget::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ResTarget::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ResTarget::GetClassData() const { return &_class_data_; }


void ResTarget::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ResTarget*>(&to_msg);
  auto& from = static_cast<const ResTarget&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ResTarget)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.indirection_.MergeFrom(from._impl_.indirection_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_val()) {
    _this->_internal_mutable_val()->::pg_query::Node::MergeFrom(
        from._internal_val());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.indirection_.InternalSwap(&other->_impl_.indirection_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.location_)
      + sizeof(ResTarget::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.val_)>(
          reinterpret_cast<char*>(&_impl_.val_),
          reinterpret_cast<char*>(&other->_impl_.val_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ResTarget::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[190]);
}

// ===================================================================

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->_impl_.source_;
}
MultiAssignRef::MultiAssignRef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.MultiAssignRef)
}
MultiAssignRef::MultiAssignRef(const MultiAssignRef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  MultiAssignRef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.source_){nullptr}
    , decltype(_impl_.colno_){}
    , decltype(_impl_.ncolumns_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_source()) {
    _this->_impl_.source_ = new ::pg_query::Node(*from._impl_.source_);
  }
  ::memcpy(&_impl_.colno_, &from._impl_.colno_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.ncolumns_) -
    reinterpret_cast<char*>(&_impl_.colno_)) + sizeof(_impl_.ncolumns_));
  // @@protoc_insertion_point(copy_constructor:pg_query.MultiAssignRef)
}

inline void MultiAssignRef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.source_){nullptr}
    , decltype(_impl_.colno_){0}
    , decltype(_impl_.ncolumns_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

MultiAssignRef::~MultiAssignRef() {
  // @@protoc_insertion_point(destructor:pg_query.MultiAssignRef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void MultiAssignRef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.source_;
}

void MultiAssignRef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void MultiAssignRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MultiAssignRef)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.source_ != nullptr) {
    delete _impl_.source_;
  }
  _impl_.source_ = nullptr;
  ::memset(&_impl_.colno_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.ncolumns_) -
      reinterpret_cast<char*>(&_impl_.colno_)) + sizeof(_impl_.ncolumns_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* MultiAssignRef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node source = 1 [json_name = "source"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.colno_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 ncolumns = 3 [json_name = "ncolumns"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.ncolumns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* MultiAssignRef::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MultiAssignRef)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node source = 1 [json_name = "source"];
  if (this->_internal_has_source()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::source(this),
        _Internal::source(this).GetCachedSize(), target, stream);
  }

  // int32 colno = 2 [json_name = "colno"];
  if (this->_internal_colno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_colno(), target);
  }

  // int32 ncolumns = 3 [json_name = "ncolumns"];
  if (this->_internal_ncolumns() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_ncolumns(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_source()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.source_);
  }

  // int32 colno = 2 [json_name = "colno"];
  if (this->_internal_colno() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_colno());
  }

  // int32 ncolumns = 3 [json_name = "ncolumns"];
  if (this->_internal_ncolumns() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_ncolumns());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MultiAssignRef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    MultiAssignRef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MultiAssignRef::GetClassData() const { return &_class_data_; }


void MultiAssignRef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<MultiAssignRef*>(&to_msg);
  auto& from = static_cast<const MultiAssignRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MultiAssignRef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_source()) {
    _this->_internal_mutable_source()->::pg_query::Node::MergeFrom(
        from._internal_source());
  }
  if (from._internal_colno() != 0) {
    _this->_internal_set_colno(from._internal_colno());
  }
  if (from._internal_ncolumns() != 0) {
    _this->_internal_set_ncolumns(from._internal_ncolumns());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.ncolumns_)
      + sizeof(MultiAssignRef::_impl_.ncolumns_)
      - PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.source_)>(
          reinterpret_cast<char*>(&_impl_.source_),
          reinterpret_cast<char*>(&other->_impl_.source_));
}

::PROTOBUF_NAMESPACE_ID::Metadata MultiAssignRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[191]);
}

// ===================================================================

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->_impl_.arg_;
}
const ::pg_query::TypeName&
TypeCast::_Internal::type_name(const TypeCast* msg) {
  return *msg->_impl_.type_name_;
}
TypeCast::TypeCast(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TypeCast)
}
TypeCast::TypeCast(const TypeCast& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TypeCast* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  if (from._internal_has_type_name()) {
    _this->_impl_.type_name_ = new ::pg_query::TypeName(*from._impl_.type_name_);
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.TypeCast)
}

inline void TypeCast::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TypeCast::~TypeCast() {
  // @@protoc_insertion_point(destructor:pg_query.TypeCast)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TypeCast::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.arg_;
  if (this != internal_default_instance()) delete _impl_.type_name_;
}

void TypeCast::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TypeCast::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TypeCast)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) {
    delete _impl_.arg_;
  }
  _impl_.arg_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) {
    delete _impl_.type_name_;
  }
  _impl_.type_name_ = nullptr;
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TypeCast::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node arg = 1 [json_name = "arg"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TypeCast::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TypeCast)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.type_name_);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TypeCast::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TypeCast::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TypeCast::GetClassData() const { return &_class_data_; }


void TypeCast::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TypeCast*>(&to_msg);
  auto& from = static_cast<const TypeCast&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TypeCast)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_has_type_name()) {
    _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
        from._internal_type_name());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.location_)
      + sizeof(TypeCast::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.arg_)>(
          reinterpret_cast<char*>(&_impl_.arg_),
          reinterpret_cast<char*>(&other->_impl_.arg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TypeCast::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[192]);
}

// ===================================================================

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->_impl_.arg_;
}
CollateClause::CollateClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CollateClause)
}
CollateClause::CollateClause(const CollateClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CollateClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.collname_){from._impl_.collname_}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CollateClause)
}

inline void CollateClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.collname_){arena}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CollateClause::~CollateClause() {
  // @@protoc_insertion_point(destructor:pg_query.CollateClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CollateClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.collname_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void CollateClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CollateClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CollateClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collname_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) {
    delete _impl_.arg_;
  }
  _impl_.arg_ = nullptr;
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CollateClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node arg = 1 [json_name = "arg"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CollateClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CollateClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node collname = 2 [json_name = "collname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_collname_size()); i < n; i++) {
    const auto& repfield = this->_internal_collname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.collname_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CollateClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CollateClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CollateClause::GetClassData() const { return &_class_data_; }


void CollateClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CollateClause*>(&to_msg);
  auto& from = static_cast<const CollateClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CollateClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.collname_.MergeFrom(from._impl_.collname_);
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.collname_.InternalSwap(&other->_impl_.collname_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.location_)
      + sizeof(CollateClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.arg_)>(
          reinterpret_cast<char*>(&_impl_.arg_),
          reinterpret_cast<char*>(&other->_impl_.arg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CollateClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[193]);
}

// ===================================================================

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->_impl_.node_;
}
SortBy::SortBy(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SortBy)
}
SortBy::SortBy(const SortBy& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SortBy* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.use_op_){from._impl_.use_op_}
    , decltype(_impl_.node_){nullptr}
    , decltype(_impl_.sortby_dir_){}
    , decltype(_impl_.sortby_nulls_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_node()) {
    _this->_impl_.node_ = new ::pg_query::Node(*from._impl_.node_);
  }
  ::memcpy(&_impl_.sortby_dir_, &from._impl_.sortby_dir_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.sortby_dir_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SortBy)
}

inline void SortBy::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.use_op_){arena}
    , decltype(_impl_.node_){nullptr}
    , decltype(_impl_.sortby_dir_){0}
    , decltype(_impl_.sortby_nulls_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SortBy::~SortBy() {
  // @@protoc_insertion_point(destructor:pg_query.SortBy)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SortBy::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.use_op_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.node_;
}

void SortBy::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void SortBy::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SortBy)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.use_op_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.node_ != nullptr) {
    delete _impl_.node_;
  }
  _impl_.node_ = nullptr;
  ::memset(&_impl_.sortby_dir_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.sortby_dir_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SortBy::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node node = 1 [json_name = "node"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* SortBy::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SortBy)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node node = 1 [json_name = "node"];
  if (this->_internal_has_node()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::node(this),
        _Internal::node(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
  if (this->_internal_sortby_dir() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_sortby_dir(), target);
  }

  // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
  if (this->_internal_sortby_nulls() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_sortby_nulls(), target);
  }

  // repeated .pg_query.Node use_op = 4 [json_name = "useOp"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_use_op_size()); i < n; i++) {
    const auto& repfield = this->_internal_use_op(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.use_op_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node node = 1 [json_name = "node"];
  if (this->_internal_has_node()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.node_);
  }

  // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
  if (this->_internal_sortby_dir() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_sortby_dir());
  }

  // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
  if (this->_internal_sortby_nulls() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_sortby_nulls());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SortBy::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SortBy::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SortBy::GetClassData() const { return &_class_data_; }


void SortBy::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SortBy*>(&to_msg);
  auto& from = static_cast<const SortBy&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SortBy)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.use_op_.MergeFrom(from._impl_.use_op_);
  if (from._internal_has_node()) {
    _this->_internal_mutable_node()->::pg_query::Node::MergeFrom(
        from._internal_node());
  }
  if (from._internal_sortby_dir() != 0) {
    _this->_internal_set_sortby_dir(from._internal_sortby_dir());
  }
  if (from._internal_sortby_nulls() != 0) {
    _this->_internal_set_sortby_nulls(from._internal_sortby_nulls());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.use_op_.InternalSwap(&other->_impl_.use_op_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SortBy, _impl_.location_)
      + sizeof(SortBy::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SortBy, _impl_.node_)>(
          reinterpret_cast<char*>(&_impl_.node_),
          reinterpret_cast<char*>(&other->_impl_.node_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SortBy::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[194]);
}

// ===================================================================

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->_impl_.start_offset_;
}
const ::pg_query::Node&
WindowDef::_Internal::end_offset(const WindowDef* msg) {
  return *msg->_impl_.end_offset_;
}
WindowDef::WindowDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowDef)
}
WindowDef::WindowDef(const WindowDef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  WindowDef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.partition_clause_){from._impl_.partition_clause_}
    , decltype(_impl_.order_clause_){from._impl_.order_clause_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.refname_){}
    , decltype(_impl_.start_offset_){nullptr}
    , decltype(_impl_.end_offset_){nullptr}
    , decltype(_impl_.frame_options_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.refname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.refname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_refname().empty()) {
    _this->_impl_.refname_.Set(from._internal_refname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_start_offset()) {
    _this->_impl_.start_offset_ = new ::pg_query::Node(*from._impl_.start_offset_);
  }
  if (from._internal_has_end_offset()) {
    _this->_impl_.end_offset_ = new ::pg_query::Node(*from._impl_.end_offset_);
  }
  ::memcpy(&_impl_.frame_options_, &from._impl_.frame_options_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.frame_options_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WindowDef)
}

inline void WindowDef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.partition_clause_){arena}
    , decltype(_impl_.order_clause_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.refname_){}
    , decltype(_impl_.start_offset_){nullptr}
    , decltype(_impl_.end_offset_){nullptr}
    , decltype(_impl_.frame_options_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.refname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.refname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

WindowDef::~WindowDef() {
  // @@protoc_insertion_point(destructor:pg_query.WindowDef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void WindowDef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.partition_clause_.~RepeatedPtrField();
  _impl_.order_clause_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  _impl_.refname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.start_offset_;
  if (this != internal_default_instance()) delete _impl_.end_offset_;
}

void WindowDef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void WindowDef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowDef)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.partition_clause_.Clear();
  _impl_.order_clause_.Clear();
  _impl_.name_.ClearToEmpty();
  _impl_.refname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.start_offset_ != nullptr) {
    delete _impl_.start_offset_;
  }
  _impl_.start_offset_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.end_offset_ != nullptr) {
    delete _impl_.end_offset_;
  }
  _impl_.end_offset_ = nullptr;
  ::memset(&_impl_.frame_options_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.frame_options_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WindowDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.WindowDef.name"));
        } else
          goto handle_unusual;
        continue;
      // string refname = 2 [json_name = "refname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_refname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.WindowDef.refname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.frame_options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 64)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* WindowDef::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowDef)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_refname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_partition_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_partition_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_order_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_order_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_frame_options(), target);
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->_internal_has_start_offset()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::start_offset(this),
        _Internal::start_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->_internal_has_end_offset()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::end_offset(this),
        _Internal::end_offset(this).GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.order_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // string refname = 2 [json_name = "refname"];
  if (!this->_internal_refname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_refname());
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->_internal_has_start_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.start_offset_);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->_internal_has_end_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.end_offset_);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_frame_options());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData WindowDef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    WindowDef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*WindowDef::GetClassData() const { return &_class_data_; }


void WindowDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<WindowDef*>(&to_msg);
  auto& from = static_cast<const WindowDef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowDef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.partition_clause_.MergeFrom(from._impl_.partition_clause_);
  _this->_impl_.order_clause_.MergeFrom(from._impl_.order_clause_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_refname().empty()) {
    _this->_internal_set_refname(from._internal_refname());
  }
  if (from._internal_has_start_offset()) {
    _this->_internal_mutable_start_offset()->::pg_query::Node::MergeFrom(
        from._internal_start_offset());
  }
  if (from._internal_has_end_offset()) {
    _this->_internal_mutable_end_offset()->::pg_query::Node::MergeFrom(
        from._internal_end_offset());
  }
  if (from._internal_frame_options() != 0) {
    _this->_internal_set_frame_options(from._internal_frame_options());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.partition_clause_.InternalSwap(&other->_impl_.partition_clause_);
  _impl_.order_clause_.InternalSwap(&other->_impl_.order_clause_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.refname_, lhs_arena,
      &other->_impl_.refname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.location_)
      + sizeof(WindowDef::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.start_offset_)>(
          reinterpret_cast<char*>(&_impl_.start_offset_),
          reinterpret_cast<char*>(&other->_impl_.start_offset_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WindowDef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[195]);
}

// ===================================================================

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->_impl_.subquery_;
}
const ::pg_query::Alias&
RangeSubselect::_Internal::alias(const RangeSubselect* msg) {
  return *msg->_impl_.alias_;
}
RangeSubselect::RangeSubselect(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeSubselect)
}
RangeSubselect::RangeSubselect(const RangeSubselect& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeSubselect* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.subquery_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.lateral_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_subquery()) {
    _this->_impl_.subquery_ = new ::pg_query::Node(*from._impl_.subquery_);
  }
  if (from._internal_has_alias()) {
    _this->_impl_.alias_ = new ::pg_query::Alias(*from._impl_.alias_);
  }
  _this->_impl_.lateral_ = from._impl_.lateral_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeSubselect)
}

inline void RangeSubselect::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.subquery_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.lateral_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RangeSubselect::~RangeSubselect() {
  // @@protoc_insertion_point(destructor:pg_query.RangeSubselect)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeSubselect::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.subquery_;
  if (this != internal_default_instance()) delete _impl_.alias_;
}

void RangeSubselect::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RangeSubselect::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeSubselect)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.subquery_ != nullptr) {
    delete _impl_.subquery_;
  }
  _impl_.subquery_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) {
    delete _impl_.alias_;
  }
  _impl_.alias_ = nullptr;
  _impl_.lateral_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeSubselect::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool lateral = 1 [json_name = "lateral"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RangeSubselect::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeSubselect)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_lateral(), target);
  }

  // .pg_query.Node subquery = 2 [json_name = "subquery"];
  if (this->_internal_has_subquery()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::subquery(this),
        _Internal::subquery(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Alias alias = 3 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_subquery()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.subquery_);
  }

  // .pg_query.Alias alias = 3 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.alias_);
  }

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeSubselect::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeSubselect::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeSubselect::GetClassData() const { return &_class_data_; }


void RangeSubselect::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeSubselect*>(&to_msg);
  auto& from = static_cast<const RangeSubselect&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeSubselect)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_subquery()) {
    _this->_internal_mutable_subquery()->::pg_query::Node::MergeFrom(
        from._internal_subquery());
  }
  if (from._internal_has_alias()) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.lateral_)
      + sizeof(RangeSubselect::_impl_.lateral_)
      - PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.subquery_)>(
          reinterpret_cast<char*>(&_impl_.subquery_),
          reinterpret_cast<char*>(&other->_impl_.subquery_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeSubselect::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[196]);
}

// ===================================================================

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->_impl_.alias_;
}
RangeFunction::RangeFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeFunction)
}
RangeFunction::RangeFunction(const RangeFunction& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeFunction* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.functions_){from._impl_.functions_}
    , decltype(_impl_.coldeflist_){from._impl_.coldeflist_}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.lateral_){}
    , decltype(_impl_.ordinality_){}
    , decltype(_impl_.is_rowsfrom_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_alias()) {
    _this->_impl_.alias_ = new ::pg_query::Alias(*from._impl_.alias_);
  }
  ::memcpy(&_impl_.lateral_, &from._impl_.lateral_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.is_rowsfrom_) -
    reinterpret_cast<char*>(&_impl_.lateral_)) + sizeof(_impl_.is_rowsfrom_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeFunction)
}

inline void RangeFunction::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.functions_){arena}
    , decltype(_impl_.coldeflist_){arena}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.lateral_){false}
    , decltype(_impl_.ordinality_){false}
    , decltype(_impl_.is_rowsfrom_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RangeFunction::~RangeFunction() {
  // @@protoc_insertion_point(destructor:pg_query.RangeFunction)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeFunction::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.functions_.~RepeatedPtrField();
  _impl_.coldeflist_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.alias_;
}

void RangeFunction::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RangeFunction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeFunction)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.functions_.Clear();
  _impl_.coldeflist_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) {
    delete _impl_.alias_;
  }
  _impl_.alias_ = nullptr;
  ::memset(&_impl_.lateral_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.is_rowsfrom_) -
      reinterpret_cast<char*>(&_impl_.lateral_)) + sizeof(_impl_.is_rowsfrom_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeFunction::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool lateral = 1 [json_name = "lateral"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RangeFunction::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeFunction)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_lateral(), target);
  }

  // bool ordinality = 2 [json_name = "ordinality"];
  if (this->_internal_ordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_ordinality(), target);
  }

  // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
  if (this->_internal_is_rowsfrom() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_rowsfrom(), target);
  }

  // repeated .pg_query.Node functions = 4 [json_name = "functions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_functions_size()); i < n; i++) {
    const auto& repfield = this->_internal_functions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Alias alias = 5 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coldeflist_size()); i < n; i++) {
    const auto& repfield = this->_internal_coldeflist(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.coldeflist_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Alias alias = 5 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.alias_);
  }

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 1 + 1;
  }

  // bool ordinality = 2 [json_name = "ordinality"];
  if (this->_internal_ordinality() != 0) {
    total_size += 1 + 1;
  }

  // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
  if (this->_internal_is_rowsfrom() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeFunction::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeFunction::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeFunction::GetClassData() const { return &_class_data_; }


void RangeFunction::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeFunction*>(&to_msg);
  auto& from = static_cast<const RangeFunction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeFunction)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.functions_.MergeFrom(from._impl_.functions_);
  _this->_impl_.coldeflist_.MergeFrom(from._impl_.coldeflist_);
  if (from._internal_has_alias()) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  if (from._internal_ordinality() != 0) {
    _this->_internal_set_ordinality(from._internal_ordinality());
  }
  if (from._internal_is_rowsfrom() != 0) {
    _this->_internal_set_is_rowsfrom(from._internal_is_rowsfrom());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.functions_.InternalSwap(&other->_impl_.functions_);
  _impl_.coldeflist_.InternalSwap(&other->_impl_.coldeflist_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.is_rowsfrom_)
      + sizeof(RangeFunction::_impl_.is_rowsfrom_)
      - PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.alias_)>(
          reinterpret_cast<char*>(&_impl_.alias_),
          reinterpret_cast<char*>(&other->_impl_.alias_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeFunction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[197]);
}

// ===================================================================

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->_impl_.relation_;
}
const ::pg_query::Node&
RangeTableSample::_Internal::repeatable(const RangeTableSample* msg) {
  return *msg->_impl_.repeatable_;
}
RangeTableSample::RangeTableSample(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableSample)
}
RangeTableSample::RangeTableSample(const RangeTableSample& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeTableSample* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.method_){from._impl_.method_}
    , decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.repeatable_){nullptr}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::Node(*from._impl_.relation_);
  }
  if (from._internal_has_repeatable()) {
    _this->_impl_.repeatable_ = new ::pg_query::Node(*from._impl_.repeatable_);
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableSample)
}

inline void RangeTableSample::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.method_){arena}
    , decltype(_impl_.args_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.repeatable_){nullptr}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RangeTableSample::~RangeTableSample() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableSample)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeTableSample::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.method_.~RepeatedPtrField();
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.repeatable_;
}

void RangeTableSample::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RangeTableSample::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableSample)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.method_.Clear();
  _impl_.args_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.repeatable_ != nullptr) {
    delete _impl_.repeatable_;
  }
  _impl_.repeatable_ = nullptr;
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTableSample::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RangeTableSample::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableSample)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node method = 2 [json_name = "method"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_method_size()); i < n; i++) {
    const auto& repfield = this->_internal_method(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
  if (this->_internal_has_repeatable()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::repeatable(this),
        _Internal::repeatable(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
  if (this->_internal_has_repeatable()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.repeatable_);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeTableSample::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeTableSample::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeTableSample::GetClassData() const { return &_class_data_; }


void RangeTableSample::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeTableSample*>(&to_msg);
  auto& from = static_cast<const RangeTableSample&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableSample)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.method_.MergeFrom(from._impl_.method_);
  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::Node::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_repeatable()) {
    _this->_internal_mutable_repeatable()->::pg_query::Node::MergeFrom(
        from._internal_repeatable());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.method_.InternalSwap(&other->_impl_.method_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.location_)
      + sizeof(RangeTableSample::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTableSample::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[198]);
}

// ===================================================================

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->_impl_.docexpr_;
}
const ::pg_query::Node&
RangeTableFunc::_Internal::rowexpr(const RangeTableFunc* msg) {
  return *msg->_impl_.rowexpr_;
}
const ::pg_query::Alias&
RangeTableFunc::_Internal::alias(const RangeTableFunc* msg) {
  return *msg->_impl_.alias_;
}
RangeTableFunc::RangeTableFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableFunc)
}
RangeTableFunc::RangeTableFunc(const RangeTableFunc& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeTableFunc* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.namespaces_){from._impl_.namespaces_}
    , decltype(_impl_.columns_){from._impl_.columns_}
    , decltype(_impl_.docexpr_){nullptr}
    , decltype(_impl_.rowexpr_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.lateral_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_docexpr()) {
    _this->_impl_.docexpr_ = new ::pg_query::Node(*from._impl_.docexpr_);
  }
  if (from._internal_has_rowexpr()) {
    _this->_impl_.rowexpr_ = new ::pg_query::Node(*from._impl_.rowexpr_);
  }
  if (from._internal_has_alias()) {
    _this->_impl_.alias_ = new ::pg_query::Alias(*from._impl_.alias_);
  }
  ::memcpy(&_impl_.lateral_, &from._impl_.lateral_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.lateral_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableFunc)
}

inline void RangeTableFunc::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.namespaces_){arena}
    , decltype(_impl_.columns_){arena}
    , decltype(_impl_.docexpr_){nullptr}
    , decltype(_impl_.rowexpr_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.lateral_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RangeTableFunc::~RangeTableFunc() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableFunc)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeTableFunc::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.namespaces_.~RepeatedPtrField();
  _impl_.columns_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.docexpr_;
  if (this != internal_default_instance()) delete _impl_.rowexpr_;
  if (this != internal_default_instance()) delete _impl_.alias_;
}

void RangeTableFunc::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RangeTableFunc::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableFunc)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.namespaces_.Clear();
  _impl_.columns_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.docexpr_ != nullptr) {
    delete _impl_.docexpr_;
  }
  _impl_.docexpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.rowexpr_ != nullptr) {
    delete _impl_.rowexpr_;
  }
  _impl_.rowexpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) {
    delete _impl_.alias_;
  }
  _impl_.alias_ = nullptr;
  ::memset(&_impl_.lateral_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.lateral_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTableFunc::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool lateral = 1 [json_name = "lateral"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RangeTableFunc::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableFunc)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_lateral(), target);
  }

  // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
  if (this->_internal_has_docexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::docexpr(this),
        _Internal::docexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
  if (this->_internal_has_rowexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::rowexpr(this),
        _Internal::rowexpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_namespaces_size()); i < n; i++) {
    const auto& repfield = this->_internal_namespaces(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node columns = 5 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
  if (this->_internal_has_docexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.docexpr_);
  }

  // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
  if (this->_internal_has_rowexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.rowexpr_);
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.alias_);
  }

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeTableFunc::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeTableFunc::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeTableFunc::GetClassData() const { return &_class_data_; }


void RangeTableFunc::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeTableFunc*>(&to_msg);
  auto& from = static_cast<const RangeTableFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableFunc)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.namespaces_.MergeFrom(from._impl_.namespaces_);
  _this->_impl_.columns_.MergeFrom(from._impl_.columns_);
  if (from._internal_has_docexpr()) {
    _this->_internal_mutable_docexpr()->::pg_query::Node::MergeFrom(
        from._internal_docexpr());
  }
  if (from._internal_has_rowexpr()) {
    _this->_internal_mutable_rowexpr()->::pg_query::Node::MergeFrom(
        from._internal_rowexpr());
  }
  if (from._internal_has_alias()) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.namespaces_.InternalSwap(&other->_impl_.namespaces_);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.location_)
      + sizeof(RangeTableFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.docexpr_)>(
          reinterpret_cast<char*>(&_impl_.docexpr_),
          reinterpret_cast<char*>(&other->_impl_.docexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTableFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[199]);
}

// ===================================================================

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->_impl_.type_name_;
}
const ::pg_query::Node&
RangeTableFuncCol::_Internal::colexpr(const RangeTableFuncCol* msg) {
  return *msg->_impl_.colexpr_;
}
const ::pg_query::Node&
RangeTableFuncCol::_Internal::coldefexpr(const RangeTableFuncCol* msg) {
  return *msg->_impl_.coldefexpr_;
}
RangeTableFuncCol::RangeTableFuncCol(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableFuncCol)
}
RangeTableFuncCol::RangeTableFuncCol(const RangeTableFuncCol& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeTableFuncCol* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.colname_){}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.colexpr_){nullptr}
    , decltype(_impl_.coldefexpr_){nullptr}
    , decltype(_impl_.for_ordinality_){}
    , decltype(_impl_.is_not_null_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.colname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.colname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_colname().empty()) {
    _this->_impl_.colname_.Set(from._internal_colname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_type_name()) {
    _this->_impl_.type_name_ = new ::pg_query::TypeName(*from._impl_.type_name_);
  }
  if (from._internal_has_colexpr()) {
    _this->_impl_.colexpr_ = new ::pg_query::Node(*from._impl_.colexpr_);
  }
  if (from._internal_has_coldefexpr()) {
    _this->_impl_.coldefexpr_ = new ::pg_query::Node(*from._impl_.coldefexpr_);
  }
  ::memcpy(&_impl_.for_ordinality_, &from._impl_.for_ordinality_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.for_ordinality_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableFuncCol)
}

inline void RangeTableFuncCol::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.colname_){}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.colexpr_){nullptr}
    , decltype(_impl_.coldefexpr_){nullptr}
    , decltype(_impl_.for_ordinality_){false}
    , decltype(_impl_.is_not_null_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.colname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.colname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

RangeTableFuncCol::~RangeTableFuncCol() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableFuncCol)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeTableFuncCol::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.colname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.type_name_;
  if (this != internal_default_instance()) delete _impl_.colexpr_;
  if (this != internal_default_instance()) delete _impl_.coldefexpr_;
}

void RangeTableFuncCol::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RangeTableFuncCol::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableFuncCol)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.colname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) {
    delete _impl_.type_name_;
  }
  _impl_.type_name_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.colexpr_ != nullptr) {
    delete _impl_.colexpr_;
  }
  _impl_.colexpr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.coldefexpr_ != nullptr) {
    delete _impl_.coldefexpr_;
  }
  _impl_.coldefexpr_ = nullptr;
  ::memset(&_impl_.for_ordinality_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.for_ordinality_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTableFuncCol::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string colname = 1 [json_name = "colname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_colname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeTableFuncCol.colname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RangeTableFuncCol::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableFuncCol)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string colname = 1 [json_name = "colname"];
  if (!this->_internal_colname().empty()) {
    ::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->_internal_has_type_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // bool for_ordinality = 3 [json_name = "for_ordinality"];
  if (this->_internal_for_ordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_for_ordinality(), target);
  }

  // bool is_not_null = 4 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_is_not_null(), target);
  }

  // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
  if (this->_internal_has_colexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::colexpr(this),
        _Internal::colexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
  if (this->_internal_has_coldefexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::coldefexpr(this),
        _Internal::coldefexpr(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_colname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_colname());
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.type_name_);
  }

  // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
  if (this->_internal_has_colexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.colexpr_);
  }

  // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
  if (this->_internal_has_coldefexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.coldefexpr_);
  }

  // bool for_ordinality = 3 [json_name = "for_ordinality"];
  if (this->_internal_for_ordinality() != 0) {
    total_size += 1 + 1;
  }

  // bool is_not_null = 4 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeTableFuncCol::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeTableFuncCol::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeTableFuncCol::GetClassData() const { return &_class_data_; }


void RangeTableFuncCol::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeTableFuncCol*>(&to_msg);
  auto& from = static_cast<const RangeTableFuncCol&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableFuncCol)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_colname().empty()) {
    _this->_internal_set_colname(from._internal_colname());
  }
  if (from._internal_has_type_name()) {
    _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
        from._internal_type_name());
  }
  if (from._internal_has_colexpr()) {
    _this->_internal_mutable_colexpr()->::pg_query::Node::MergeFrom(
        from._internal_colexpr());
  }
  if (from._internal_has_coldefexpr()) {
    _this->_internal_mutable_coldefexpr()->::pg_query::Node::MergeFrom(
        from._internal_coldefexpr());
  }
  if (from._internal_for_ordinality() != 0) {
    _this->_internal_set_for_ordinality(from._internal_for_ordinality());
  }
  if (from._internal_is_not_null() != 0) {
    _this->_internal_set_is_not_null(from._internal_is_not_null());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.colname_, lhs_arena,
      &other->_impl_.colname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.location_)
      + sizeof(RangeTableFuncCol::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTableFuncCol::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[200]);
}

// ===================================================================

class TypeName::_Internal {
 public:
};

TypeName::TypeName(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TypeName)
}
TypeName::TypeName(const TypeName& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TypeName* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.names_){from._impl_.names_}
    , decltype(_impl_.typmods_){from._impl_.typmods_}
    , decltype(_impl_.array_bounds_){from._impl_.array_bounds_}
    , decltype(_impl_.type_oid_){}
    , decltype(_impl_.setof_){}
    , decltype(_impl_.pct_type_){}
    , decltype(_impl_.typemod_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.type_oid_, &from._impl_.type_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.type_oid_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TypeName)
}

inline void TypeName::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.names_){arena}
    , decltype(_impl_.typmods_){arena}
    , decltype(_impl_.array_bounds_){arena}
    , decltype(_impl_.type_oid_){0u}
    , decltype(_impl_.setof_){false}
    , decltype(_impl_.pct_type_){false}
    , decltype(_impl_.typemod_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TypeName::~TypeName() {
  // @@protoc_insertion_point(destructor:pg_query.TypeName)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TypeName::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.names_.~RepeatedPtrField();
  _impl_.typmods_.~RepeatedPtrField();
  _impl_.array_bounds_.~RepeatedPtrField();
}

void TypeName::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TypeName::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TypeName)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.names_.Clear();
  _impl_.typmods_.Clear();
  _impl_.array_bounds_.Clear();
  ::memset(&_impl_.type_oid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.type_oid_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TypeName::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node names = 1 [json_name = "names"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 48)) {
          _impl_.typemod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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<uint8_t>(tag) == 64)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TypeName::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TypeName)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node names = 1 [json_name = "names"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_names(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 type_oid = 2 [json_name = "typeOid"];
  if (this->_internal_type_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_type_oid(), target);
  }

  // bool setof = 3 [json_name = "setof"];
  if (this->_internal_setof() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_setof(), target);
  }

  // bool pct_type = 4 [json_name = "pct_type"];
  if (this->_internal_pct_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_pct_type(), target);
  }

  // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_typmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_typmods(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 typemod = 6 [json_name = "typemod"];
  if (this->_internal_typemod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_typemod(), target);
  }

  // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_array_bounds_size()); i < n; i++) {
    const auto& repfield = this->_internal_array_bounds(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.array_bounds_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // uint32 type_oid = 2 [json_name = "typeOid"];
  if (this->_internal_type_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type_oid());
  }

  // bool setof = 3 [json_name = "setof"];
  if (this->_internal_setof() != 0) {
    total_size += 1 + 1;
  }

  // bool pct_type = 4 [json_name = "pct_type"];
  if (this->_internal_pct_type() != 0) {
    total_size += 1 + 1;
  }

  // int32 typemod = 6 [json_name = "typemod"];
  if (this->_internal_typemod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_typemod());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TypeName::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TypeName::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TypeName::GetClassData() const { return &_class_data_; }


void TypeName::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TypeName*>(&to_msg);
  auto& from = static_cast<const TypeName&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TypeName)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.names_.MergeFrom(from._impl_.names_);
  _this->_impl_.typmods_.MergeFrom(from._impl_.typmods_);
  _this->_impl_.array_bounds_.MergeFrom(from._impl_.array_bounds_);
  if (from._internal_type_oid() != 0) {
    _this->_internal_set_type_oid(from._internal_type_oid());
  }
  if (from._internal_setof() != 0) {
    _this->_internal_set_setof(from._internal_setof());
  }
  if (from._internal_pct_type() != 0) {
    _this->_internal_set_pct_type(from._internal_pct_type());
  }
  if (from._internal_typemod() != 0) {
    _this->_internal_set_typemod(from._internal_typemod());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.names_.InternalSwap(&other->_impl_.names_);
  _impl_.typmods_.InternalSwap(&other->_impl_.typmods_);
  _impl_.array_bounds_.InternalSwap(&other->_impl_.array_bounds_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeName, _impl_.location_)
      + sizeof(TypeName::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(TypeName, _impl_.type_oid_)>(
          reinterpret_cast<char*>(&_impl_.type_oid_),
          reinterpret_cast<char*>(&other->_impl_.type_oid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TypeName::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[201]);
}

// ===================================================================

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->_impl_.type_name_;
}
const ::pg_query::Node&
ColumnDef::_Internal::raw_default(const ColumnDef* msg) {
  return *msg->_impl_.raw_default_;
}
const ::pg_query::Node&
ColumnDef::_Internal::cooked_default(const ColumnDef* msg) {
  return *msg->_impl_.cooked_default_;
}
const ::pg_query::RangeVar&
ColumnDef::_Internal::identity_sequence(const ColumnDef* msg) {
  return *msg->_impl_.identity_sequence_;
}
const ::pg_query::CollateClause&
ColumnDef::_Internal::coll_clause(const ColumnDef* msg) {
  return *msg->_impl_.coll_clause_;
}
ColumnDef::ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ColumnDef)
}
ColumnDef::ColumnDef(const ColumnDef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ColumnDef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.constraints_){from._impl_.constraints_}
    , decltype(_impl_.fdwoptions_){from._impl_.fdwoptions_}
    , decltype(_impl_.colname_){}
    , decltype(_impl_.compression_){}
    , decltype(_impl_.storage_){}
    , decltype(_impl_.identity_){}
    , decltype(_impl_.generated_){}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.raw_default_){nullptr}
    , decltype(_impl_.cooked_default_){nullptr}
    , decltype(_impl_.identity_sequence_){nullptr}
    , decltype(_impl_.coll_clause_){nullptr}
    , decltype(_impl_.inhcount_){}
    , decltype(_impl_.is_local_){}
    , decltype(_impl_.is_not_null_){}
    , decltype(_impl_.is_from_type_){}
    , decltype(_impl_.coll_oid_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.colname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.colname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_colname().empty()) {
    _this->_impl_.colname_.Set(from._internal_colname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.compression_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.compression_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_compression().empty()) {
    _this->_impl_.compression_.Set(from._internal_compression(), 
      _this->GetArenaForAllocation());
  }
  _impl_.storage_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.storage_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_storage().empty()) {
    _this->_impl_.storage_.Set(from._internal_storage(), 
      _this->GetArenaForAllocation());
  }
  _impl_.identity_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.identity_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_identity().empty()) {
    _this->_impl_.identity_.Set(from._internal_identity(), 
      _this->GetArenaForAllocation());
  }
  _impl_.generated_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.generated_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_generated().empty()) {
    _this->_impl_.generated_.Set(from._internal_generated(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_type_name()) {
    _this->_impl_.type_name_ = new ::pg_query::TypeName(*from._impl_.type_name_);
  }
  if (from._internal_has_raw_default()) {
    _this->_impl_.raw_default_ = new ::pg_query::Node(*from._impl_.raw_default_);
  }
  if (from._internal_has_cooked_default()) {
    _this->_impl_.cooked_default_ = new ::pg_query::Node(*from._impl_.cooked_default_);
  }
  if (from._internal_has_identity_sequence()) {
    _this->_impl_.identity_sequence_ = new ::pg_query::RangeVar(*from._impl_.identity_sequence_);
  }
  if (from._internal_has_coll_clause()) {
    _this->_impl_.coll_clause_ = new ::pg_query::CollateClause(*from._impl_.coll_clause_);
  }
  ::memcpy(&_impl_.inhcount_, &from._impl_.inhcount_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.inhcount_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ColumnDef)
}

inline void ColumnDef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.constraints_){arena}
    , decltype(_impl_.fdwoptions_){arena}
    , decltype(_impl_.colname_){}
    , decltype(_impl_.compression_){}
    , decltype(_impl_.storage_){}
    , decltype(_impl_.identity_){}
    , decltype(_impl_.generated_){}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.raw_default_){nullptr}
    , decltype(_impl_.cooked_default_){nullptr}
    , decltype(_impl_.identity_sequence_){nullptr}
    , decltype(_impl_.coll_clause_){nullptr}
    , decltype(_impl_.inhcount_){0}
    , decltype(_impl_.is_local_){false}
    , decltype(_impl_.is_not_null_){false}
    , decltype(_impl_.is_from_type_){false}
    , decltype(_impl_.coll_oid_){0u}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.colname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.colname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.compression_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.compression_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.storage_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.storage_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.identity_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.identity_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.generated_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.generated_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ColumnDef::~ColumnDef() {
  // @@protoc_insertion_point(destructor:pg_query.ColumnDef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ColumnDef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.constraints_.~RepeatedPtrField();
  _impl_.fdwoptions_.~RepeatedPtrField();
  _impl_.colname_.Destroy();
  _impl_.compression_.Destroy();
  _impl_.storage_.Destroy();
  _impl_.identity_.Destroy();
  _impl_.generated_.Destroy();
  if (this != internal_default_instance()) delete _impl_.type_name_;
  if (this != internal_default_instance()) delete _impl_.raw_default_;
  if (this != internal_default_instance()) delete _impl_.cooked_default_;
  if (this != internal_default_instance()) delete _impl_.identity_sequence_;
  if (this != internal_default_instance()) delete _impl_.coll_clause_;
}

void ColumnDef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ColumnDef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ColumnDef)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.constraints_.Clear();
  _impl_.fdwoptions_.Clear();
  _impl_.colname_.ClearToEmpty();
  _impl_.compression_.ClearToEmpty();
  _impl_.storage_.ClearToEmpty();
  _impl_.identity_.ClearToEmpty();
  _impl_.generated_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) {
    delete _impl_.type_name_;
  }
  _impl_.type_name_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.raw_default_ != nullptr) {
    delete _impl_.raw_default_;
  }
  _impl_.raw_default_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.cooked_default_ != nullptr) {
    delete _impl_.cooked_default_;
  }
  _impl_.cooked_default_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.identity_sequence_ != nullptr) {
    delete _impl_.identity_sequence_;
  }
  _impl_.identity_sequence_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.coll_clause_ != nullptr) {
    delete _impl_.coll_clause_;
  }
  _impl_.coll_clause_ = nullptr;
  ::memset(&_impl_.inhcount_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.inhcount_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ColumnDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string colname = 1 [json_name = "colname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_colname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ColumnDef.colname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_type_name(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string compression = 3 [json_name = "compression"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_compression();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ColumnDef.compression"));
        } else
          goto handle_unusual;
        continue;
      // int32 inhcount = 4 [json_name = "inhcount"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.inhcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool is_local = 5 [json_name = "is_local"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.is_local_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool is_not_null = 6 [json_name = "is_not_null"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.is_not_null_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool is_from_type = 7 [json_name = "is_from_type"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.is_from_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string storage = 8 [json_name = "storage"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          auto str = _internal_mutable_storage();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ColumnDef.storage"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node raw_default = 9 [json_name = "raw_default"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_raw_default(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node cooked_default = 10 [json_name = "cooked_default"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_cooked_default(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string identity = 11 [json_name = "identity"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          auto str = _internal_mutable_identity();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ColumnDef.identity"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RangeVar identity_sequence = 12 [json_name = "identitySequence"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_identity_sequence(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string generated = 13 [json_name = "generated"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          auto str = _internal_mutable_generated();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.ColumnDef.generated"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.CollateClause coll_clause = 14 [json_name = "collClause"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_coll_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 coll_oid = 15 [json_name = "collOid"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          _impl_.coll_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node constraints = 16 [json_name = "constraints"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<130>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node fdwoptions = 17 [json_name = "fdwoptions"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
          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<138>(ptr));
        } else
          goto handle_unusual;
        continue;
      // int32 location = 18 [json_name = "location"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ColumnDef::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ColumnDef)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string colname = 1 [json_name = "colname"];
  if (!this->_internal_colname().empty()) {
    ::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->_internal_has_type_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // string compression = 3 [json_name = "compression"];
  if (!this->_internal_compression().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_compression().data(), static_cast<int>(this->_internal_compression().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.ColumnDef.compression");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_compression(), target);
  }

  // int32 inhcount = 4 [json_name = "inhcount"];
  if (this->_internal_inhcount() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_inhcount(), target);
  }

  // bool is_local = 5 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_is_local(), target);
  }

  // bool is_not_null = 6 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_is_not_null(), target);
  }

  // bool is_from_type = 7 [json_name = "is_from_type"];
  if (this->_internal_is_from_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_is_from_type(), target);
  }

  // string storage = 8 [json_name = "storage"];
  if (!this->_internal_storage().empty()) {
    ::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(
        8, this->_internal_storage(), target);
  }

  // .pg_query.Node raw_default = 9 [json_name = "raw_default"];
  if (this->_internal_has_raw_default()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(9, _Internal::raw_default(this),
        _Internal::raw_default(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node cooked_default = 10 [json_name = "cooked_default"];
  if (this->_internal_has_cooked_default()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, _Internal::cooked_default(this),
        _Internal::cooked_default(this).GetCachedSize(), target, stream);
  }

  // string identity = 11 [json_name = "identity"];
  if (!this->_internal_identity().empty()) {
    ::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(
        11, this->_internal_identity(), target);
  }

  // .pg_query.RangeVar identity_sequence = 12 [json_name = "identitySequence"];
  if (this->_internal_has_identity_sequence()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(12, _Internal::identity_sequence(this),
        _Internal::identity_sequence(this).GetCachedSize(), target, stream);
  }

  // string generated = 13 [json_name = "generated"];
  if (!this->_internal_generated().empty()) {
    ::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(
        13, this->_internal_generated(), target);
  }

  // .pg_query.CollateClause coll_clause = 14 [json_name = "collClause"];
  if (this->_internal_has_coll_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(14, _Internal::coll_clause(this),
        _Internal::coll_clause(this).GetCachedSize(), target, stream);
  }

  // uint32 coll_oid = 15 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(15, this->_internal_coll_oid(), target);
  }

  // repeated .pg_query.Node constraints = 16 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(16, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node fdwoptions = 17 [json_name = "fdwoptions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fdwoptions_size()); i < n; i++) {
    const auto& repfield = this->_internal_fdwoptions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(17, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 18 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(18, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node constraints = 16 [json_name = "constraints"];
  total_size += 2UL * this->_internal_constraints_size();
  for (const auto& msg : this->_impl_.constraints_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node fdwoptions = 17 [json_name = "fdwoptions"];
  total_size += 2UL * this->_internal_fdwoptions_size();
  for (const auto& msg : this->_impl_.fdwoptions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string colname = 1 [json_name = "colname"];
  if (!this->_internal_colname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_colname());
  }

  // string compression = 3 [json_name = "compression"];
  if (!this->_internal_compression().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_compression());
  }

  // string storage = 8 [json_name = "storage"];
  if (!this->_internal_storage().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_storage());
  }

  // string identity = 11 [json_name = "identity"];
  if (!this->_internal_identity().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_identity());
  }

  // string generated = 13 [json_name = "generated"];
  if (!this->_internal_generated().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_generated());
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.type_name_);
  }

  // .pg_query.Node raw_default = 9 [json_name = "raw_default"];
  if (this->_internal_has_raw_default()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.raw_default_);
  }

  // .pg_query.Node cooked_default = 10 [json_name = "cooked_default"];
  if (this->_internal_has_cooked_default()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.cooked_default_);
  }

  // .pg_query.RangeVar identity_sequence = 12 [json_name = "identitySequence"];
  if (this->_internal_has_identity_sequence()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.identity_sequence_);
  }

  // .pg_query.CollateClause coll_clause = 14 [json_name = "collClause"];
  if (this->_internal_has_coll_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.coll_clause_);
  }

  // int32 inhcount = 4 [json_name = "inhcount"];
  if (this->_internal_inhcount() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_inhcount());
  }

  // bool is_local = 5 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    total_size += 1 + 1;
  }

  // bool is_not_null = 6 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    total_size += 1 + 1;
  }

  // bool is_from_type = 7 [json_name = "is_from_type"];
  if (this->_internal_is_from_type() != 0) {
    total_size += 1 + 1;
  }

  // uint32 coll_oid = 15 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_coll_oid());
  }

  // int32 location = 18 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::Int32Size(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ColumnDef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ColumnDef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ColumnDef::GetClassData() const { return &_class_data_; }


void ColumnDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ColumnDef*>(&to_msg);
  auto& from = static_cast<const ColumnDef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ColumnDef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.constraints_.MergeFrom(from._impl_.constraints_);
  _this->_impl_.fdwoptions_.MergeFrom(from._impl_.fdwoptions_);
  if (!from._internal_colname().empty()) {
    _this->_internal_set_colname(from._internal_colname());
  }
  if (!from._internal_compression().empty()) {
    _this->_internal_set_compression(from._internal_compression());
  }
  if (!from._internal_storage().empty()) {
    _this->_internal_set_storage(from._internal_storage());
  }
  if (!from._internal_identity().empty()) {
    _this->_internal_set_identity(from._internal_identity());
  }
  if (!from._internal_generated().empty()) {
    _this->_internal_set_generated(from._internal_generated());
  }
  if (from._internal_has_type_name()) {
    _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
        from._internal_type_name());
  }
  if (from._internal_has_raw_default()) {
    _this->_internal_mutable_raw_default()->::pg_query::Node::MergeFrom(
        from._internal_raw_default());
  }
  if (from._internal_has_cooked_default()) {
    _this->_internal_mutable_cooked_default()->::pg_query::Node::MergeFrom(
        from._internal_cooked_default());
  }
  if (from._internal_has_identity_sequence()) {
    _this->_internal_mutable_identity_sequence()->::pg_query::RangeVar::MergeFrom(
        from._internal_identity_sequence());
  }
  if (from._internal_has_coll_clause()) {
    _this->_internal_mutable_coll_clause()->::pg_query::CollateClause::MergeFrom(
        from._internal_coll_clause());
  }
  if (from._internal_inhcount() != 0) {
    _this->_internal_set_inhcount(from._internal_inhcount());
  }
  if (from._internal_is_local() != 0) {
    _this->_internal_set_is_local(from._internal_is_local());
  }
  if (from._internal_is_not_null() != 0) {
    _this->_internal_set_is_not_null(from._internal_is_not_null());
  }
  if (from._internal_is_from_type() != 0) {
    _this->_internal_set_is_from_type(from._internal_is_from_type());
  }
  if (from._internal_coll_oid() != 0) {
    _this->_internal_set_coll_oid(from._internal_coll_oid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
  _impl_.fdwoptions_.InternalSwap(&other->_impl_.fdwoptions_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.colname_, lhs_arena,
      &other->_impl_.colname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.compression_, lhs_arena,
      &other->_impl_.compression_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.storage_, lhs_arena,
      &other->_impl_.storage_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.identity_, lhs_arena,
      &other->_impl_.identity_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.generated_, lhs_arena,
      &other->_impl_.generated_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.location_)
      + sizeof(ColumnDef::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ColumnDef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[202]);
}

// ===================================================================

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->_impl_.expr_;
}
IndexElem::IndexElem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.IndexElem)
}
IndexElem::IndexElem(const IndexElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  IndexElem* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.collation_){from._impl_.collation_}
    , decltype(_impl_.opclass_){from._impl_.opclass_}
    , decltype(_impl_.opclassopts_){from._impl_.opclassopts_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.indexcolname_){}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.ordering_){}
    , decltype(_impl_.nulls_ordering_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.indexcolname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexcolname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_indexcolname().empty()) {
    _this->_impl_.indexcolname_.Set(from._internal_indexcolname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_expr()) {
    _this->_impl_.expr_ = new ::pg_query::Node(*from._impl_.expr_);
  }
  ::memcpy(&_impl_.ordering_, &from._impl_.ordering_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.nulls_ordering_) -
    reinterpret_cast<char*>(&_impl_.ordering_)) + sizeof(_impl_.nulls_ordering_));
  // @@protoc_insertion_point(copy_constructor:pg_query.IndexElem)
}

inline void IndexElem::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.collation_){arena}
    , decltype(_impl_.opclass_){arena}
    , decltype(_impl_.opclassopts_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.indexcolname_){}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.ordering_){0}
    , decltype(_impl_.nulls_ordering_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.indexcolname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexcolname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

IndexElem::~IndexElem() {
  // @@protoc_insertion_point(destructor:pg_query.IndexElem)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void IndexElem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.collation_.~RepeatedPtrField();
  _impl_.opclass_.~RepeatedPtrField();
  _impl_.opclassopts_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  _impl_.indexcolname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.expr_;
}

void IndexElem::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void IndexElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.IndexElem)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collation_.Clear();
  _impl_.opclass_.Clear();
  _impl_.opclassopts_.Clear();
  _impl_.name_.ClearToEmpty();
  _impl_.indexcolname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) {
    delete _impl_.expr_;
  }
  _impl_.expr_ = nullptr;
  ::memset(&_impl_.ordering_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.nulls_ordering_) -
      reinterpret_cast<char*>(&_impl_.ordering_)) + sizeof(_impl_.nulls_ordering_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* IndexElem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IndexElem.name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_indexcolname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.IndexElem.indexcolname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node collation = 4 [json_name = "collation"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          uint64_t 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<uint8_t>(tag) == 64)) {
          uint64_t 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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* IndexElem::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IndexElem)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_has_expr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // string indexcolname = 3 [json_name = "indexcolname"];
  if (!this->_internal_indexcolname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_collation_size()); i < n; i++) {
    const auto& repfield = this->_internal_collation(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclass_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclass(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclassopts_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclassopts(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
  if (this->_internal_ordering() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      7, this->_internal_ordering(), target);
  }

  // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
  if (this->_internal_nulls_ordering() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      8, this->_internal_nulls_ordering(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.opclassopts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // string indexcolname = 3 [json_name = "indexcolname"];
  if (!this->_internal_indexcolname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexcolname());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.expr_);
  }

  // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
  if (this->_internal_ordering() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_ordering());
  }

  // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
  if (this->_internal_nulls_ordering() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_nulls_ordering());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IndexElem::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    IndexElem::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IndexElem::GetClassData() const { return &_class_data_; }


void IndexElem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<IndexElem*>(&to_msg);
  auto& from = static_cast<const IndexElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IndexElem)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.collation_.MergeFrom(from._impl_.collation_);
  _this->_impl_.opclass_.MergeFrom(from._impl_.opclass_);
  _this->_impl_.opclassopts_.MergeFrom(from._impl_.opclassopts_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_indexcolname().empty()) {
    _this->_internal_set_indexcolname(from._internal_indexcolname());
  }
  if (from._internal_has_expr()) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_ordering() != 0) {
    _this->_internal_set_ordering(from._internal_ordering());
  }
  if (from._internal_nulls_ordering() != 0) {
    _this->_internal_set_nulls_ordering(from._internal_nulls_ordering());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.collation_.InternalSwap(&other->_impl_.collation_);
  _impl_.opclass_.InternalSwap(&other->_impl_.opclass_);
  _impl_.opclassopts_.InternalSwap(&other->_impl_.opclassopts_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.indexcolname_, lhs_arena,
      &other->_impl_.indexcolname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.nulls_ordering_)
      + sizeof(IndexElem::_impl_.nulls_ordering_)
      - PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata IndexElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[203]);
}

// ===================================================================

class StatsElem::_Internal {
 public:
  static const ::pg_query::Node& expr(const StatsElem* msg);
};

const ::pg_query::Node&
StatsElem::_Internal::expr(const StatsElem* msg) {
  return *msg->_impl_.expr_;
}
StatsElem::StatsElem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.StatsElem)
}
StatsElem::StatsElem(const StatsElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  StatsElem* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.expr_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_expr()) {
    _this->_impl_.expr_ = new ::pg_query::Node(*from._impl_.expr_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.StatsElem)
}

inline void StatsElem::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.expr_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

StatsElem::~StatsElem() {
  // @@protoc_insertion_point(destructor:pg_query.StatsElem)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void StatsElem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.expr_;
}

void StatsElem::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void StatsElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.StatsElem)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) {
    delete _impl_.expr_;
  }
  _impl_.expr_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* StatsElem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.StatsElem.name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_expr(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* StatsElem::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.StatsElem)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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.StatsElem.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.StatsElem)
  return target;
}

size_t StatsElem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.StatsElem)
  size_t total_size = 0;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.expr_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData StatsElem::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    StatsElem::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*StatsElem::GetClassData() const { return &_class_data_; }


void StatsElem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<StatsElem*>(&to_msg);
  auto& from = static_cast<const StatsElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.StatsElem)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_expr()) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void StatsElem::CopyFrom(const StatsElem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.StatsElem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool StatsElem::IsInitialized() const {
  return true;
}

void StatsElem::InternalSwap(StatsElem* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  swap(_impl_.expr_, other->_impl_.expr_);
}

::PROTOBUF_NAMESPACE_ID::Metadata StatsElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[204]);
}

// ===================================================================

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->_impl_.raw_expr_;
}
const ::pg_query::Node&
Constraint::_Internal::where_clause(const Constraint* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::RangeVar&
Constraint::_Internal::pktable(const Constraint* msg) {
  return *msg->_impl_.pktable_;
}
Constraint::Constraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.Constraint)
}
Constraint::Constraint(const Constraint& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  Constraint* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.keys_){from._impl_.keys_}
    , decltype(_impl_.including_){from._impl_.including_}
    , decltype(_impl_.exclusions_){from._impl_.exclusions_}
    , decltype(_impl_.options_){from._impl_.options_}
    , decltype(_impl_.fk_attrs_){from._impl_.fk_attrs_}
    , decltype(_impl_.pk_attrs_){from._impl_.pk_attrs_}
    , decltype(_impl_.fk_del_set_cols_){from._impl_.fk_del_set_cols_}
    , decltype(_impl_.old_conpfeqop_){from._impl_.old_conpfeqop_}
    , decltype(_impl_.conname_){}
    , decltype(_impl_.cooked_expr_){}
    , decltype(_impl_.generated_when_){}
    , decltype(_impl_.indexname_){}
    , decltype(_impl_.indexspace_){}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.fk_matchtype_){}
    , decltype(_impl_.fk_upd_action_){}
    , decltype(_impl_.fk_del_action_){}
    , decltype(_impl_.raw_expr_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.pktable_){nullptr}
    , decltype(_impl_.contype_){}
    , decltype(_impl_.location_){}
    , decltype(_impl_.deferrable_){}
    , decltype(_impl_.initdeferred_){}
    , decltype(_impl_.is_no_inherit_){}
    , decltype(_impl_.nulls_not_distinct_){}
    , decltype(_impl_.reset_default_tblspc_){}
    , decltype(_impl_.skip_validation_){}
    , decltype(_impl_.initially_valid_){}
    , decltype(_impl_.old_pktable_oid_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.conname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_conname().empty()) {
    _this->_impl_.conname_.Set(from._internal_conname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.cooked_expr_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cooked_expr_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_cooked_expr().empty()) {
    _this->_impl_.cooked_expr_.Set(from._internal_cooked_expr(), 
      _this->GetArenaForAllocation());
  }
  _impl_.generated_when_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.generated_when_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_generated_when().empty()) {
    _this->_impl_.generated_when_.Set(from._internal_generated_when(), 
      _this->GetArenaForAllocation());
  }
  _impl_.indexname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_indexname().empty()) {
    _this->_impl_.indexname_.Set(from._internal_indexname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.indexspace_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexspace_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_indexspace().empty()) {
    _this->_impl_.indexspace_.Set(from._internal_indexspace(), 
      _this->GetArenaForAllocation());
  }
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_access_method().empty()) {
    _this->_impl_.access_method_.Set(from._internal_access_method(), 
      _this->GetArenaForAllocation());
  }
  _impl_.fk_matchtype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fk_matchtype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fk_matchtype().empty()) {
    _this->_impl_.fk_matchtype_.Set(from._internal_fk_matchtype(), 
      _this->GetArenaForAllocation());
  }
  _impl_.fk_upd_action_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fk_upd_action_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fk_upd_action().empty()) {
    _this->_impl_.fk_upd_action_.Set(from._internal_fk_upd_action(), 
      _this->GetArenaForAllocation());
  }
  _impl_.fk_del_action_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fk_del_action_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fk_del_action().empty()) {
    _this->_impl_.fk_del_action_.Set(from._internal_fk_del_action(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_raw_expr()) {
    _this->_impl_.raw_expr_ = new ::pg_query::Node(*from._impl_.raw_expr_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  if (from._internal_has_pktable()) {
    _this->_impl_.pktable_ = new ::pg_query::RangeVar(*from._impl_.pktable_);
  }
  ::memcpy(&_impl_.contype_, &from._impl_.contype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.old_pktable_oid_) -
    reinterpret_cast<char*>(&_impl_.contype_)) + sizeof(_impl_.old_pktable_oid_));
  // @@protoc_insertion_point(copy_constructor:pg_query.Constraint)
}

inline void Constraint::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.keys_){arena}
    , decltype(_impl_.including_){arena}
    , decltype(_impl_.exclusions_){arena}
    , decltype(_impl_.options_){arena}
    , decltype(_impl_.fk_attrs_){arena}
    , decltype(_impl_.pk_attrs_){arena}
    , decltype(_impl_.fk_del_set_cols_){arena}
    , decltype(_impl_.old_conpfeqop_){arena}
    , decltype(_impl_.conname_){}
    , decltype(_impl_.cooked_expr_){}
    , decltype(_impl_.generated_when_){}
    , decltype(_impl_.indexname_){}
    , decltype(_impl_.indexspace_){}
    , decltype(_impl_.access_method_){}
    , decltype(_impl_.fk_matchtype_){}
    , decltype(_impl_.fk_upd_action_){}
    , decltype(_impl_.fk_del_action_){}
    , decltype(_impl_.raw_expr_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.pktable_){nullptr}
    , decltype(_impl_.contype_){0}
    , decltype(_impl_.location_){0}
    , decltype(_impl_.deferrable_){false}
    , decltype(_impl_.initdeferred_){false}
    , decltype(_impl_.is_no_inherit_){false}
    , decltype(_impl_.nulls_not_distinct_){false}
    , decltype(_impl_.reset_default_tblspc_){false}
    , decltype(_impl_.skip_validation_){false}
    , decltype(_impl_.initially_valid_){false}
    , decltype(_impl_.old_pktable_oid_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.conname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.cooked_expr_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cooked_expr_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.generated_when_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.generated_when_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.indexname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.indexspace_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.indexspace_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.access_method_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.access_method_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.fk_matchtype_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fk_matchtype_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.fk_upd_action_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fk_upd_action_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.fk_del_action_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.fk_del_action_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Constraint::~Constraint() {
  // @@protoc_insertion_point(destructor:pg_query.Constraint)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Constraint::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.keys_.~RepeatedPtrField();
  _impl_.including_.~RepeatedPtrField();
  _impl_.exclusions_.~RepeatedPtrField();
  _impl_.options_.~RepeatedPtrField();
  _impl_.fk_attrs_.~RepeatedPtrField();
  _impl_.pk_attrs_.~RepeatedPtrField();
  _impl_.fk_del_set_cols_.~RepeatedPtrField();
  _impl_.old_conpfeqop_.~RepeatedPtrField();
  _impl_.conname_.Destroy();
  _impl_.cooked_expr_.Destroy();
  _impl_.generated_when_.Destroy();
  _impl_.indexname_.Destroy();
  _impl_.indexspace_.Destroy();
  _impl_.access_method_.Destroy();
  _impl_.fk_matchtype_.Destroy();
  _impl_.fk_upd_action_.Destroy();
  _impl_.fk_del_action_.Destroy();
  if (this != internal_default_instance()) delete _impl_.raw_expr_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
  if (this != internal_default_instance()) delete _impl_.pktable_;
}

void Constraint::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void Constraint::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Constraint)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.keys_.Clear();
  _impl_.including_.Clear();
  _impl_.exclusions_.Clear();
  _impl_.options_.Clear();
  _impl_.fk_attrs_.Clear();
  _impl_.pk_attrs_.Clear();
  _impl_.fk_del_set_cols_.Clear();
  _impl_.old_conpfeqop_.Clear();
  _impl_.conname_.ClearToEmpty();
  _impl_.cooked_expr_.ClearToEmpty();
  _impl_.generated_when_.ClearToEmpty();
  _impl_.indexname_.ClearToEmpty();
  _impl_.indexspace_.ClearToEmpty();
  _impl_.access_method_.ClearToEmpty();
  _impl_.fk_matchtype_.ClearToEmpty();
  _impl_.fk_upd_action_.ClearToEmpty();
  _impl_.fk_del_action_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.raw_expr_ != nullptr) {
    delete _impl_.raw_expr_;
  }
  _impl_.raw_expr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.pktable_ != nullptr) {
    delete _impl_.pktable_;
  }
  _impl_.pktable_ = nullptr;
  ::memset(&_impl_.contype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.old_pktable_oid_) -
      reinterpret_cast<char*>(&_impl_.contype_)) + sizeof(_impl_.old_pktable_oid_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Constraint::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.ConstrType contype = 1 [json_name = "contype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_conname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.conname"));
        } else
          goto handle_unusual;
        continue;
      // bool deferrable = 3 [json_name = "deferrable"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(tag) == 48)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 66)) {
          auto str = _internal_mutable_cooked_expr();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.cooked_expr"));
        } else
          goto handle_unusual;
        continue;
      // string generated_when = 9 [json_name = "generated_when"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          auto str = _internal_mutable_generated_when();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.generated_when"));
        } else
          goto handle_unusual;
        continue;
      // bool nulls_not_distinct = 10 [json_name = "nulls_not_distinct"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _impl_.nulls_not_distinct_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node keys = 11 [json_name = "keys"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          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<90>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node including = 12 [json_name = "including"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          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<98>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node exclusions = 13 [json_name = "exclusions"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          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<106>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node options = 14 [json_name = "options"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
          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<114>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string indexname = 15 [json_name = "indexname"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 122)) {
          auto str = _internal_mutable_indexname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.indexname"));
        } else
          goto handle_unusual;
        continue;
      // string indexspace = 16 [json_name = "indexspace"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          auto str = _internal_mutable_indexspace();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.indexspace"));
        } else
          goto handle_unusual;
        continue;
      // bool reset_default_tblspc = 17 [json_name = "reset_default_tblspc"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 136)) {
          _impl_.reset_default_tblspc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string access_method = 18 [json_name = "access_method"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 146)) {
          auto str = _internal_mutable_access_method();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.access_method"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 19 [json_name = "where_clause"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.RangeVar pktable = 20 [json_name = "pktable"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_pktable(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node fk_attrs = 21 [json_name = "fk_attrs"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
          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<170>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node pk_attrs = 22 [json_name = "pk_attrs"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 178)) {
          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<178>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string fk_matchtype = 23 [json_name = "fk_matchtype"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
          auto str = _internal_mutable_fk_matchtype();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.fk_matchtype"));
        } else
          goto handle_unusual;
        continue;
      // string fk_upd_action = 24 [json_name = "fk_upd_action"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 194)) {
          auto str = _internal_mutable_fk_upd_action();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.fk_upd_action"));
        } else
          goto handle_unusual;
        continue;
      // string fk_del_action = 25 [json_name = "fk_del_action"];
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 202)) {
          auto str = _internal_mutable_fk_del_action();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.Constraint.fk_del_action"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node fk_del_set_cols = 26 [json_name = "fk_del_set_cols"];
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 210)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_fk_del_set_cols(), 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 old_conpfeqop = 27 [json_name = "old_conpfeqop"];
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 218)) {
          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<218>(ptr));
        } else
          goto handle_unusual;
        continue;
      // uint32 old_pktable_oid = 28 [json_name = "old_pktable_oid"];
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 224)) {
          _impl_.old_pktable_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool skip_validation = 29 [json_name = "skip_validation"];
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 232)) {
          _impl_.skip_validation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool initially_valid = 30 [json_name = "initially_valid"];
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 240)) {
          _impl_.initially_valid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* Constraint::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Constraint)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.ConstrType contype = 1 [json_name = "contype"];
  if (this->_internal_contype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_contype(), target);
  }

  // string conname = 2 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    ::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->_internal_deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 4 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_initdeferred(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  // bool is_no_inherit = 6 [json_name = "is_no_inherit"];
  if (this->_internal_is_no_inherit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_is_no_inherit(), target);
  }

  // .pg_query.Node raw_expr = 7 [json_name = "raw_expr"];
  if (this->_internal_has_raw_expr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::raw_expr(this),
        _Internal::raw_expr(this).GetCachedSize(), target, stream);
  }

  // string cooked_expr = 8 [json_name = "cooked_expr"];
  if (!this->_internal_cooked_expr().empty()) {
    ::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->_internal_generated_when().empty()) {
    ::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);
  }

  // bool nulls_not_distinct = 10 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(10, this->_internal_nulls_not_distinct(), target);
  }

  // repeated .pg_query.Node keys = 11 [json_name = "keys"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_keys_size()); i < n; i++) {
    const auto& repfield = this->_internal_keys(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node including = 12 [json_name = "including"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_including_size()); i < n; i++) {
    const auto& repfield = this->_internal_including(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node exclusions = 13 [json_name = "exclusions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exclusions_size()); i < n; i++) {
    const auto& repfield = this->_internal_exclusions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 14 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(14, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string indexname = 15 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    ::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(
        15, this->_internal_indexname(), target);
  }

  // string indexspace = 16 [json_name = "indexspace"];
  if (!this->_internal_indexspace().empty()) {
    ::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(
        16, this->_internal_indexspace(), target);
  }

  // bool reset_default_tblspc = 17 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(17, this->_internal_reset_default_tblspc(), target);
  }

  // string access_method = 18 [json_name = "access_method"];
  if (!this->_internal_access_method().empty()) {
    ::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(
        18, this->_internal_access_method(), target);
  }

  // .pg_query.Node where_clause = 19 [json_name = "where_clause"];
  if (this->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(19, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.RangeVar pktable = 20 [json_name = "pktable"];
  if (this->_internal_has_pktable()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(20, _Internal::pktable(this),
        _Internal::pktable(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node fk_attrs = 21 [json_name = "fk_attrs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fk_attrs_size()); i < n; i++) {
    const auto& repfield = this->_internal_fk_attrs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(21, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node pk_attrs = 22 [json_name = "pk_attrs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_pk_attrs_size()); i < n; i++) {
    const auto& repfield = this->_internal_pk_attrs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(22, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string fk_matchtype = 23 [json_name = "fk_matchtype"];
  if (!this->_internal_fk_matchtype().empty()) {
    ::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(
        23, this->_internal_fk_matchtype(), target);
  }

  // string fk_upd_action = 24 [json_name = "fk_upd_action"];
  if (!this->_internal_fk_upd_action().empty()) {
    ::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(
        24, this->_internal_fk_upd_action(), target);
  }

  // string fk_del_action = 25 [json_name = "fk_del_action"];
  if (!this->_internal_fk_del_action().empty()) {
    ::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(
        25, this->_internal_fk_del_action(), target);
  }

  // repeated .pg_query.Node fk_del_set_cols = 26 [json_name = "fk_del_set_cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fk_del_set_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_fk_del_set_cols(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(26, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node old_conpfeqop = 27 [json_name = "old_conpfeqop"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_old_conpfeqop_size()); i < n; i++) {
    const auto& repfield = this->_internal_old_conpfeqop(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(27, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 old_pktable_oid = 28 [json_name = "old_pktable_oid"];
  if (this->_internal_old_pktable_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(28, this->_internal_old_pktable_oid(), target);
  }

  // bool skip_validation = 29 [json_name = "skip_validation"];
  if (this->_internal_skip_validation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(29, this->_internal_skip_validation(), target);
  }

  // bool initially_valid = 30 [json_name = "initially_valid"];
  if (this->_internal_initially_valid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(30, this->_internal_initially_valid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node keys = 11 [json_name = "keys"];
  total_size += 1UL * this->_internal_keys_size();
  for (const auto& msg : this->_impl_.keys_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node including = 12 [json_name = "including"];
  total_size += 1UL * this->_internal_including_size();
  for (const auto& msg : this->_impl_.including_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node exclusions = 13 [json_name = "exclusions"];
  total_size += 1UL * this->_internal_exclusions_size();
  for (const auto& msg : this->_impl_.exclusions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node options = 14 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_impl_.options_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node fk_attrs = 21 [json_name = "fk_attrs"];
  total_size += 2UL * this->_internal_fk_attrs_size();
  for (const auto& msg : this->_impl_.fk_attrs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node pk_attrs = 22 [json_name = "pk_attrs"];
  total_size += 2UL * this->_internal_pk_attrs_size();
  for (const auto& msg : this->_impl_.pk_attrs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node fk_del_set_cols = 26 [json_name = "fk_del_set_cols"];
  total_size += 2UL * this->_internal_fk_del_set_cols_size();
  for (const auto& msg : this->_impl_.fk_del_set_cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node old_conpfeqop = 27 [json_name = "old_conpfeqop"];
  total_size += 2UL * this->_internal_old_conpfeqop_size();
  for (const auto& msg : this->_impl_.old_conpfeqop_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string conname = 2 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conname());
  }

  // string cooked_expr = 8 [json_name = "cooked_expr"];
  if (!this->_internal_cooked_expr().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cooked_expr());
  }

  // string generated_when = 9 [json_name = "generated_when"];
  if (!this->_internal_generated_when().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_generated_when());
  }

  // string indexname = 15 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexname());
  }

  // string indexspace = 16 [json_name = "indexspace"];
  if (!this->_internal_indexspace().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_indexspace());
  }

  // string access_method = 18 [json_name = "access_method"];
  if (!this->_internal_access_method().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_access_method());
  }

  // string fk_matchtype = 23 [json_name = "fk_matchtype"];
  if (!this->_internal_fk_matchtype().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fk_matchtype());
  }

  // string fk_upd_action = 24 [json_name = "fk_upd_action"];
  if (!this->_internal_fk_upd_action().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_fk_upd_action());
  }

  // string fk_del_action = 25 [json_name = "fk_del_action"];
  if (!this->_internal_fk_del_action().empty()) {
    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->_internal_has_raw_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.raw_expr_);
  }

  // .pg_query.Node where_clause = 19 [json_name = "where_clause"];
  if (this->_internal_has_where_clause()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // .pg_query.RangeVar pktable = 20 [json_name = "pktable"];
  if (this->_internal_has_pktable()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.pktable_);
  }

  // .pg_query.ConstrType contype = 1 [json_name = "contype"];
  if (this->_internal_contype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_contype());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  // bool deferrable = 3 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    total_size += 1 + 1;
  }

  // bool initdeferred = 4 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    total_size += 1 + 1;
  }

  // bool is_no_inherit = 6 [json_name = "is_no_inherit"];
  if (this->_internal_is_no_inherit() != 0) {
    total_size += 1 + 1;
  }

  // bool nulls_not_distinct = 10 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    total_size += 1 + 1;
  }

  // bool reset_default_tblspc = 17 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    total_size += 2 + 1;
  }

  // bool skip_validation = 29 [json_name = "skip_validation"];
  if (this->_internal_skip_validation() != 0) {
    total_size += 2 + 1;
  }

  // bool initially_valid = 30 [json_name = "initially_valid"];
  if (this->_internal_initially_valid() != 0) {
    total_size += 2 + 1;
  }

  // uint32 old_pktable_oid = 28 [json_name = "old_pktable_oid"];
  if (this->_internal_old_pktable_oid() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::UInt32Size(
        this->_internal_old_pktable_oid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Constraint::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    Constraint::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Constraint::GetClassData() const { return &_class_data_; }


void Constraint::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<Constraint*>(&to_msg);
  auto& from = static_cast<const Constraint&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Constraint)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.keys_.MergeFrom(from._impl_.keys_);
  _this->_impl_.including_.MergeFrom(from._impl_.including_);
  _this->_impl_.exclusions_.MergeFrom(from._impl_.exclusions_);
  _this->_impl_.options_.MergeFrom(from._impl_.options_);
  _this->_impl_.fk_attrs_.MergeFrom(from._impl_.fk_attrs_);
  _this->_impl_.pk_attrs_.MergeFrom(from._impl_.pk_attrs_);
  _this->_impl_.fk_del_set_cols_.MergeFrom(from._impl_.fk_del_set_cols_);
  _this->_impl_.old_conpfeqop_.MergeFrom(from._impl_.old_conpfeqop_);
  if (!from._internal_conname().empty()) {
    _this->_internal_set_conname(from._internal_conname());
  }
  if (!from._internal_cooked_expr().empty()) {
    _this->_internal_set_cooked_expr(from._internal_cooked_expr());
  }
  if (!from._internal_generated_when().empty()) {
    _this->_internal_set_generated_when(from._internal_generated_when());
  }
  if (!from._internal_indexname().empty()) {
    _this->_internal_set_indexname(from._internal_indexname());
  }
  if (!from._internal_indexspace().empty()) {
    _this->_internal_set_indexspace(from._internal_indexspace());
  }
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  if (!from._internal_fk_matchtype().empty()) {
    _this->_internal_set_fk_matchtype(from._internal_fk_matchtype());
  }
  if (!from._internal_fk_upd_action().empty()) {
    _this->_internal_set_fk_upd_action(from._internal_fk_upd_action());
  }
  if (!from._internal_fk_del_action().empty()) {
    _this->_internal_set_fk_del_action(from._internal_fk_del_action());
  }
  if (from._internal_has_raw_expr()) {
    _this->_internal_mutable_raw_expr()->::pg_query::Node::MergeFrom(
        from._internal_raw_expr());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_has_pktable()) {
    _this->_internal_mutable_pktable()->::pg_query::RangeVar::MergeFrom(
        from._internal_pktable());
  }
  if (from._internal_contype() != 0) {
    _this->_internal_set_contype(from._internal_contype());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  if (from._internal_deferrable() != 0) {
    _this->_internal_set_deferrable(from._internal_deferrable());
  }
  if (from._internal_initdeferred() != 0) {
    _this->_internal_set_initdeferred(from._internal_initdeferred());
  }
  if (from._internal_is_no_inherit() != 0) {
    _this->_internal_set_is_no_inherit(from._internal_is_no_inherit());
  }
  if (from._internal_nulls_not_distinct() != 0) {
    _this->_internal_set_nulls_not_distinct(from._internal_nulls_not_distinct());
  }
  if (from._internal_reset_default_tblspc() != 0) {
    _this->_internal_set_reset_default_tblspc(from._internal_reset_default_tblspc());
  }
  if (from._internal_skip_validation() != 0) {
    _this->_internal_set_skip_validation(from._internal_skip_validation());
  }
  if (from._internal_initially_valid() != 0) {
    _this->_internal_set_initially_valid(from._internal_initially_valid());
  }
  if (from._internal_old_pktable_oid() != 0) {
    _this->_internal_set_old_pktable_oid(from._internal_old_pktable_oid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.keys_.InternalSwap(&other->_impl_.keys_);
  _impl_.including_.InternalSwap(&other->_impl_.including_);
  _impl_.exclusions_.InternalSwap(&other->_impl_.exclusions_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.fk_attrs_.InternalSwap(&other->_impl_.fk_attrs_);
  _impl_.pk_attrs_.InternalSwap(&other->_impl_.pk_attrs_);
  _impl_.fk_del_set_cols_.InternalSwap(&other->_impl_.fk_del_set_cols_);
  _impl_.old_conpfeqop_.InternalSwap(&other->_impl_.old_conpfeqop_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.conname_, lhs_arena,
      &other->_impl_.conname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.cooked_expr_, lhs_arena,
      &other->_impl_.cooked_expr_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.generated_when_, lhs_arena,
      &other->_impl_.generated_when_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.indexname_, lhs_arena,
      &other->_impl_.indexname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.indexspace_, lhs_arena,
      &other->_impl_.indexspace_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.access_method_, lhs_arena,
      &other->_impl_.access_method_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.fk_matchtype_, lhs_arena,
      &other->_impl_.fk_matchtype_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.fk_upd_action_, lhs_arena,
      &other->_impl_.fk_upd_action_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.fk_del_action_, lhs_arena,
      &other->_impl_.fk_del_action_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Constraint, _impl_.old_pktable_oid_)
      + sizeof(Constraint::_impl_.old_pktable_oid_)
      - PROTOBUF_FIELD_OFFSET(Constraint, _impl_.raw_expr_)>(
          reinterpret_cast<char*>(&_impl_.raw_expr_),
          reinterpret_cast<char*>(&other->_impl_.raw_expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Constraint::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[205]);
}

// ===================================================================

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->_impl_.arg_;
}
DefElem::DefElem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.DefElem)
}
DefElem::DefElem(const DefElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  DefElem* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.defnamespace_){}
    , decltype(_impl_.defname_){}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.defaction_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.defnamespace_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.defnamespace_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_defnamespace().empty()) {
    _this->_impl_.defnamespace_.Set(from._internal_defnamespace(), 
      _this->GetArenaForAllocation());
  }
  _impl_.defname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.defname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_defname().empty()) {
    _this->_impl_.defname_.Set(from._internal_defname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_arg()) {
    _this->_impl_.arg_ = new ::pg_query::Node(*from._impl_.arg_);
  }
  ::memcpy(&_impl_.defaction_, &from._impl_.defaction_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.defaction_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.DefElem)
}

inline void DefElem::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.defnamespace_){}
    , decltype(_impl_.defname_){}
    , decltype(_impl_.arg_){nullptr}
    , decltype(_impl_.defaction_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.defnamespace_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.defnamespace_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.defname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.defname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DefElem::~DefElem() {
  // @@protoc_insertion_point(destructor:pg_query.DefElem)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DefElem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.defnamespace_.Destroy();
  _impl_.defname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.arg_;
}

void DefElem::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void DefElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DefElem)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.defnamespace_.ClearToEmpty();
  _impl_.defname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) {
    delete _impl_.arg_;
  }
  _impl_.arg_ = nullptr;
  ::memset(&_impl_.defaction_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.defaction_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DefElem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string defnamespace = 1 [json_name = "defnamespace"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_defnamespace();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DefElem.defnamespace"));
        } else
          goto handle_unusual;
        continue;
      // string defname = 2 [json_name = "defname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_defname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.DefElem.defname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node arg = 3 [json_name = "arg"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 32)) {
          uint64_t 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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* DefElem::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DefElem)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string defnamespace = 1 [json_name = "defnamespace"];
  if (!this->_internal_defnamespace().empty()) {
    ::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->_internal_defname().empty()) {
    ::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->_internal_has_arg()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
  if (this->_internal_defaction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      4, this->_internal_defaction(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_defnamespace().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_defnamespace());
  }

  // string defname = 2 [json_name = "defname"];
  if (!this->_internal_defname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_defname());
  }

  // .pg_query.Node arg = 3 [json_name = "arg"];
  if (this->_internal_has_arg()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_);
  }

  // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
  if (this->_internal_defaction() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_defaction());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DefElem::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    DefElem::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DefElem::GetClassData() const { return &_class_data_; }


void DefElem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<DefElem*>(&to_msg);
  auto& from = static_cast<const DefElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DefElem)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_defnamespace().empty()) {
    _this->_internal_set_defnamespace(from._internal_defnamespace());
  }
  if (!from._internal_defname().empty()) {
    _this->_internal_set_defname(from._internal_defname());
  }
  if (from._internal_has_arg()) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_defaction() != 0) {
    _this->_internal_set_defaction(from._internal_defaction());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.defnamespace_, lhs_arena,
      &other->_impl_.defnamespace_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.defname_, lhs_arena,
      &other->_impl_.defname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DefElem, _impl_.location_)
      + sizeof(DefElem::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(DefElem, _impl_.arg_)>(
          reinterpret_cast<char*>(&_impl_.arg_),
          reinterpret_cast<char*>(&other->_impl_.arg_));
}

::PROTOBUF_NAMESPACE_ID::Metadata DefElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[206]);
}

// ===================================================================

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::Alias& join_using_alias(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->_impl_.tablesample_;
}
const ::pg_query::Query&
RangeTblEntry::_Internal::subquery(const RangeTblEntry* msg) {
  return *msg->_impl_.subquery_;
}
const ::pg_query::Alias&
RangeTblEntry::_Internal::join_using_alias(const RangeTblEntry* msg) {
  return *msg->_impl_.join_using_alias_;
}
const ::pg_query::TableFunc&
RangeTblEntry::_Internal::tablefunc(const RangeTblEntry* msg) {
  return *msg->_impl_.tablefunc_;
}
const ::pg_query::Alias&
RangeTblEntry::_Internal::alias(const RangeTblEntry* msg) {
  return *msg->_impl_.alias_;
}
const ::pg_query::Alias&
RangeTblEntry::_Internal::eref(const RangeTblEntry* msg) {
  return *msg->_impl_.eref_;
}
RangeTblEntry::RangeTblEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblEntry)
}
RangeTblEntry::RangeTblEntry(const RangeTblEntry& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeTblEntry* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.joinaliasvars_){from._impl_.joinaliasvars_}
    , decltype(_impl_.joinleftcols_){from._impl_.joinleftcols_}
    , decltype(_impl_.joinrightcols_){from._impl_.joinrightcols_}
    , decltype(_impl_.functions_){from._impl_.functions_}
    , decltype(_impl_.values_lists_){from._impl_.values_lists_}
    , decltype(_impl_.coltypes_){from._impl_.coltypes_}
    , decltype(_impl_.coltypmods_){from._impl_.coltypmods_}
    , decltype(_impl_.colcollations_){from._impl_.colcollations_}
    , decltype(_impl_.selected_cols_){from._impl_.selected_cols_}
    , /*decltype(_impl_._selected_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.inserted_cols_){from._impl_.inserted_cols_}
    , /*decltype(_impl_._inserted_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.updated_cols_){from._impl_.updated_cols_}
    , /*decltype(_impl_._updated_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.extra_updated_cols_){from._impl_.extra_updated_cols_}
    , /*decltype(_impl_._extra_updated_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.security_quals_){from._impl_.security_quals_}
    , decltype(_impl_.relkind_){}
    , decltype(_impl_.ctename_){}
    , decltype(_impl_.enrname_){}
    , decltype(_impl_.tablesample_){nullptr}
    , decltype(_impl_.subquery_){nullptr}
    , decltype(_impl_.join_using_alias_){nullptr}
    , decltype(_impl_.tablefunc_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.eref_){nullptr}
    , decltype(_impl_.rtekind_){}
    , decltype(_impl_.relid_){}
    , decltype(_impl_.rellockmode_){}
    , decltype(_impl_.jointype_){}
    , decltype(_impl_.joinmergedcols_){}
    , decltype(_impl_.security_barrier_){}
    , decltype(_impl_.funcordinality_){}
    , decltype(_impl_.self_reference_){}
    , decltype(_impl_.lateral_){}
    , decltype(_impl_.enrtuples_){}
    , decltype(_impl_.ctelevelsup_){}
    , decltype(_impl_.inh_){}
    , decltype(_impl_.in_from_cl_){}
    , decltype(_impl_.required_perms_){}
    , decltype(_impl_.check_as_user_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.relkind_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relkind_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_relkind().empty()) {
    _this->_impl_.relkind_.Set(from._internal_relkind(), 
      _this->GetArenaForAllocation());
  }
  _impl_.ctename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.ctename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_ctename().empty()) {
    _this->_impl_.ctename_.Set(from._internal_ctename(), 
      _this->GetArenaForAllocation());
  }
  _impl_.enrname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.enrname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_enrname().empty()) {
    _this->_impl_.enrname_.Set(from._internal_enrname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_tablesample()) {
    _this->_impl_.tablesample_ = new ::pg_query::TableSampleClause(*from._impl_.tablesample_);
  }
  if (from._internal_has_subquery()) {
    _this->_impl_.subquery_ = new ::pg_query::Query(*from._impl_.subquery_);
  }
  if (from._internal_has_join_using_alias()) {
    _this->_impl_.join_using_alias_ = new ::pg_query::Alias(*from._impl_.join_using_alias_);
  }
  if (from._internal_has_tablefunc()) {
    _this->_impl_.tablefunc_ = new ::pg_query::TableFunc(*from._impl_.tablefunc_);
  }
  if (from._internal_has_alias()) {
    _this->_impl_.alias_ = new ::pg_query::Alias(*from._impl_.alias_);
  }
  if (from._internal_has_eref()) {
    _this->_impl_.eref_ = new ::pg_query::Alias(*from._impl_.eref_);
  }
  ::memcpy(&_impl_.rtekind_, &from._impl_.rtekind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.check_as_user_) -
    reinterpret_cast<char*>(&_impl_.rtekind_)) + sizeof(_impl_.check_as_user_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblEntry)
}

inline void RangeTblEntry::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.joinaliasvars_){arena}
    , decltype(_impl_.joinleftcols_){arena}
    , decltype(_impl_.joinrightcols_){arena}
    , decltype(_impl_.functions_){arena}
    , decltype(_impl_.values_lists_){arena}
    , decltype(_impl_.coltypes_){arena}
    , decltype(_impl_.coltypmods_){arena}
    , decltype(_impl_.colcollations_){arena}
    , decltype(_impl_.selected_cols_){arena}
    , /*decltype(_impl_._selected_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.inserted_cols_){arena}
    , /*decltype(_impl_._inserted_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.updated_cols_){arena}
    , /*decltype(_impl_._updated_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.extra_updated_cols_){arena}
    , /*decltype(_impl_._extra_updated_cols_cached_byte_size_)*/{0}
    , decltype(_impl_.security_quals_){arena}
    , decltype(_impl_.relkind_){}
    , decltype(_impl_.ctename_){}
    , decltype(_impl_.enrname_){}
    , decltype(_impl_.tablesample_){nullptr}
    , decltype(_impl_.subquery_){nullptr}
    , decltype(_impl_.join_using_alias_){nullptr}
    , decltype(_impl_.tablefunc_){nullptr}
    , decltype(_impl_.alias_){nullptr}
    , decltype(_impl_.eref_){nullptr}
    , decltype(_impl_.rtekind_){0}
    , decltype(_impl_.relid_){0u}
    , decltype(_impl_.rellockmode_){0}
    , decltype(_impl_.jointype_){0}
    , decltype(_impl_.joinmergedcols_){0}
    , decltype(_impl_.security_barrier_){false}
    , decltype(_impl_.funcordinality_){false}
    , decltype(_impl_.self_reference_){false}
    , decltype(_impl_.lateral_){false}
    , decltype(_impl_.enrtuples_){0}
    , decltype(_impl_.ctelevelsup_){0u}
    , decltype(_impl_.inh_){false}
    , decltype(_impl_.in_from_cl_){false}
    , decltype(_impl_.required_perms_){0u}
    , decltype(_impl_.check_as_user_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.relkind_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relkind_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.ctename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.ctename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.enrname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.enrname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

RangeTblEntry::~RangeTblEntry() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblEntry)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeTblEntry::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.joinaliasvars_.~RepeatedPtrField();
  _impl_.joinleftcols_.~RepeatedPtrField();
  _impl_.joinrightcols_.~RepeatedPtrField();
  _impl_.functions_.~RepeatedPtrField();
  _impl_.values_lists_.~RepeatedPtrField();
  _impl_.coltypes_.~RepeatedPtrField();
  _impl_.coltypmods_.~RepeatedPtrField();
  _impl_.colcollations_.~RepeatedPtrField();
  _impl_.selected_cols_.~RepeatedField();
  _impl_.inserted_cols_.~RepeatedField();
  _impl_.updated_cols_.~RepeatedField();
  _impl_.extra_updated_cols_.~RepeatedField();
  _impl_.security_quals_.~RepeatedPtrField();
  _impl_.relkind_.Destroy();
  _impl_.ctename_.Destroy();
  _impl_.enrname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.tablesample_;
  if (this != internal_default_instance()) delete _impl_.subquery_;
  if (this != internal_default_instance()) delete _impl_.join_using_alias_;
  if (this != internal_default_instance()) delete _impl_.tablefunc_;
  if (this != internal_default_instance()) delete _impl_.alias_;
  if (this != internal_default_instance()) delete _impl_.eref_;
}

void RangeTblEntry::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RangeTblEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTblEntry)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.joinaliasvars_.Clear();
  _impl_.joinleftcols_.Clear();
  _impl_.joinrightcols_.Clear();
  _impl_.functions_.Clear();
  _impl_.values_lists_.Clear();
  _impl_.coltypes_.Clear();
  _impl_.coltypmods_.Clear();
  _impl_.colcollations_.Clear();
  _impl_.selected_cols_.Clear();
  _impl_.inserted_cols_.Clear();
  _impl_.updated_cols_.Clear();
  _impl_.extra_updated_cols_.Clear();
  _impl_.security_quals_.Clear();
  _impl_.relkind_.ClearToEmpty();
  _impl_.ctename_.ClearToEmpty();
  _impl_.enrname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.tablesample_ != nullptr) {
    delete _impl_.tablesample_;
  }
  _impl_.tablesample_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.subquery_ != nullptr) {
    delete _impl_.subquery_;
  }
  _impl_.subquery_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.join_using_alias_ != nullptr) {
    delete _impl_.join_using_alias_;
  }
  _impl_.join_using_alias_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.tablefunc_ != nullptr) {
    delete _impl_.tablefunc_;
  }
  _impl_.tablefunc_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) {
    delete _impl_.alias_;
  }
  _impl_.alias_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.eref_ != nullptr) {
    delete _impl_.eref_;
  }
  _impl_.eref_ = nullptr;
  ::memset(&_impl_.rtekind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.check_as_user_) -
      reinterpret_cast<char*>(&_impl_.rtekind_)) + sizeof(_impl_.check_as_user_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTblEntry::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_relkind();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeTblEntry.relkind"));
        } else
          goto handle_unusual;
        continue;
      // int32 rellockmode = 4 [json_name = "rellockmode"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.rellockmode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 56)) {
          _impl_.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<uint8_t>(tag) == 64)) {
          uint64_t 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<uint8_t>(tag) == 72)) {
          _impl_.joinmergedcols_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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<uint8_t>(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<uint8_t>(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;
      // .pg_query.Alias join_using_alias = 13 [json_name = "join_using_alias"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          ptr = ctx->ParseMessage(_internal_mutable_join_using_alias(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node functions = 14 [json_name = "functions"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
          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<114>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool funcordinality = 15 [json_name = "funcordinality"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          _impl_.funcordinality_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.TableFunc tablefunc = 16 [json_name = "tablefunc"];
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          ptr = ctx->ParseMessage(_internal_mutable_tablefunc(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node values_lists = 17 [json_name = "values_lists"];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
          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<138>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string ctename = 18 [json_name = "ctename"];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 146)) {
          auto str = _internal_mutable_ctename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeTblEntry.ctename"));
        } else
          goto handle_unusual;
        continue;
      // uint32 ctelevelsup = 19 [json_name = "ctelevelsup"];
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 152)) {
          _impl_.ctelevelsup_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool self_reference = 20 [json_name = "self_reference"];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 160)) {
          _impl_.self_reference_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node coltypes = 21 [json_name = "coltypes"];
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
          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<170>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node coltypmods = 22 [json_name = "coltypmods"];
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 178)) {
          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<178>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node colcollations = 23 [json_name = "colcollations"];
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
          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<186>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string enrname = 24 [json_name = "enrname"];
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 194)) {
          auto str = _internal_mutable_enrname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RangeTblEntry.enrname"));
        } else
          goto handle_unusual;
        continue;
      // double enrtuples = 25 [json_name = "enrtuples"];
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 201)) {
          _impl_.enrtuples_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Alias alias = 26 [json_name = "alias"];
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 210)) {
          ptr = ctx->ParseMessage(_internal_mutable_alias(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Alias eref = 27 [json_name = "eref"];
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 218)) {
          ptr = ctx->ParseMessage(_internal_mutable_eref(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool lateral = 28 [json_name = "lateral"];
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 224)) {
          _impl_.lateral_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool inh = 29 [json_name = "inh"];
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 232)) {
          _impl_.inh_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool in_from_cl = 30 [json_name = "inFromCl"];
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 240)) {
          _impl_.in_from_cl_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 required_perms = 31 [json_name = "requiredPerms"];
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 248)) {
          _impl_.required_perms_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 check_as_user = 32 [json_name = "checkAsUser"];
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 0)) {
          _impl_.check_as_user_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint64 selected_cols = 33 [json_name = "selectedCols"];
      case 33:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_selected_cols(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 8) {
          _internal_add_selected_cols(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint64 inserted_cols = 34 [json_name = "insertedCols"];
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_inserted_cols(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 16) {
          _internal_add_inserted_cols(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint64 updated_cols = 35 [json_name = "updatedCols"];
      case 35:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_updated_cols(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 24) {
          _internal_add_updated_cols(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint64 extra_updated_cols = 36 [json_name = "extraUpdatedCols"];
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_extra_updated_cols(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 32) {
          _internal_add_extra_updated_cols(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node security_quals = 37 [json_name = "securityQuals"];
      case 37:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          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<298>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RangeTblEntry::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblEntry)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"];
  if (this->_internal_rtekind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_rtekind(), target);
  }

  // uint32 relid = 2 [json_name = "relid"];
  if (this->_internal_relid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_relid(), target);
  }

  // string relkind = 3 [json_name = "relkind"];
  if (!this->_internal_relkind().empty()) {
    ::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->_internal_rellockmode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_rellockmode(), target);
  }

  // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"];
  if (this->_internal_has_tablesample()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::tablesample(this),
        _Internal::tablesample(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Query subquery = 6 [json_name = "subquery"];
  if (this->_internal_has_subquery()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::subquery(this),
        _Internal::subquery(this).GetCachedSize(), target, stream);
  }

  // bool security_barrier = 7 [json_name = "security_barrier"];
  if (this->_internal_security_barrier() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_security_barrier(), target);
  }

  // .pg_query.JoinType jointype = 8 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      8, this->_internal_jointype(), target);
  }

  // int32 joinmergedcols = 9 [json_name = "joinmergedcols"];
  if (this->_internal_joinmergedcols() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_joinmergedcols(), target);
  }

  // repeated .pg_query.Node joinaliasvars = 10 [json_name = "joinaliasvars"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_joinaliasvars_size()); i < n; i++) {
    const auto& repfield = this->_internal_joinaliasvars(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node joinleftcols = 11 [json_name = "joinleftcols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_joinleftcols_size()); i < n; i++) {
    const auto& repfield = this->_internal_joinleftcols(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node joinrightcols = 12 [json_name = "joinrightcols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_joinrightcols_size()); i < n; i++) {
    const auto& repfield = this->_internal_joinrightcols(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Alias join_using_alias = 13 [json_name = "join_using_alias"];
  if (this->_internal_has_join_using_alias()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(13, _Internal::join_using_alias(this),
        _Internal::join_using_alias(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node functions = 14 [json_name = "functions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_functions_size()); i < n; i++) {
    const auto& repfield = this->_internal_functions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(14, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool funcordinality = 15 [json_name = "funcordinality"];
  if (this->_internal_funcordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(15, this->_internal_funcordinality(), target);
  }

  // .pg_query.TableFunc tablefunc = 16 [json_name = "tablefunc"];
  if (this->_internal_has_tablefunc()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(16, _Internal::tablefunc(this),
        _Internal::tablefunc(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node values_lists = 17 [json_name = "values_lists"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_values_lists_size()); i < n; i++) {
    const auto& repfield = this->_internal_values_lists(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(17, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string ctename = 18 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    ::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(
        18, this->_internal_ctename(), target);
  }

  // uint32 ctelevelsup = 19 [json_name = "ctelevelsup"];
  if (this->_internal_ctelevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(19, this->_internal_ctelevelsup(), target);
  }

  // bool self_reference = 20 [json_name = "self_reference"];
  if (this->_internal_self_reference() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(20, this->_internal_self_reference(), target);
  }

  // repeated .pg_query.Node coltypes = 21 [json_name = "coltypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coltypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_coltypes(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(21, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coltypmods = 22 [json_name = "coltypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coltypmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_coltypmods(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(22, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node colcollations = 23 [json_name = "colcollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colcollations_size()); i < n; i++) {
    const auto& repfield = this->_internal_colcollations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(23, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string enrname = 24 [json_name = "enrname"];
  if (!this->_internal_enrname().empty()) {
    ::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(
        24, this->_internal_enrname(), target);
  }

  // double enrtuples = 25 [json_name = "enrtuples"];
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_enrtuples = this->_internal_enrtuples();
  uint64_t raw_enrtuples;
  memcpy(&raw_enrtuples, &tmp_enrtuples, sizeof(tmp_enrtuples));
  if (raw_enrtuples != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(25, this->_internal_enrtuples(), target);
  }

  // .pg_query.Alias alias = 26 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(26, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Alias eref = 27 [json_name = "eref"];
  if (this->_internal_has_eref()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(27, _Internal::eref(this),
        _Internal::eref(this).GetCachedSize(), target, stream);
  }

  // bool lateral = 28 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(28, this->_internal_lateral(), target);
  }

  // bool inh = 29 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(29, this->_internal_inh(), target);
  }

  // bool in_from_cl = 30 [json_name = "inFromCl"];
  if (this->_internal_in_from_cl() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(30, this->_internal_in_from_cl(), target);
  }

  // uint32 required_perms = 31 [json_name = "requiredPerms"];
  if (this->_internal_required_perms() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(31, this->_internal_required_perms(), target);
  }

  // uint32 check_as_user = 32 [json_name = "checkAsUser"];
  if (this->_internal_check_as_user() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(32, this->_internal_check_as_user(), target);
  }

  // repeated uint64 selected_cols = 33 [json_name = "selectedCols"];
  {
    int byte_size = _impl_._selected_cols_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          33, _internal_selected_cols(), byte_size, target);
    }
  }

  // repeated uint64 inserted_cols = 34 [json_name = "insertedCols"];
  {
    int byte_size = _impl_._inserted_cols_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          34, _internal_inserted_cols(), byte_size, target);
    }
  }

  // repeated uint64 updated_cols = 35 [json_name = "updatedCols"];
  {
    int byte_size = _impl_._updated_cols_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          35, _internal_updated_cols(), byte_size, target);
    }
  }

  // repeated uint64 extra_updated_cols = 36 [json_name = "extraUpdatedCols"];
  {
    int byte_size = _impl_._extra_updated_cols_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          36, _internal_extra_updated_cols(), byte_size, target);
    }
  }

  // repeated .pg_query.Node security_quals = 37 [json_name = "securityQuals"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_security_quals_size()); i < n; i++) {
    const auto& repfield = this->_internal_security_quals(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(37, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.joinrightcols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node functions = 14 [json_name = "functions"];
  total_size += 1UL * this->_internal_functions_size();
  for (const auto& msg : this->_impl_.functions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node values_lists = 17 [json_name = "values_lists"];
  total_size += 2UL * this->_internal_values_lists_size();
  for (const auto& msg : this->_impl_.values_lists_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coltypes = 21 [json_name = "coltypes"];
  total_size += 2UL * this->_internal_coltypes_size();
  for (const auto& msg : this->_impl_.coltypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node coltypmods = 22 [json_name = "coltypmods"];
  total_size += 2UL * this->_internal_coltypmods_size();
  for (const auto& msg : this->_impl_.coltypmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node colcollations = 23 [json_name = "colcollations"];
  total_size += 2UL * this->_internal_colcollations_size();
  for (const auto& msg : this->_impl_.colcollations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated uint64 selected_cols = 33 [json_name = "selectedCols"];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.selected_cols_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._selected_cols_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint64 inserted_cols = 34 [json_name = "insertedCols"];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.inserted_cols_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._inserted_cols_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint64 updated_cols = 35 [json_name = "updatedCols"];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.updated_cols_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._updated_cols_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint64 extra_updated_cols = 36 [json_name = "extraUpdatedCols"];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.extra_updated_cols_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._extra_updated_cols_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated .pg_query.Node security_quals = 37 [json_name = "securityQuals"];
  total_size += 2UL * this->_internal_security_quals_size();
  for (const auto& msg : this->_impl_.security_quals_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string relkind = 3 [json_name = "relkind"];
  if (!this->_internal_relkind().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_relkind());
  }

  // string ctename = 18 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_ctename());
  }

  // string enrname = 24 [json_name = "enrname"];
  if (!this->_internal_enrname().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_enrname());
  }

  // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"];
  if (this->_internal_has_tablesample()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.tablesample_);
  }

  // .pg_query.Query subquery = 6 [json_name = "subquery"];
  if (this->_internal_has_subquery()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.subquery_);
  }

  // .pg_query.Alias join_using_alias = 13 [json_name = "join_using_alias"];
  if (this->_internal_has_join_using_alias()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.join_using_alias_);
  }

  // .pg_query.TableFunc tablefunc = 16 [json_name = "tablefunc"];
  if (this->_internal_has_tablefunc()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.tablefunc_);
  }

  // .pg_query.Alias alias = 26 [json_name = "alias"];
  if (this->_internal_has_alias()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.alias_);
  }

  // .pg_query.Alias eref = 27 [json_name = "eref"];
  if (this->_internal_has_eref()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.eref_);
  }

  // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"];
  if (this->_internal_rtekind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_rtekind());
  }

  // uint32 relid = 2 [json_name = "relid"];
  if (this->_internal_relid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_relid());
  }

  // int32 rellockmode = 4 [json_name = "rellockmode"];
  if (this->_internal_rellockmode() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_rellockmode());
  }

  // .pg_query.JoinType jointype = 8 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_jointype());
  }

  // int32 joinmergedcols = 9 [json_name = "joinmergedcols"];
  if (this->_internal_joinmergedcols() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_joinmergedcols());
  }

  // bool security_barrier = 7 [json_name = "security_barrier"];
  if (this->_internal_security_barrier() != 0) {
    total_size += 1 + 1;
  }

  // bool funcordinality = 15 [json_name = "funcordinality"];
  if (this->_internal_funcordinality() != 0) {
    total_size += 1 + 1;
  }

  // bool self_reference = 20 [json_name = "self_reference"];
  if (this->_internal_self_reference() != 0) {
    total_size += 2 + 1;
  }

  // bool lateral = 28 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 2 + 1;
  }

  // double enrtuples = 25 [json_name = "enrtuples"];
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_enrtuples = this->_internal_enrtuples();
  uint64_t raw_enrtuples;
  memcpy(&raw_enrtuples, &tmp_enrtuples, sizeof(tmp_enrtuples));
  if (raw_enrtuples != 0) {
    total_size += 2 + 8;
  }

  // uint32 ctelevelsup = 19 [json_name = "ctelevelsup"];
  if (this->_internal_ctelevelsup() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::UInt32Size(
        this->_internal_ctelevelsup());
  }

  // bool inh = 29 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    total_size += 2 + 1;
  }

  // bool in_from_cl = 30 [json_name = "inFromCl"];
  if (this->_internal_in_from_cl() != 0) {
    total_size += 2 + 1;
  }

  // uint32 required_perms = 31 [json_name = "requiredPerms"];
  if (this->_internal_required_perms() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::UInt32Size(
        this->_internal_required_perms());
  }

  // uint32 check_as_user = 32 [json_name = "checkAsUser"];
  if (this->_internal_check_as_user() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::UInt32Size(
        this->_internal_check_as_user());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeTblEntry::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeTblEntry::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeTblEntry::GetClassData() const { return &_class_data_; }


void RangeTblEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeTblEntry*>(&to_msg);
  auto& from = static_cast<const RangeTblEntry&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblEntry)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.joinaliasvars_.MergeFrom(from._impl_.joinaliasvars_);
  _this->_impl_.joinleftcols_.MergeFrom(from._impl_.joinleftcols_);
  _this->_impl_.joinrightcols_.MergeFrom(from._impl_.joinrightcols_);
  _this->_impl_.functions_.MergeFrom(from._impl_.functions_);
  _this->_impl_.values_lists_.MergeFrom(from._impl_.values_lists_);
  _this->_impl_.coltypes_.MergeFrom(from._impl_.coltypes_);
  _this->_impl_.coltypmods_.MergeFrom(from._impl_.coltypmods_);
  _this->_impl_.colcollations_.MergeFrom(from._impl_.colcollations_);
  _this->_impl_.selected_cols_.MergeFrom(from._impl_.selected_cols_);
  _this->_impl_.inserted_cols_.MergeFrom(from._impl_.inserted_cols_);
  _this->_impl_.updated_cols_.MergeFrom(from._impl_.updated_cols_);
  _this->_impl_.extra_updated_cols_.MergeFrom(from._impl_.extra_updated_cols_);
  _this->_impl_.security_quals_.MergeFrom(from._impl_.security_quals_);
  if (!from._internal_relkind().empty()) {
    _this->_internal_set_relkind(from._internal_relkind());
  }
  if (!from._internal_ctename().empty()) {
    _this->_internal_set_ctename(from._internal_ctename());
  }
  if (!from._internal_enrname().empty()) {
    _this->_internal_set_enrname(from._internal_enrname());
  }
  if (from._internal_has_tablesample()) {
    _this->_internal_mutable_tablesample()->::pg_query::TableSampleClause::MergeFrom(
        from._internal_tablesample());
  }
  if (from._internal_has_subquery()) {
    _this->_internal_mutable_subquery()->::pg_query::Query::MergeFrom(
        from._internal_subquery());
  }
  if (from._internal_has_join_using_alias()) {
    _this->_internal_mutable_join_using_alias()->::pg_query::Alias::MergeFrom(
        from._internal_join_using_alias());
  }
  if (from._internal_has_tablefunc()) {
    _this->_internal_mutable_tablefunc()->::pg_query::TableFunc::MergeFrom(
        from._internal_tablefunc());
  }
  if (from._internal_has_alias()) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_has_eref()) {
    _this->_internal_mutable_eref()->::pg_query::Alias::MergeFrom(
        from._internal_eref());
  }
  if (from._internal_rtekind() != 0) {
    _this->_internal_set_rtekind(from._internal_rtekind());
  }
  if (from._internal_relid() != 0) {
    _this->_internal_set_relid(from._internal_relid());
  }
  if (from._internal_rellockmode() != 0) {
    _this->_internal_set_rellockmode(from._internal_rellockmode());
  }
  if (from._internal_jointype() != 0) {
    _this->_internal_set_jointype(from._internal_jointype());
  }
  if (from._internal_joinmergedcols() != 0) {
    _this->_internal_set_joinmergedcols(from._internal_joinmergedcols());
  }
  if (from._internal_security_barrier() != 0) {
    _this->_internal_set_security_barrier(from._internal_security_barrier());
  }
  if (from._internal_funcordinality() != 0) {
    _this->_internal_set_funcordinality(from._internal_funcordinality());
  }
  if (from._internal_self_reference() != 0) {
    _this->_internal_set_self_reference(from._internal_self_reference());
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
  double tmp_enrtuples = from._internal_enrtuples();
  uint64_t raw_enrtuples;
  memcpy(&raw_enrtuples, &tmp_enrtuples, sizeof(tmp_enrtuples));
  if (raw_enrtuples != 0) {
    _this->_internal_set_enrtuples(from._internal_enrtuples());
  }
  if (from._internal_ctelevelsup() != 0) {
    _this->_internal_set_ctelevelsup(from._internal_ctelevelsup());
  }
  if (from._internal_inh() != 0) {
    _this->_internal_set_inh(from._internal_inh());
  }
  if (from._internal_in_from_cl() != 0) {
    _this->_internal_set_in_from_cl(from._internal_in_from_cl());
  }
  if (from._internal_required_perms() != 0) {
    _this->_internal_set_required_perms(from._internal_required_perms());
  }
  if (from._internal_check_as_user() != 0) {
    _this->_internal_set_check_as_user(from._internal_check_as_user());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.joinaliasvars_.InternalSwap(&other->_impl_.joinaliasvars_);
  _impl_.joinleftcols_.InternalSwap(&other->_impl_.joinleftcols_);
  _impl_.joinrightcols_.InternalSwap(&other->_impl_.joinrightcols_);
  _impl_.functions_.InternalSwap(&other->_impl_.functions_);
  _impl_.values_lists_.InternalSwap(&other->_impl_.values_lists_);
  _impl_.coltypes_.InternalSwap(&other->_impl_.coltypes_);
  _impl_.coltypmods_.InternalSwap(&other->_impl_.coltypmods_);
  _impl_.colcollations_.InternalSwap(&other->_impl_.colcollations_);
  _impl_.selected_cols_.InternalSwap(&other->_impl_.selected_cols_);
  _impl_.inserted_cols_.InternalSwap(&other->_impl_.inserted_cols_);
  _impl_.updated_cols_.InternalSwap(&other->_impl_.updated_cols_);
  _impl_.extra_updated_cols_.InternalSwap(&other->_impl_.extra_updated_cols_);
  _impl_.security_quals_.InternalSwap(&other->_impl_.security_quals_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.relkind_, lhs_arena,
      &other->_impl_.relkind_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.ctename_, lhs_arena,
      &other->_impl_.ctename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.enrname_, lhs_arena,
      &other->_impl_.enrname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.check_as_user_)
      + sizeof(RangeTblEntry::_impl_.check_as_user_)
      - PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.tablesample_)>(
          reinterpret_cast<char*>(&_impl_.tablesample_),
          reinterpret_cast<char*>(&other->_impl_.tablesample_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTblEntry::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[207]);
}

// ===================================================================

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->_impl_.funcexpr_;
}
RangeTblFunction::RangeTblFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblFunction)
}
RangeTblFunction::RangeTblFunction(const RangeTblFunction& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RangeTblFunction* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.funccolnames_){from._impl_.funccolnames_}
    , decltype(_impl_.funccoltypes_){from._impl_.funccoltypes_}
    , decltype(_impl_.funccoltypmods_){from._impl_.funccoltypmods_}
    , decltype(_impl_.funccolcollations_){from._impl_.funccolcollations_}
    , decltype(_impl_.funcparams_){from._impl_.funcparams_}
    , /*decltype(_impl_._funcparams_cached_byte_size_)*/{0}
    , decltype(_impl_.funcexpr_){nullptr}
    , decltype(_impl_.funccolcount_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_funcexpr()) {
    _this->_impl_.funcexpr_ = new ::pg_query::Node(*from._impl_.funcexpr_);
  }
  _this->_impl_.funccolcount_ = from._impl_.funccolcount_;
  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblFunction)
}

inline void RangeTblFunction::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.funccolnames_){arena}
    , decltype(_impl_.funccoltypes_){arena}
    , decltype(_impl_.funccoltypmods_){arena}
    , decltype(_impl_.funccolcollations_){arena}
    , decltype(_impl_.funcparams_){arena}
    , /*decltype(_impl_._funcparams_cached_byte_size_)*/{0}
    , decltype(_impl_.funcexpr_){nullptr}
    , decltype(_impl_.funccolcount_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RangeTblFunction::~RangeTblFunction() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblFunction)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RangeTblFunction::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.funccolnames_.~RepeatedPtrField();
  _impl_.funccoltypes_.~RepeatedPtrField();
  _impl_.funccoltypmods_.~RepeatedPtrField();
  _impl_.funccolcollations_.~RepeatedPtrField();
  _impl_.funcparams_.~RepeatedField();
  if (this != internal_default_instance()) delete _impl_.funcexpr_;
}

void RangeTblFunction::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RangeTblFunction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTblFunction)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.funccolnames_.Clear();
  _impl_.funccoltypes_.Clear();
  _impl_.funccoltypmods_.Clear();
  _impl_.funccolcollations_.Clear();
  _impl_.funcparams_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.funcexpr_ != nullptr) {
    delete _impl_.funcexpr_;
  }
  _impl_.funcexpr_ = nullptr;
  _impl_.funccolcount_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RangeTblFunction::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.funccolcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(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;
      // repeated uint64 funcparams = 7 [json_name = "funcparams"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_funcparams(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 56) {
          _internal_add_funcparams(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RangeTblFunction::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblFunction)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
  if (this->_internal_has_funcexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::funcexpr(this),
        _Internal::funcexpr(this).GetCachedSize(), target, stream);
  }

  // int32 funccolcount = 2 [json_name = "funccolcount"];
  if (this->_internal_funccolcount() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_funccolcount(), target);
  }

  // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccolnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccolnames(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccoltypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccoltypes(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccoltypmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccoltypmods(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccolcollations_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccolcollations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated uint64 funcparams = 7 [json_name = "funcparams"];
  {
    int byte_size = _impl_._funcparams_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          7, _internal_funcparams(), byte_size, target);
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.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->_impl_.funccolcollations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated uint64 funcparams = 7 [json_name = "funcparams"];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.funcparams_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._funcparams_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
  if (this->_internal_has_funcexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.funcexpr_);
  }

  // int32 funccolcount = 2 [json_name = "funccolcount"];
  if (this->_internal_funccolcount() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_funccolcount());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RangeTblFunction::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RangeTblFunction::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RangeTblFunction::GetClassData() const { return &_class_data_; }


void RangeTblFunction::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RangeTblFunction*>(&to_msg);
  auto& from = static_cast<const RangeTblFunction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblFunction)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.funccolnames_.MergeFrom(from._impl_.funccolnames_);
  _this->_impl_.funccoltypes_.MergeFrom(from._impl_.funccoltypes_);
  _this->_impl_.funccoltypmods_.MergeFrom(from._impl_.funccoltypmods_);
  _this->_impl_.funccolcollations_.MergeFrom(from._impl_.funccolcollations_);
  _this->_impl_.funcparams_.MergeFrom(from._impl_.funcparams_);
  if (from._internal_has_funcexpr()) {
    _this->_internal_mutable_funcexpr()->::pg_query::Node::MergeFrom(
        from._internal_funcexpr());
  }
  if (from._internal_funccolcount() != 0) {
    _this->_internal_set_funccolcount(from._internal_funccolcount());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.funccolnames_.InternalSwap(&other->_impl_.funccolnames_);
  _impl_.funccoltypes_.InternalSwap(&other->_impl_.funccoltypes_);
  _impl_.funccoltypmods_.InternalSwap(&other->_impl_.funccoltypmods_);
  _impl_.funccolcollations_.InternalSwap(&other->_impl_.funccolcollations_);
  _impl_.funcparams_.InternalSwap(&other->_impl_.funcparams_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolcount_)
      + sizeof(RangeTblFunction::_impl_.funccolcount_)
      - PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funcexpr_)>(
          reinterpret_cast<char*>(&_impl_.funcexpr_),
          reinterpret_cast<char*>(&other->_impl_.funcexpr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RangeTblFunction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[208]);
}

// ===================================================================

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->_impl_.repeatable_;
}
TableSampleClause::TableSampleClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableSampleClause)
}
TableSampleClause::TableSampleClause(const TableSampleClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TableSampleClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){from._impl_.args_}
    , decltype(_impl_.repeatable_){nullptr}
    , decltype(_impl_.tsmhandler_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_repeatable()) {
    _this->_impl_.repeatable_ = new ::pg_query::Node(*from._impl_.repeatable_);
  }
  _this->_impl_.tsmhandler_ = from._impl_.tsmhandler_;
  // @@protoc_insertion_point(copy_constructor:pg_query.TableSampleClause)
}

inline void TableSampleClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.args_){arena}
    , decltype(_impl_.repeatable_){nullptr}
    , decltype(_impl_.tsmhandler_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TableSampleClause::~TableSampleClause() {
  // @@protoc_insertion_point(destructor:pg_query.TableSampleClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TableSampleClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.repeatable_;
}

void TableSampleClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TableSampleClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TableSampleClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.repeatable_ != nullptr) {
    delete _impl_.repeatable_;
  }
  _impl_.repeatable_ = nullptr;
  _impl_.tsmhandler_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TableSampleClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(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<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_repeatable(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TableSampleClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableSampleClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
  if (this->_internal_tsmhandler() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_tsmhandler(), target);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
  if (this->_internal_has_repeatable()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::repeatable(this),
        _Internal::repeatable(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
  if (this->_internal_has_repeatable()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.repeatable_);
  }

  // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
  if (this->_internal_tsmhandler() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_tsmhandler());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TableSampleClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TableSampleClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TableSampleClause::GetClassData() const { return &_class_data_; }


void TableSampleClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TableSampleClause*>(&to_msg);
  auto& from = static_cast<const TableSampleClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableSampleClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.args_.MergeFrom(from._impl_.args_);
  if (from._internal_has_repeatable()) {
    _this->_internal_mutable_repeatable()->::pg_query::Node::MergeFrom(
        from._internal_repeatable());
  }
  if (from._internal_tsmhandler() != 0) {
    _this->_internal_set_tsmhandler(from._internal_tsmhandler());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.tsmhandler_)
      + sizeof(TableSampleClause::_impl_.tsmhandler_)
      - PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.repeatable_)>(
          reinterpret_cast<char*>(&_impl_.repeatable_),
          reinterpret_cast<char*>(&other->_impl_.repeatable_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TableSampleClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[209]);
}

// ===================================================================

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->_impl_.qual_;
}
WithCheckOption::WithCheckOption(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.WithCheckOption)
}
WithCheckOption::WithCheckOption(const WithCheckOption& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  WithCheckOption* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.relname_){}
    , decltype(_impl_.polname_){}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.cascaded_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.relname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_relname().empty()) {
    _this->_impl_.relname_.Set(from._internal_relname(), 
      _this->GetArenaForAllocation());
  }
  _impl_.polname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.polname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_polname().empty()) {
    _this->_impl_.polname_.Set(from._internal_polname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_qual()) {
    _this->_impl_.qual_ = new ::pg_query::Node(*from._impl_.qual_);
  }
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.cascaded_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.cascaded_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WithCheckOption)
}

inline void WithCheckOption::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.relname_){}
    , decltype(_impl_.polname_){}
    , decltype(_impl_.qual_){nullptr}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.cascaded_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.relname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.relname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.polname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.polname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

WithCheckOption::~WithCheckOption() {
  // @@protoc_insertion_point(destructor:pg_query.WithCheckOption)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void WithCheckOption::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.relname_.Destroy();
  _impl_.polname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.qual_;
}

void WithCheckOption::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void WithCheckOption::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WithCheckOption)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.relname_.ClearToEmpty();
  _impl_.polname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) {
    delete _impl_.qual_;
  }
  _impl_.qual_ = nullptr;
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.cascaded_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.cascaded_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WithCheckOption::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.WCOKind kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_relname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.WithCheckOption.relname"));
        } else
          goto handle_unusual;
        continue;
      // string polname = 3 [json_name = "polname"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_polname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.WithCheckOption.polname"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node qual = 4 [json_name = "qual"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.cascaded_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* WithCheckOption::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WithCheckOption)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.WCOKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // string relname = 2 [json_name = "relname"];
  if (!this->_internal_relname().empty()) {
    ::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->_internal_polname().empty()) {
    ::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->_internal_has_qual()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::qual(this),
        _Internal::qual(this).GetCachedSize(), target, stream);
  }

  // bool cascaded = 5 [json_name = "cascaded"];
  if (this->_internal_cascaded() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_cascaded(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_relname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_relname());
  }

  // string polname = 3 [json_name = "polname"];
  if (!this->_internal_polname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_polname());
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (this->_internal_has_qual()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.qual_);
  }

  // .pg_query.WCOKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool cascaded = 5 [json_name = "cascaded"];
  if (this->_internal_cascaded() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData WithCheckOption::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    WithCheckOption::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*WithCheckOption::GetClassData() const { return &_class_data_; }


void WithCheckOption::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<WithCheckOption*>(&to_msg);
  auto& from = static_cast<const WithCheckOption&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WithCheckOption)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_relname().empty()) {
    _this->_internal_set_relname(from._internal_relname());
  }
  if (!from._internal_polname().empty()) {
    _this->_internal_set_polname(from._internal_polname());
  }
  if (from._internal_has_qual()) {
    _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
        from._internal_qual());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_cascaded() != 0) {
    _this->_internal_set_cascaded(from._internal_cascaded());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.relname_, lhs_arena,
      &other->_impl_.relname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.polname_, lhs_arena,
      &other->_impl_.polname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.cascaded_)
      + sizeof(WithCheckOption::_impl_.cascaded_)
      - PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.qual_)>(
          reinterpret_cast<char*>(&_impl_.qual_),
          reinterpret_cast<char*>(&other->_impl_.qual_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WithCheckOption::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[210]);
}

// ===================================================================

class SortGroupClause::_Internal {
 public:
};

SortGroupClause::SortGroupClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.SortGroupClause)
}
SortGroupClause::SortGroupClause(const SortGroupClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  SortGroupClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.tle_sort_group_ref_){}
    , decltype(_impl_.eqop_){}
    , decltype(_impl_.sortop_){}
    , decltype(_impl_.nulls_first_){}
    , decltype(_impl_.hashable_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.tle_sort_group_ref_, &from._impl_.tle_sort_group_ref_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.hashable_) -
    reinterpret_cast<char*>(&_impl_.tle_sort_group_ref_)) + sizeof(_impl_.hashable_));
  // @@protoc_insertion_point(copy_constructor:pg_query.SortGroupClause)
}

inline void SortGroupClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.tle_sort_group_ref_){0u}
    , decltype(_impl_.eqop_){0u}
    , decltype(_impl_.sortop_){0u}
    , decltype(_impl_.nulls_first_){false}
    , decltype(_impl_.hashable_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

SortGroupClause::~SortGroupClause() {
  // @@protoc_insertion_point(destructor:pg_query.SortGroupClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void SortGroupClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void SortGroupClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void SortGroupClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SortGroupClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.tle_sort_group_ref_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.hashable_) -
      reinterpret_cast<char*>(&_impl_.tle_sort_group_ref_)) + sizeof(_impl_.hashable_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SortGroupClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.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<uint8_t>(tag) == 40)) {
          _impl_.hashable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* SortGroupClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SortGroupClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
  if (this->_internal_tle_sort_group_ref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_tle_sort_group_ref(), target);
  }

  // uint32 eqop = 2 [json_name = "eqop"];
  if (this->_internal_eqop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_eqop(), target);
  }

  // uint32 sortop = 3 [json_name = "sortop"];
  if (this->_internal_sortop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_sortop(), target);
  }

  // bool nulls_first = 4 [json_name = "nulls_first"];
  if (this->_internal_nulls_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_nulls_first(), target);
  }

  // bool hashable = 5 [json_name = "hashable"];
  if (this->_internal_hashable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_hashable(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_tle_sort_group_ref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_tle_sort_group_ref());
  }

  // uint32 eqop = 2 [json_name = "eqop"];
  if (this->_internal_eqop() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_eqop());
  }

  // uint32 sortop = 3 [json_name = "sortop"];
  if (this->_internal_sortop() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_sortop());
  }

  // bool nulls_first = 4 [json_name = "nulls_first"];
  if (this->_internal_nulls_first() != 0) {
    total_size += 1 + 1;
  }

  // bool hashable = 5 [json_name = "hashable"];
  if (this->_internal_hashable() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SortGroupClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    SortGroupClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SortGroupClause::GetClassData() const { return &_class_data_; }


void SortGroupClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<SortGroupClause*>(&to_msg);
  auto& from = static_cast<const SortGroupClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SortGroupClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_tle_sort_group_ref() != 0) {
    _this->_internal_set_tle_sort_group_ref(from._internal_tle_sort_group_ref());
  }
  if (from._internal_eqop() != 0) {
    _this->_internal_set_eqop(from._internal_eqop());
  }
  if (from._internal_sortop() != 0) {
    _this->_internal_set_sortop(from._internal_sortop());
  }
  if (from._internal_nulls_first() != 0) {
    _this->_internal_set_nulls_first(from._internal_nulls_first());
  }
  if (from._internal_hashable() != 0) {
    _this->_internal_set_hashable(from._internal_hashable());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.hashable_)
      + sizeof(SortGroupClause::_impl_.hashable_)
      - PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.tle_sort_group_ref_)>(
          reinterpret_cast<char*>(&_impl_.tle_sort_group_ref_),
          reinterpret_cast<char*>(&other->_impl_.tle_sort_group_ref_));
}

::PROTOBUF_NAMESPACE_ID::Metadata SortGroupClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[211]);
}

// ===================================================================

class GroupingSet::_Internal {
 public:
};

GroupingSet::GroupingSet(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.GroupingSet)
}
GroupingSet::GroupingSet(const GroupingSet& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  GroupingSet* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.content_){from._impl_.content_}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.GroupingSet)
}

inline void GroupingSet::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.content_){arena}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

GroupingSet::~GroupingSet() {
  // @@protoc_insertion_point(destructor:pg_query.GroupingSet)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GroupingSet::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.content_.~RepeatedPtrField();
}

void GroupingSet::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void GroupingSet::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.GroupingSet)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.content_.Clear();
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GroupingSet::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* GroupingSet::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GroupingSet)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node content = 2 [json_name = "content"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_content_size()); i < n; i++) {
    const auto& repfield = this->_internal_content(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.content_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GroupingSet::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    GroupingSet::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GroupingSet::GetClassData() const { return &_class_data_; }


void GroupingSet::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<GroupingSet*>(&to_msg);
  auto& from = static_cast<const GroupingSet&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GroupingSet)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.content_.MergeFrom(from._impl_.content_);
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.content_.InternalSwap(&other->_impl_.content_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.location_)
      + sizeof(GroupingSet::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GroupingSet::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[212]);
}

// ===================================================================

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->_impl_.start_offset_;
}
const ::pg_query::Node&
WindowClause::_Internal::end_offset(const WindowClause* msg) {
  return *msg->_impl_.end_offset_;
}
WindowClause::WindowClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowClause)
}
WindowClause::WindowClause(const WindowClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  WindowClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.partition_clause_){from._impl_.partition_clause_}
    , decltype(_impl_.order_clause_){from._impl_.order_clause_}
    , decltype(_impl_.run_condition_){from._impl_.run_condition_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.refname_){}
    , decltype(_impl_.start_offset_){nullptr}
    , decltype(_impl_.end_offset_){nullptr}
    , decltype(_impl_.frame_options_){}
    , decltype(_impl_.start_in_range_func_){}
    , decltype(_impl_.end_in_range_func_){}
    , decltype(_impl_.in_range_coll_){}
    , decltype(_impl_.in_range_asc_){}
    , decltype(_impl_.in_range_nulls_first_){}
    , decltype(_impl_.copied_order_){}
    , decltype(_impl_.winref_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.refname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.refname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_refname().empty()) {
    _this->_impl_.refname_.Set(from._internal_refname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_start_offset()) {
    _this->_impl_.start_offset_ = new ::pg_query::Node(*from._impl_.start_offset_);
  }
  if (from._internal_has_end_offset()) {
    _this->_impl_.end_offset_ = new ::pg_query::Node(*from._impl_.end_offset_);
  }
  ::memcpy(&_impl_.frame_options_, &from._impl_.frame_options_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.winref_) -
    reinterpret_cast<char*>(&_impl_.frame_options_)) + sizeof(_impl_.winref_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WindowClause)
}

inline void WindowClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.partition_clause_){arena}
    , decltype(_impl_.order_clause_){arena}
    , decltype(_impl_.run_condition_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.refname_){}
    , decltype(_impl_.start_offset_){nullptr}
    , decltype(_impl_.end_offset_){nullptr}
    , decltype(_impl_.frame_options_){0}
    , decltype(_impl_.start_in_range_func_){0u}
    , decltype(_impl_.end_in_range_func_){0u}
    , decltype(_impl_.in_range_coll_){0u}
    , decltype(_impl_.in_range_asc_){false}
    , decltype(_impl_.in_range_nulls_first_){false}
    , decltype(_impl_.copied_order_){false}
    , decltype(_impl_.winref_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.refname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.refname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

WindowClause::~WindowClause() {
  // @@protoc_insertion_point(destructor:pg_query.WindowClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void WindowClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.partition_clause_.~RepeatedPtrField();
  _impl_.order_clause_.~RepeatedPtrField();
  _impl_.run_condition_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  _impl_.refname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.start_offset_;
  if (this != internal_default_instance()) delete _impl_.end_offset_;
}

void WindowClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void WindowClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.partition_clause_.Clear();
  _impl_.order_clause_.Clear();
  _impl_.run_condition_.Clear();
  _impl_.name_.ClearToEmpty();
  _impl_.refname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.start_offset_ != nullptr) {
    delete _impl_.start_offset_;
  }
  _impl_.start_offset_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.end_offset_ != nullptr) {
    delete _impl_.end_offset_;
  }
  _impl_.end_offset_ = nullptr;
  ::memset(&_impl_.frame_options_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.winref_) -
      reinterpret_cast<char*>(&_impl_.frame_options_)) + sizeof(_impl_.winref_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WindowClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.WindowClause.name"));
        } else
          goto handle_unusual;
        continue;
      // string refname = 2 [json_name = "refname"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_refname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.WindowClause.refname"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.frame_options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_end_offset(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_run_condition(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else
          goto handle_unusual;
        continue;
      // uint32 start_in_range_func = 9 [json_name = "startInRangeFunc"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _impl_.start_in_range_func_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 end_in_range_func = 10 [json_name = "endInRangeFunc"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _impl_.end_in_range_func_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 in_range_coll = 11 [json_name = "inRangeColl"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _impl_.in_range_coll_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool in_range_asc = 12 [json_name = "inRangeAsc"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _impl_.in_range_asc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool in_range_nulls_first = 13 [json_name = "inRangeNullsFirst"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _impl_.in_range_nulls_first_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 winref = 14 [json_name = "winref"];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
          _impl_.winref_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool copied_order = 15 [json_name = "copiedOrder"];
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          _impl_.copied_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* WindowClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_refname().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_partition_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_partition_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_order_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_order_clause(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_frame_options(), target);
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->_internal_has_start_offset()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::start_offset(this),
        _Internal::start_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->_internal_has_end_offset()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::end_offset(this),
        _Internal::end_offset(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_run_condition_size()); i < n; i++) {
    const auto& repfield = this->_internal_run_condition(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 start_in_range_func = 9 [json_name = "startInRangeFunc"];
  if (this->_internal_start_in_range_func() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_start_in_range_func(), target);
  }

  // uint32 end_in_range_func = 10 [json_name = "endInRangeFunc"];
  if (this->_internal_end_in_range_func() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(10, this->_internal_end_in_range_func(), target);
  }

  // uint32 in_range_coll = 11 [json_name = "inRangeColl"];
  if (this->_internal_in_range_coll() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(11, this->_internal_in_range_coll(), target);
  }

  // bool in_range_asc = 12 [json_name = "inRangeAsc"];
  if (this->_internal_in_range_asc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(12, this->_internal_in_range_asc(), target);
  }

  // bool in_range_nulls_first = 13 [json_name = "inRangeNullsFirst"];
  if (this->_internal_in_range_nulls_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(13, this->_internal_in_range_nulls_first(), target);
  }

  // uint32 winref = 14 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(14, this->_internal_winref(), target);
  }

  // bool copied_order = 15 [json_name = "copiedOrder"];
  if (this->_internal_copied_order() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(15, this->_internal_copied_order(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.order_clause_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"];
  total_size += 1UL * this->_internal_run_condition_size();
  for (const auto& msg : this->_impl_.run_condition_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // string refname = 2 [json_name = "refname"];
  if (!this->_internal_refname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_refname());
  }

  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (this->_internal_has_start_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.start_offset_);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (this->_internal_has_end_offset()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.end_offset_);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_frame_options());
  }

  // uint32 start_in_range_func = 9 [json_name = "startInRangeFunc"];
  if (this->_internal_start_in_range_func() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_start_in_range_func());
  }

  // uint32 end_in_range_func = 10 [json_name = "endInRangeFunc"];
  if (this->_internal_end_in_range_func() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_end_in_range_func());
  }

  // uint32 in_range_coll = 11 [json_name = "inRangeColl"];
  if (this->_internal_in_range_coll() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_in_range_coll());
  }

  // bool in_range_asc = 12 [json_name = "inRangeAsc"];
  if (this->_internal_in_range_asc() != 0) {
    total_size += 1 + 1;
  }

  // bool in_range_nulls_first = 13 [json_name = "inRangeNullsFirst"];
  if (this->_internal_in_range_nulls_first() != 0) {
    total_size += 1 + 1;
  }

  // bool copied_order = 15 [json_name = "copiedOrder"];
  if (this->_internal_copied_order() != 0) {
    total_size += 1 + 1;
  }

  // uint32 winref = 14 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_winref());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData WindowClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    WindowClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*WindowClause::GetClassData() const { return &_class_data_; }


void WindowClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<WindowClause*>(&to_msg);
  auto& from = static_cast<const WindowClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.partition_clause_.MergeFrom(from._impl_.partition_clause_);
  _this->_impl_.order_clause_.MergeFrom(from._impl_.order_clause_);
  _this->_impl_.run_condition_.MergeFrom(from._impl_.run_condition_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_refname().empty()) {
    _this->_internal_set_refname(from._internal_refname());
  }
  if (from._internal_has_start_offset()) {
    _this->_internal_mutable_start_offset()->::pg_query::Node::MergeFrom(
        from._internal_start_offset());
  }
  if (from._internal_has_end_offset()) {
    _this->_internal_mutable_end_offset()->::pg_query::Node::MergeFrom(
        from._internal_end_offset());
  }
  if (from._internal_frame_options() != 0) {
    _this->_internal_set_frame_options(from._internal_frame_options());
  }
  if (from._internal_start_in_range_func() != 0) {
    _this->_internal_set_start_in_range_func(from._internal_start_in_range_func());
  }
  if (from._internal_end_in_range_func() != 0) {
    _this->_internal_set_end_in_range_func(from._internal_end_in_range_func());
  }
  if (from._internal_in_range_coll() != 0) {
    _this->_internal_set_in_range_coll(from._internal_in_range_coll());
  }
  if (from._internal_in_range_asc() != 0) {
    _this->_internal_set_in_range_asc(from._internal_in_range_asc());
  }
  if (from._internal_in_range_nulls_first() != 0) {
    _this->_internal_set_in_range_nulls_first(from._internal_in_range_nulls_first());
  }
  if (from._internal_copied_order() != 0) {
    _this->_internal_set_copied_order(from._internal_copied_order());
  }
  if (from._internal_winref() != 0) {
    _this->_internal_set_winref(from._internal_winref());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.partition_clause_.InternalSwap(&other->_impl_.partition_clause_);
  _impl_.order_clause_.InternalSwap(&other->_impl_.order_clause_);
  _impl_.run_condition_.InternalSwap(&other->_impl_.run_condition_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.refname_, lhs_arena,
      &other->_impl_.refname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.winref_)
      + sizeof(WindowClause::_impl_.winref_)
      - PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.start_offset_)>(
          reinterpret_cast<char*>(&_impl_.start_offset_),
          reinterpret_cast<char*>(&other->_impl_.start_offset_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WindowClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[213]);
}

// ===================================================================

class ObjectWithArgs::_Internal {
 public:
};

ObjectWithArgs::ObjectWithArgs(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ObjectWithArgs)
}
ObjectWithArgs::ObjectWithArgs(const ObjectWithArgs& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ObjectWithArgs* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.objname_){from._impl_.objname_}
    , decltype(_impl_.objargs_){from._impl_.objargs_}
    , decltype(_impl_.objfuncargs_){from._impl_.objfuncargs_}
    , decltype(_impl_.args_unspecified_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.args_unspecified_ = from._impl_.args_unspecified_;
  // @@protoc_insertion_point(copy_constructor:pg_query.ObjectWithArgs)
}

inline void ObjectWithArgs::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.objname_){arena}
    , decltype(_impl_.objargs_){arena}
    , decltype(_impl_.objfuncargs_){arena}
    , decltype(_impl_.args_unspecified_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ObjectWithArgs::~ObjectWithArgs() {
  // @@protoc_insertion_point(destructor:pg_query.ObjectWithArgs)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ObjectWithArgs::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.objname_.~RepeatedPtrField();
  _impl_.objargs_.~RepeatedPtrField();
  _impl_.objfuncargs_.~RepeatedPtrField();
}

void ObjectWithArgs::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ObjectWithArgs::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ObjectWithArgs)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.objname_.Clear();
  _impl_.objargs_.Clear();
  _impl_.objfuncargs_.Clear();
  _impl_.args_unspecified_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ObjectWithArgs::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node objname = 1 [json_name = "objname"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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;
      // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_objfuncargs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool args_unspecified = 4 [json_name = "args_unspecified"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.args_unspecified_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ObjectWithArgs::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ObjectWithArgs)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node objname = 1 [json_name = "objname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objname_size()); i < n; i++) {
    const auto& repfield = this->_internal_objname(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_objargs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objfuncargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_objfuncargs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool args_unspecified = 4 [json_name = "args_unspecified"];
  if (this->_internal_args_unspecified() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_args_unspecified(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.objargs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"];
  total_size += 1UL * this->_internal_objfuncargs_size();
  for (const auto& msg : this->_impl_.objfuncargs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool args_unspecified = 4 [json_name = "args_unspecified"];
  if (this->_internal_args_unspecified() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ObjectWithArgs::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ObjectWithArgs::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ObjectWithArgs::GetClassData() const { return &_class_data_; }


void ObjectWithArgs::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ObjectWithArgs*>(&to_msg);
  auto& from = static_cast<const ObjectWithArgs&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ObjectWithArgs)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.objname_.MergeFrom(from._impl_.objname_);
  _this->_impl_.objargs_.MergeFrom(from._impl_.objargs_);
  _this->_impl_.objfuncargs_.MergeFrom(from._impl_.objfuncargs_);
  if (from._internal_args_unspecified() != 0) {
    _this->_internal_set_args_unspecified(from._internal_args_unspecified());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.objname_.InternalSwap(&other->_impl_.objname_);
  _impl_.objargs_.InternalSwap(&other->_impl_.objargs_);
  _impl_.objfuncargs_.InternalSwap(&other->_impl_.objfuncargs_);
  swap(_impl_.args_unspecified_, other->_impl_.args_unspecified_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ObjectWithArgs::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[214]);
}

// ===================================================================

class AccessPriv::_Internal {
 public:
};

AccessPriv::AccessPriv(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.AccessPriv)
}
AccessPriv::AccessPriv(const AccessPriv& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  AccessPriv* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.cols_){from._impl_.cols_}
    , decltype(_impl_.priv_name_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.priv_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.priv_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_priv_name().empty()) {
    _this->_impl_.priv_name_.Set(from._internal_priv_name(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.AccessPriv)
}

inline void AccessPriv::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.cols_){arena}
    , decltype(_impl_.priv_name_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.priv_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.priv_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

AccessPriv::~AccessPriv() {
  // @@protoc_insertion_point(destructor:pg_query.AccessPriv)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AccessPriv::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cols_.~RepeatedPtrField();
  _impl_.priv_name_.Destroy();
}

void AccessPriv::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void AccessPriv::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AccessPriv)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cols_.Clear();
  _impl_.priv_name_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AccessPriv::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string priv_name = 1 [json_name = "priv_name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_priv_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.AccessPriv.priv_name"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node cols = 2 [json_name = "cols"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* AccessPriv::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AccessPriv)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string priv_name = 1 [json_name = "priv_name"];
  if (!this->_internal_priv_name().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_cols(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string priv_name = 1 [json_name = "priv_name"];
  if (!this->_internal_priv_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_priv_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AccessPriv::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    AccessPriv::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AccessPriv::GetClassData() const { return &_class_data_; }


void AccessPriv::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<AccessPriv*>(&to_msg);
  auto& from = static_cast<const AccessPriv&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AccessPriv)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.cols_.MergeFrom(from._impl_.cols_);
  if (!from._internal_priv_name().empty()) {
    _this->_internal_set_priv_name(from._internal_priv_name());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.cols_.InternalSwap(&other->_impl_.cols_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.priv_name_, lhs_arena,
      &other->_impl_.priv_name_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata AccessPriv::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[215]);
}

// ===================================================================

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->_impl_.name_;
}
const ::pg_query::TypeName&
CreateOpClassItem::_Internal::storedtype(const CreateOpClassItem* msg) {
  return *msg->_impl_.storedtype_;
}
CreateOpClassItem::CreateOpClassItem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpClassItem)
}
CreateOpClassItem::CreateOpClassItem(const CreateOpClassItem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CreateOpClassItem* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.order_family_){from._impl_.order_family_}
    , decltype(_impl_.class_args_){from._impl_.class_args_}
    , decltype(_impl_.name_){nullptr}
    , decltype(_impl_.storedtype_){nullptr}
    , decltype(_impl_.itemtype_){}
    , decltype(_impl_.number_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_name()) {
    _this->_impl_.name_ = new ::pg_query::ObjectWithArgs(*from._impl_.name_);
  }
  if (from._internal_has_storedtype()) {
    _this->_impl_.storedtype_ = new ::pg_query::TypeName(*from._impl_.storedtype_);
  }
  ::memcpy(&_impl_.itemtype_, &from._impl_.itemtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.number_) -
    reinterpret_cast<char*>(&_impl_.itemtype_)) + sizeof(_impl_.number_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpClassItem)
}

inline void CreateOpClassItem::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.order_family_){arena}
    , decltype(_impl_.class_args_){arena}
    , decltype(_impl_.name_){nullptr}
    , decltype(_impl_.storedtype_){nullptr}
    , decltype(_impl_.itemtype_){0}
    , decltype(_impl_.number_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CreateOpClassItem::~CreateOpClassItem() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpClassItem)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CreateOpClassItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.order_family_.~RepeatedPtrField();
  _impl_.class_args_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.name_;
  if (this != internal_default_instance()) delete _impl_.storedtype_;
}

void CreateOpClassItem::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CreateOpClassItem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpClassItem)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.order_family_.Clear();
  _impl_.class_args_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.name_ != nullptr) {
    delete _impl_.name_;
  }
  _impl_.name_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.storedtype_ != nullptr) {
    delete _impl_.storedtype_;
  }
  _impl_.storedtype_ = nullptr;
  ::memset(&_impl_.itemtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.number_) -
      reinterpret_cast<char*>(&_impl_.itemtype_)) + sizeof(_impl_.number_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateOpClassItem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 itemtype = 1 [json_name = "itemtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.itemtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_storedtype(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CreateOpClassItem::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpClassItem)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 itemtype = 1 [json_name = "itemtype"];
  if (this->_internal_itemtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_itemtype(), target);
  }

  // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
  if (this->_internal_has_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::name(this),
        _Internal::name(this).GetCachedSize(), target, stream);
  }

  // int32 number = 3 [json_name = "number"];
  if (this->_internal_number() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_number(), target);
  }

  // repeated .pg_query.Node order_family = 4 [json_name = "order_family"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_order_family_size()); i < n; i++) {
    const auto& repfield = this->_internal_order_family(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_class_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_class_args(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
  if (this->_internal_has_storedtype()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::storedtype(this),
        _Internal::storedtype(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.class_args_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
  if (this->_internal_has_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.name_);
  }

  // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
  if (this->_internal_has_storedtype()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.storedtype_);
  }

  // int32 itemtype = 1 [json_name = "itemtype"];
  if (this->_internal_itemtype() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_itemtype());
  }

  // int32 number = 3 [json_name = "number"];
  if (this->_internal_number() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_number());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateOpClassItem::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CreateOpClassItem::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateOpClassItem::GetClassData() const { return &_class_data_; }


void CreateOpClassItem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CreateOpClassItem*>(&to_msg);
  auto& from = static_cast<const CreateOpClassItem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpClassItem)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.order_family_.MergeFrom(from._impl_.order_family_);
  _this->_impl_.class_args_.MergeFrom(from._impl_.class_args_);
  if (from._internal_has_name()) {
    _this->_internal_mutable_name()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_name());
  }
  if (from._internal_has_storedtype()) {
    _this->_internal_mutable_storedtype()->::pg_query::TypeName::MergeFrom(
        from._internal_storedtype());
  }
  if (from._internal_itemtype() != 0) {
    _this->_internal_set_itemtype(from._internal_itemtype());
  }
  if (from._internal_number() != 0) {
    _this->_internal_set_number(from._internal_number());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.order_family_.InternalSwap(&other->_impl_.order_family_);
  _impl_.class_args_.InternalSwap(&other->_impl_.class_args_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.number_)
      + sizeof(CreateOpClassItem::_impl_.number_)
      - PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.name_)>(
          reinterpret_cast<char*>(&_impl_.name_),
          reinterpret_cast<char*>(&other->_impl_.name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateOpClassItem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[216]);
}

// ===================================================================

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->_impl_.relation_;
}
TableLikeClause::TableLikeClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableLikeClause)
}
TableLikeClause::TableLikeClause(const TableLikeClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TableLikeClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.options_){}
    , decltype(_impl_.relation_oid_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  ::memcpy(&_impl_.options_, &from._impl_.options_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.relation_oid_) -
    reinterpret_cast<char*>(&_impl_.options_)) + sizeof(_impl_.relation_oid_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TableLikeClause)
}

inline void TableLikeClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.options_){0u}
    , decltype(_impl_.relation_oid_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TableLikeClause::~TableLikeClause() {
  // @@protoc_insertion_point(destructor:pg_query.TableLikeClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TableLikeClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.relation_;
}

void TableLikeClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TableLikeClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TableLikeClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  ::memset(&_impl_.options_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.relation_oid_) -
      reinterpret_cast<char*>(&_impl_.options_)) + sizeof(_impl_.relation_oid_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TableLikeClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.options_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 relation_oid = 3 [json_name = "relationOid"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.relation_oid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TableLikeClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableLikeClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // uint32 options = 2 [json_name = "options"];
  if (this->_internal_options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_options(), target);
  }

  // uint32 relation_oid = 3 [json_name = "relationOid"];
  if (this->_internal_relation_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_relation_oid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // uint32 options = 2 [json_name = "options"];
  if (this->_internal_options() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_options());
  }

  // uint32 relation_oid = 3 [json_name = "relationOid"];
  if (this->_internal_relation_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_relation_oid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TableLikeClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TableLikeClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TableLikeClause::GetClassData() const { return &_class_data_; }


void TableLikeClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TableLikeClause*>(&to_msg);
  auto& from = static_cast<const TableLikeClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableLikeClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_options() != 0) {
    _this->_internal_set_options(from._internal_options());
  }
  if (from._internal_relation_oid() != 0) {
    _this->_internal_set_relation_oid(from._internal_relation_oid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_oid_)
      + sizeof(TableLikeClause::_impl_.relation_oid_)
      - PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TableLikeClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[217]);
}

// ===================================================================

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->_impl_.arg_type_;
}
const ::pg_query::Node&
FunctionParameter::_Internal::defexpr(const FunctionParameter* msg) {
  return *msg->_impl_.defexpr_;
}
FunctionParameter::FunctionParameter(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.FunctionParameter)
}
FunctionParameter::FunctionParameter(const FunctionParameter& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  FunctionParameter* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.arg_type_){nullptr}
    , decltype(_impl_.defexpr_){nullptr}
    , decltype(_impl_.mode_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_arg_type()) {
    _this->_impl_.arg_type_ = new ::pg_query::TypeName(*from._impl_.arg_type_);
  }
  if (from._internal_has_defexpr()) {
    _this->_impl_.defexpr_ = new ::pg_query::Node(*from._impl_.defexpr_);
  }
  _this->_impl_.mode_ = from._impl_.mode_;
  // @@protoc_insertion_point(copy_constructor:pg_query.FunctionParameter)
}

inline void FunctionParameter::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.arg_type_){nullptr}
    , decltype(_impl_.defexpr_){nullptr}
    , decltype(_impl_.mode_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

FunctionParameter::~FunctionParameter() {
  // @@protoc_insertion_point(destructor:pg_query.FunctionParameter)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void FunctionParameter::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.arg_type_;
  if (this != internal_default_instance()) delete _impl_.defexpr_;
}

void FunctionParameter::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void FunctionParameter::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FunctionParameter)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.arg_type_ != nullptr) {
    delete _impl_.arg_type_;
  }
  _impl_.arg_type_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.defexpr_ != nullptr) {
    delete _impl_.defexpr_;
  }
  _impl_.defexpr_ = nullptr;
  _impl_.mode_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* FunctionParameter::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.FunctionParameter.name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_defexpr(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* FunctionParameter::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FunctionParameter)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_has_arg_type()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::arg_type(this),
        _Internal::arg_type(this).GetCachedSize(), target, stream);
  }

  // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_mode(), target);
  }

  // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
  if (this->_internal_has_defexpr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::defexpr(this),
        _Internal::defexpr(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
  if (this->_internal_has_arg_type()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.arg_type_);
  }

  // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
  if (this->_internal_has_defexpr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.defexpr_);
  }

  // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_mode());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FunctionParameter::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    FunctionParameter::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FunctionParameter::GetClassData() const { return &_class_data_; }


void FunctionParameter::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<FunctionParameter*>(&to_msg);
  auto& from = static_cast<const FunctionParameter&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FunctionParameter)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_arg_type()) {
    _this->_internal_mutable_arg_type()->::pg_query::TypeName::MergeFrom(
        from._internal_arg_type());
  }
  if (from._internal_has_defexpr()) {
    _this->_internal_mutable_defexpr()->::pg_query::Node::MergeFrom(
        from._internal_defexpr());
  }
  if (from._internal_mode() != 0) {
    _this->_internal_set_mode(from._internal_mode());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.mode_)
      + sizeof(FunctionParameter::_impl_.mode_)
      - PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.arg_type_)>(
          reinterpret_cast<char*>(&_impl_.arg_type_),
          reinterpret_cast<char*>(&other->_impl_.arg_type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata FunctionParameter::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[218]);
}

// ===================================================================

class LockingClause::_Internal {
 public:
};

LockingClause::LockingClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.LockingClause)
}
LockingClause::LockingClause(const LockingClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  LockingClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.locked_rels_){from._impl_.locked_rels_}
    , decltype(_impl_.strength_){}
    , decltype(_impl_.wait_policy_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.strength_, &from._impl_.strength_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.wait_policy_) -
    reinterpret_cast<char*>(&_impl_.strength_)) + sizeof(_impl_.wait_policy_));
  // @@protoc_insertion_point(copy_constructor:pg_query.LockingClause)
}

inline void LockingClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.locked_rels_){arena}
    , decltype(_impl_.strength_){0}
    , decltype(_impl_.wait_policy_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

LockingClause::~LockingClause() {
  // @@protoc_insertion_point(destructor:pg_query.LockingClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void LockingClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.locked_rels_.~RepeatedPtrField();
}

void LockingClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void LockingClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LockingClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.locked_rels_.Clear();
  ::memset(&_impl_.strength_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.wait_policy_) -
      reinterpret_cast<char*>(&_impl_.strength_)) + sizeof(_impl_.wait_policy_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LockingClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          uint64_t 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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* LockingClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LockingClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_locked_rels_size()); i < n; i++) {
    const auto& repfield = this->_internal_locked_rels(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_strength(), target);
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_wait_policy(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.locked_rels_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_strength());
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_wait_policy());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LockingClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    LockingClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LockingClause::GetClassData() const { return &_class_data_; }


void LockingClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<LockingClause*>(&to_msg);
  auto& from = static_cast<const LockingClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LockingClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.locked_rels_.MergeFrom(from._impl_.locked_rels_);
  if (from._internal_strength() != 0) {
    _this->_internal_set_strength(from._internal_strength());
  }
  if (from._internal_wait_policy() != 0) {
    _this->_internal_set_wait_policy(from._internal_wait_policy());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.locked_rels_.InternalSwap(&other->_impl_.locked_rels_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.wait_policy_)
      + sizeof(LockingClause::_impl_.wait_policy_)
      - PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.strength_)>(
          reinterpret_cast<char*>(&_impl_.strength_),
          reinterpret_cast<char*>(&other->_impl_.strength_));
}

::PROTOBUF_NAMESPACE_ID::Metadata LockingClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[219]);
}

// ===================================================================

class RowMarkClause::_Internal {
 public:
};

RowMarkClause::RowMarkClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowMarkClause)
}
RowMarkClause::RowMarkClause(const RowMarkClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RowMarkClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.rti_){}
    , decltype(_impl_.strength_){}
    , decltype(_impl_.wait_policy_){}
    , decltype(_impl_.pushed_down_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.rti_, &from._impl_.rti_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.pushed_down_) -
    reinterpret_cast<char*>(&_impl_.rti_)) + sizeof(_impl_.pushed_down_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RowMarkClause)
}

inline void RowMarkClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.rti_){0u}
    , decltype(_impl_.strength_){0}
    , decltype(_impl_.wait_policy_){0}
    , decltype(_impl_.pushed_down_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

RowMarkClause::~RowMarkClause() {
  // @@protoc_insertion_point(destructor:pg_query.RowMarkClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RowMarkClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void RowMarkClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RowMarkClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RowMarkClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.rti_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.pushed_down_) -
      reinterpret_cast<char*>(&_impl_.rti_)) + sizeof(_impl_.pushed_down_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RowMarkClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // uint32 rti = 1 [json_name = "rti"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.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<uint8_t>(tag) == 16)) {
          uint64_t 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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(tag) == 32)) {
          _impl_.pushed_down_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RowMarkClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RowMarkClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // uint32 rti = 1 [json_name = "rti"];
  if (this->_internal_rti() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_rti(), target);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_strength(), target);
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_wait_policy(), target);
  }

  // bool pushed_down = 4 [json_name = "pushedDown"];
  if (this->_internal_pushed_down() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_pushed_down(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_rti() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_rti());
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_strength());
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_wait_policy());
  }

  // bool pushed_down = 4 [json_name = "pushedDown"];
  if (this->_internal_pushed_down() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RowMarkClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RowMarkClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RowMarkClause::GetClassData() const { return &_class_data_; }


void RowMarkClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RowMarkClause*>(&to_msg);
  auto& from = static_cast<const RowMarkClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RowMarkClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_rti() != 0) {
    _this->_internal_set_rti(from._internal_rti());
  }
  if (from._internal_strength() != 0) {
    _this->_internal_set_strength(from._internal_strength());
  }
  if (from._internal_wait_policy() != 0) {
    _this->_internal_set_wait_policy(from._internal_wait_policy());
  }
  if (from._internal_pushed_down() != 0) {
    _this->_internal_set_pushed_down(from._internal_pushed_down());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.pushed_down_)
      + sizeof(RowMarkClause::_impl_.pushed_down_)
      - PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.rti_)>(
          reinterpret_cast<char*>(&_impl_.rti_),
          reinterpret_cast<char*>(&other->_impl_.rti_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RowMarkClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[220]);
}

// ===================================================================

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->_impl_.expr_;
}
const ::pg_query::TypeName&
XmlSerialize::_Internal::type_name(const XmlSerialize* msg) {
  return *msg->_impl_.type_name_;
}
XmlSerialize::XmlSerialize(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.XmlSerialize)
}
XmlSerialize::XmlSerialize(const XmlSerialize& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  XmlSerialize* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.xmloption_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_expr()) {
    _this->_impl_.expr_ = new ::pg_query::Node(*from._impl_.expr_);
  }
  if (from._internal_has_type_name()) {
    _this->_impl_.type_name_ = new ::pg_query::TypeName(*from._impl_.type_name_);
  }
  ::memcpy(&_impl_.xmloption_, &from._impl_.xmloption_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.xmloption_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.XmlSerialize)
}

inline void XmlSerialize::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.type_name_){nullptr}
    , decltype(_impl_.xmloption_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

XmlSerialize::~XmlSerialize() {
  // @@protoc_insertion_point(destructor:pg_query.XmlSerialize)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void XmlSerialize::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.expr_;
  if (this != internal_default_instance()) delete _impl_.type_name_;
}

void XmlSerialize::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void XmlSerialize::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.XmlSerialize)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) {
    delete _impl_.expr_;
  }
  _impl_.expr_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) {
    delete _impl_.type_name_;
  }
  _impl_.type_name_ = nullptr;
  ::memset(&_impl_.xmloption_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.xmloption_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* XmlSerialize::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* XmlSerialize::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.XmlSerialize)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_xmloption(), target);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.expr_);
  }

  // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
  if (this->_internal_has_type_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.type_name_);
  }

  // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_xmloption());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData XmlSerialize::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    XmlSerialize::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*XmlSerialize::GetClassData() const { return &_class_data_; }


void XmlSerialize::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<XmlSerialize*>(&to_msg);
  auto& from = static_cast<const XmlSerialize&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.XmlSerialize)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_expr()) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_has_type_name()) {
    _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
        from._internal_type_name());
  }
  if (from._internal_xmloption() != 0) {
    _this->_internal_set_xmloption(from._internal_xmloption());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.location_)
      + sizeof(XmlSerialize::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata XmlSerialize::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[221]);
}

// ===================================================================

class WithClause::_Internal {
 public:
};

WithClause::WithClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.WithClause)
}
WithClause::WithClause(const WithClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  WithClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.ctes_){from._impl_.ctes_}
    , decltype(_impl_.recursive_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.recursive_, &from._impl_.recursive_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.recursive_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.WithClause)
}

inline void WithClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.ctes_){arena}
    , decltype(_impl_.recursive_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

WithClause::~WithClause() {
  // @@protoc_insertion_point(destructor:pg_query.WithClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void WithClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.ctes_.~RepeatedPtrField();
}

void WithClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void WithClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WithClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.ctes_.Clear();
  ::memset(&_impl_.recursive_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.recursive_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* WithClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* WithClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WithClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctes_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctes(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool recursive = 2 [json_name = "recursive"];
  if (this->_internal_recursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_recursive(), target);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.ctes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool recursive = 2 [json_name = "recursive"];
  if (this->_internal_recursive() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData WithClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    WithClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*WithClause::GetClassData() const { return &_class_data_; }


void WithClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<WithClause*>(&to_msg);
  auto& from = static_cast<const WithClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WithClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.ctes_.MergeFrom(from._impl_.ctes_);
  if (from._internal_recursive() != 0) {
    _this->_internal_set_recursive(from._internal_recursive());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.ctes_.InternalSwap(&other->_impl_.ctes_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WithClause, _impl_.location_)
      + sizeof(WithClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(WithClause, _impl_.recursive_)>(
          reinterpret_cast<char*>(&_impl_.recursive_),
          reinterpret_cast<char*>(&other->_impl_.recursive_));
}

::PROTOBUF_NAMESPACE_ID::Metadata WithClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[222]);
}

// ===================================================================

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->_impl_.where_clause_;
}
InferClause::InferClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.InferClause)
}
InferClause::InferClause(const InferClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  InferClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.index_elems_){from._impl_.index_elems_}
    , decltype(_impl_.conname_){}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.conname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_conname().empty()) {
    _this->_impl_.conname_.Set(from._internal_conname(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.InferClause)
}

inline void InferClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.index_elems_){arena}
    , decltype(_impl_.conname_){}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.conname_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.conname_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

InferClause::~InferClause() {
  // @@protoc_insertion_point(destructor:pg_query.InferClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void InferClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.index_elems_.~RepeatedPtrField();
  _impl_.conname_.Destroy();
  if (this != internal_default_instance()) delete _impl_.where_clause_;
}

void InferClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void InferClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InferClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.index_elems_.Clear();
  _impl_.conname_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InferClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_conname();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.InferClause.conname"));
        } else
          goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* InferClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InferClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_index_elems_size()); i < n; i++) {
    const auto& repfield = this->_internal_index_elems(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // string conname = 3 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    ::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->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.index_elems_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string conname = 3 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_conname());
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData InferClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    InferClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*InferClause::GetClassData() const { return &_class_data_; }


void InferClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<InferClause*>(&to_msg);
  auto& from = static_cast<const InferClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InferClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.index_elems_.MergeFrom(from._impl_.index_elems_);
  if (!from._internal_conname().empty()) {
    _this->_internal_set_conname(from._internal_conname());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.index_elems_.InternalSwap(&other->_impl_.index_elems_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.conname_, lhs_arena,
      &other->_impl_.conname_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InferClause, _impl_.location_)
      + sizeof(InferClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(InferClause, _impl_.where_clause_)>(
          reinterpret_cast<char*>(&_impl_.where_clause_),
          reinterpret_cast<char*>(&other->_impl_.where_clause_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InferClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[223]);
}

// ===================================================================

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->_impl_.infer_;
}
const ::pg_query::Node&
OnConflictClause::_Internal::where_clause(const OnConflictClause* msg) {
  return *msg->_impl_.where_clause_;
}
OnConflictClause::OnConflictClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.OnConflictClause)
}
OnConflictClause::OnConflictClause(const OnConflictClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  OnConflictClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){from._impl_.target_list_}
    , decltype(_impl_.infer_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.action_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_infer()) {
    _this->_impl_.infer_ = new ::pg_query::InferClause(*from._impl_.infer_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  ::memcpy(&_impl_.action_, &from._impl_.action_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.OnConflictClause)
}

inline void OnConflictClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){arena}
    , decltype(_impl_.infer_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , decltype(_impl_.action_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

OnConflictClause::~OnConflictClause() {
  // @@protoc_insertion_point(destructor:pg_query.OnConflictClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void OnConflictClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.target_list_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.infer_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
}

void OnConflictClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void OnConflictClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.OnConflictClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_list_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.infer_ != nullptr) {
    delete _impl_.infer_;
  }
  _impl_.infer_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  ::memset(&_impl_.action_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* OnConflictClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.OnConflictAction action = 1 [json_name = "action"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* OnConflictClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OnConflictClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_action(), target);
  }

  // .pg_query.InferClause infer = 2 [json_name = "infer"];
  if (this->_internal_has_infer()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::infer(this),
        _Internal::infer(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.target_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.InferClause infer = 2 [json_name = "infer"];
  if (this->_internal_has_infer()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.infer_);
  }

  // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_action());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData OnConflictClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    OnConflictClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*OnConflictClause::GetClassData() const { return &_class_data_; }


void OnConflictClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<OnConflictClause*>(&to_msg);
  auto& from = static_cast<const OnConflictClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OnConflictClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.target_list_.MergeFrom(from._impl_.target_list_);
  if (from._internal_has_infer()) {
    _this->_internal_mutable_infer()->::pg_query::InferClause::MergeFrom(
        from._internal_infer());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.location_)
      + sizeof(OnConflictClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.infer_)>(
          reinterpret_cast<char*>(&_impl_.infer_),
          reinterpret_cast<char*>(&other->_impl_.infer_));
}

::PROTOBUF_NAMESPACE_ID::Metadata OnConflictClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[224]);
}

// ===================================================================

class CTESearchClause::_Internal {
 public:
};

CTESearchClause::CTESearchClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CTESearchClause)
}
CTESearchClause::CTESearchClause(const CTESearchClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CTESearchClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.search_col_list_){from._impl_.search_col_list_}
    , decltype(_impl_.search_seq_column_){}
    , decltype(_impl_.search_breadth_first_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.search_seq_column_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.search_seq_column_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_search_seq_column().empty()) {
    _this->_impl_.search_seq_column_.Set(from._internal_search_seq_column(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.search_breadth_first_, &from._impl_.search_breadth_first_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.search_breadth_first_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CTESearchClause)
}

inline void CTESearchClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.search_col_list_){arena}
    , decltype(_impl_.search_seq_column_){}
    , decltype(_impl_.search_breadth_first_){false}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.search_seq_column_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.search_seq_column_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CTESearchClause::~CTESearchClause() {
  // @@protoc_insertion_point(destructor:pg_query.CTESearchClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CTESearchClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.search_col_list_.~RepeatedPtrField();
  _impl_.search_seq_column_.Destroy();
}

void CTESearchClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CTESearchClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CTESearchClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.search_col_list_.Clear();
  _impl_.search_seq_column_.ClearToEmpty();
  ::memset(&_impl_.search_breadth_first_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.search_breadth_first_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CTESearchClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_search_col_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool search_breadth_first = 2 [json_name = "search_breadth_first"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.search_breadth_first_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string search_seq_column = 3 [json_name = "search_seq_column"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_search_seq_column();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CTESearchClause.search_seq_column"));
        } else
          goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CTESearchClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CTESearchClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_search_col_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_search_col_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool search_breadth_first = 2 [json_name = "search_breadth_first"];
  if (this->_internal_search_breadth_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_search_breadth_first(), target);
  }

  // string search_seq_column = 3 [json_name = "search_seq_column"];
  if (!this->_internal_search_seq_column().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_search_seq_column().data(), static_cast<int>(this->_internal_search_seq_column().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CTESearchClause.search_seq_column");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_search_seq_column(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.CTESearchClause)
  return target;
}

size_t CTESearchClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CTESearchClause)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"];
  total_size += 1UL * this->_internal_search_col_list_size();
  for (const auto& msg : this->_impl_.search_col_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string search_seq_column = 3 [json_name = "search_seq_column"];
  if (!this->_internal_search_seq_column().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_search_seq_column());
  }

  // bool search_breadth_first = 2 [json_name = "search_breadth_first"];
  if (this->_internal_search_breadth_first() != 0) {
    total_size += 1 + 1;
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CTESearchClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CTESearchClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CTESearchClause::GetClassData() const { return &_class_data_; }


void CTESearchClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CTESearchClause*>(&to_msg);
  auto& from = static_cast<const CTESearchClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CTESearchClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.search_col_list_.MergeFrom(from._impl_.search_col_list_);
  if (!from._internal_search_seq_column().empty()) {
    _this->_internal_set_search_seq_column(from._internal_search_seq_column());
  }
  if (from._internal_search_breadth_first() != 0) {
    _this->_internal_set_search_breadth_first(from._internal_search_breadth_first());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CTESearchClause::CopyFrom(const CTESearchClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CTESearchClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CTESearchClause::IsInitialized() const {
  return true;
}

void CTESearchClause::InternalSwap(CTESearchClause* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.search_col_list_.InternalSwap(&other->_impl_.search_col_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.search_seq_column_, lhs_arena,
      &other->_impl_.search_seq_column_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.location_)
      + sizeof(CTESearchClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_breadth_first_)>(
          reinterpret_cast<char*>(&_impl_.search_breadth_first_),
          reinterpret_cast<char*>(&other->_impl_.search_breadth_first_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CTESearchClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[225]);
}

// ===================================================================

class CTECycleClause::_Internal {
 public:
  static const ::pg_query::Node& cycle_mark_value(const CTECycleClause* msg);
  static const ::pg_query::Node& cycle_mark_default(const CTECycleClause* msg);
};

const ::pg_query::Node&
CTECycleClause::_Internal::cycle_mark_value(const CTECycleClause* msg) {
  return *msg->_impl_.cycle_mark_value_;
}
const ::pg_query::Node&
CTECycleClause::_Internal::cycle_mark_default(const CTECycleClause* msg) {
  return *msg->_impl_.cycle_mark_default_;
}
CTECycleClause::CTECycleClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CTECycleClause)
}
CTECycleClause::CTECycleClause(const CTECycleClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CTECycleClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.cycle_col_list_){from._impl_.cycle_col_list_}
    , decltype(_impl_.cycle_mark_column_){}
    , decltype(_impl_.cycle_path_column_){}
    , decltype(_impl_.cycle_mark_value_){nullptr}
    , decltype(_impl_.cycle_mark_default_){nullptr}
    , decltype(_impl_.location_){}
    , decltype(_impl_.cycle_mark_type_){}
    , decltype(_impl_.cycle_mark_typmod_){}
    , decltype(_impl_.cycle_mark_collation_){}
    , decltype(_impl_.cycle_mark_neop_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.cycle_mark_column_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cycle_mark_column_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_cycle_mark_column().empty()) {
    _this->_impl_.cycle_mark_column_.Set(from._internal_cycle_mark_column(), 
      _this->GetArenaForAllocation());
  }
  _impl_.cycle_path_column_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cycle_path_column_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_cycle_path_column().empty()) {
    _this->_impl_.cycle_path_column_.Set(from._internal_cycle_path_column(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_cycle_mark_value()) {
    _this->_impl_.cycle_mark_value_ = new ::pg_query::Node(*from._impl_.cycle_mark_value_);
  }
  if (from._internal_has_cycle_mark_default()) {
    _this->_impl_.cycle_mark_default_ = new ::pg_query::Node(*from._impl_.cycle_mark_default_);
  }
  ::memcpy(&_impl_.location_, &from._impl_.location_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.cycle_mark_neop_) -
    reinterpret_cast<char*>(&_impl_.location_)) + sizeof(_impl_.cycle_mark_neop_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CTECycleClause)
}

inline void CTECycleClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.cycle_col_list_){arena}
    , decltype(_impl_.cycle_mark_column_){}
    , decltype(_impl_.cycle_path_column_){}
    , decltype(_impl_.cycle_mark_value_){nullptr}
    , decltype(_impl_.cycle_mark_default_){nullptr}
    , decltype(_impl_.location_){0}
    , decltype(_impl_.cycle_mark_type_){0u}
    , decltype(_impl_.cycle_mark_typmod_){0}
    , decltype(_impl_.cycle_mark_collation_){0u}
    , decltype(_impl_.cycle_mark_neop_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.cycle_mark_column_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cycle_mark_column_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.cycle_path_column_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cycle_path_column_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CTECycleClause::~CTECycleClause() {
  // @@protoc_insertion_point(destructor:pg_query.CTECycleClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CTECycleClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cycle_col_list_.~RepeatedPtrField();
  _impl_.cycle_mark_column_.Destroy();
  _impl_.cycle_path_column_.Destroy();
  if (this != internal_default_instance()) delete _impl_.cycle_mark_value_;
  if (this != internal_default_instance()) delete _impl_.cycle_mark_default_;
}

void CTECycleClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CTECycleClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CTECycleClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cycle_col_list_.Clear();
  _impl_.cycle_mark_column_.ClearToEmpty();
  _impl_.cycle_path_column_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.cycle_mark_value_ != nullptr) {
    delete _impl_.cycle_mark_value_;
  }
  _impl_.cycle_mark_value_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.cycle_mark_default_ != nullptr) {
    delete _impl_.cycle_mark_default_;
  }
  _impl_.cycle_mark_default_ = nullptr;
  ::memset(&_impl_.location_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.cycle_mark_neop_) -
      reinterpret_cast<char*>(&_impl_.location_)) + sizeof(_impl_.cycle_mark_neop_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CTECycleClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_cycle_col_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string cycle_mark_column = 2 [json_name = "cycle_mark_column"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_cycle_mark_column();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CTECycleClause.cycle_mark_column"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_cycle_mark_value(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_cycle_mark_default(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string cycle_path_column = 5 [json_name = "cycle_path_column"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          auto str = _internal_mutable_cycle_path_column();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CTECycleClause.cycle_path_column"));
        } else
          goto handle_unusual;
        continue;
      // int32 location = 6 [json_name = "location"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.cycle_mark_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.cycle_mark_typmod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _impl_.cycle_mark_collation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _impl_.cycle_mark_neop_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CTECycleClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CTECycleClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cycle_col_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_cycle_col_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string cycle_mark_column = 2 [json_name = "cycle_mark_column"];
  if (!this->_internal_cycle_mark_column().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_cycle_mark_column().data(), static_cast<int>(this->_internal_cycle_mark_column().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CTECycleClause.cycle_mark_column");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_cycle_mark_column(), target);
  }

  // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"];
  if (this->_internal_has_cycle_mark_value()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::cycle_mark_value(this),
        _Internal::cycle_mark_value(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"];
  if (this->_internal_has_cycle_mark_default()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::cycle_mark_default(this),
        _Internal::cycle_mark_default(this).GetCachedSize(), target, stream);
  }

  // string cycle_path_column = 5 [json_name = "cycle_path_column"];
  if (!this->_internal_cycle_path_column().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_cycle_path_column().data(), static_cast<int>(this->_internal_cycle_path_column().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "pg_query.CTECycleClause.cycle_path_column");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_cycle_path_column(), target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_location(), target);
  }

  // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"];
  if (this->_internal_cycle_mark_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_cycle_mark_type(), target);
  }

  // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"];
  if (this->_internal_cycle_mark_typmod() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(8, this->_internal_cycle_mark_typmod(), target);
  }

  // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"];
  if (this->_internal_cycle_mark_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_cycle_mark_collation(), target);
  }

  // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"];
  if (this->_internal_cycle_mark_neop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(10, this->_internal_cycle_mark_neop(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.CTECycleClause)
  return target;
}

size_t CTECycleClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.CTECycleClause)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"];
  total_size += 1UL * this->_internal_cycle_col_list_size();
  for (const auto& msg : this->_impl_.cycle_col_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string cycle_mark_column = 2 [json_name = "cycle_mark_column"];
  if (!this->_internal_cycle_mark_column().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cycle_mark_column());
  }

  // string cycle_path_column = 5 [json_name = "cycle_path_column"];
  if (!this->_internal_cycle_path_column().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cycle_path_column());
  }

  // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"];
  if (this->_internal_has_cycle_mark_value()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.cycle_mark_value_);
  }

  // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"];
  if (this->_internal_has_cycle_mark_default()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.cycle_mark_default_);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"];
  if (this->_internal_cycle_mark_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cycle_mark_type());
  }

  // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"];
  if (this->_internal_cycle_mark_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_cycle_mark_typmod());
  }

  // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"];
  if (this->_internal_cycle_mark_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cycle_mark_collation());
  }

  // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"];
  if (this->_internal_cycle_mark_neop() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cycle_mark_neop());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CTECycleClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CTECycleClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CTECycleClause::GetClassData() const { return &_class_data_; }


void CTECycleClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CTECycleClause*>(&to_msg);
  auto& from = static_cast<const CTECycleClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CTECycleClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.cycle_col_list_.MergeFrom(from._impl_.cycle_col_list_);
  if (!from._internal_cycle_mark_column().empty()) {
    _this->_internal_set_cycle_mark_column(from._internal_cycle_mark_column());
  }
  if (!from._internal_cycle_path_column().empty()) {
    _this->_internal_set_cycle_path_column(from._internal_cycle_path_column());
  }
  if (from._internal_has_cycle_mark_value()) {
    _this->_internal_mutable_cycle_mark_value()->::pg_query::Node::MergeFrom(
        from._internal_cycle_mark_value());
  }
  if (from._internal_has_cycle_mark_default()) {
    _this->_internal_mutable_cycle_mark_default()->::pg_query::Node::MergeFrom(
        from._internal_cycle_mark_default());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  if (from._internal_cycle_mark_type() != 0) {
    _this->_internal_set_cycle_mark_type(from._internal_cycle_mark_type());
  }
  if (from._internal_cycle_mark_typmod() != 0) {
    _this->_internal_set_cycle_mark_typmod(from._internal_cycle_mark_typmod());
  }
  if (from._internal_cycle_mark_collation() != 0) {
    _this->_internal_set_cycle_mark_collation(from._internal_cycle_mark_collation());
  }
  if (from._internal_cycle_mark_neop() != 0) {
    _this->_internal_set_cycle_mark_neop(from._internal_cycle_mark_neop());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CTECycleClause::CopyFrom(const CTECycleClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.CTECycleClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CTECycleClause::IsInitialized() const {
  return true;
}

void CTECycleClause::InternalSwap(CTECycleClause* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.cycle_col_list_.InternalSwap(&other->_impl_.cycle_col_list_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.cycle_mark_column_, lhs_arena,
      &other->_impl_.cycle_mark_column_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.cycle_path_column_, lhs_arena,
      &other->_impl_.cycle_path_column_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_neop_)
      + sizeof(CTECycleClause::_impl_.cycle_mark_neop_)
      - PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_value_)>(
          reinterpret_cast<char*>(&_impl_.cycle_mark_value_),
          reinterpret_cast<char*>(&other->_impl_.cycle_mark_value_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CTECycleClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[226]);
}

// ===================================================================

class CommonTableExpr::_Internal {
 public:
  static const ::pg_query::Node& ctequery(const CommonTableExpr* msg);
  static const ::pg_query::CTESearchClause& search_clause(const CommonTableExpr* msg);
  static const ::pg_query::CTECycleClause& cycle_clause(const CommonTableExpr* msg);
};

const ::pg_query::Node&
CommonTableExpr::_Internal::ctequery(const CommonTableExpr* msg) {
  return *msg->_impl_.ctequery_;
}
const ::pg_query::CTESearchClause&
CommonTableExpr::_Internal::search_clause(const CommonTableExpr* msg) {
  return *msg->_impl_.search_clause_;
}
const ::pg_query::CTECycleClause&
CommonTableExpr::_Internal::cycle_clause(const CommonTableExpr* msg) {
  return *msg->_impl_.cycle_clause_;
}
CommonTableExpr::CommonTableExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CommonTableExpr)
}
CommonTableExpr::CommonTableExpr(const CommonTableExpr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CommonTableExpr* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.aliascolnames_){from._impl_.aliascolnames_}
    , decltype(_impl_.ctecolnames_){from._impl_.ctecolnames_}
    , decltype(_impl_.ctecoltypes_){from._impl_.ctecoltypes_}
    , decltype(_impl_.ctecoltypmods_){from._impl_.ctecoltypmods_}
    , decltype(_impl_.ctecolcollations_){from._impl_.ctecolcollations_}
    , decltype(_impl_.ctename_){}
    , decltype(_impl_.ctequery_){nullptr}
    , decltype(_impl_.search_clause_){nullptr}
    , decltype(_impl_.cycle_clause_){nullptr}
    , decltype(_impl_.ctematerialized_){}
    , decltype(_impl_.location_){}
    , decltype(_impl_.cterecursive_){}
    , decltype(_impl_.cterefcount_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.ctename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.ctename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_ctename().empty()) {
    _this->_impl_.ctename_.Set(from._internal_ctename(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_ctequery()) {
    _this->_impl_.ctequery_ = new ::pg_query::Node(*from._impl_.ctequery_);
  }
  if (from._internal_has_search_clause()) {
    _this->_impl_.search_clause_ = new ::pg_query::CTESearchClause(*from._impl_.search_clause_);
  }
  if (from._internal_has_cycle_clause()) {
    _this->_impl_.cycle_clause_ = new ::pg_query::CTECycleClause(*from._impl_.cycle_clause_);
  }
  ::memcpy(&_impl_.ctematerialized_, &from._impl_.ctematerialized_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.cterefcount_) -
    reinterpret_cast<char*>(&_impl_.ctematerialized_)) + sizeof(_impl_.cterefcount_));
  // @@protoc_insertion_point(copy_constructor:pg_query.CommonTableExpr)
}

inline void CommonTableExpr::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.aliascolnames_){arena}
    , decltype(_impl_.ctecolnames_){arena}
    , decltype(_impl_.ctecoltypes_){arena}
    , decltype(_impl_.ctecoltypmods_){arena}
    , decltype(_impl_.ctecolcollations_){arena}
    , decltype(_impl_.ctename_){}
    , decltype(_impl_.ctequery_){nullptr}
    , decltype(_impl_.search_clause_){nullptr}
    , decltype(_impl_.cycle_clause_){nullptr}
    , decltype(_impl_.ctematerialized_){0}
    , decltype(_impl_.location_){0}
    , decltype(_impl_.cterecursive_){false}
    , decltype(_impl_.cterefcount_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.ctename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.ctename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CommonTableExpr::~CommonTableExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CommonTableExpr)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CommonTableExpr::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.aliascolnames_.~RepeatedPtrField();
  _impl_.ctecolnames_.~RepeatedPtrField();
  _impl_.ctecoltypes_.~RepeatedPtrField();
  _impl_.ctecoltypmods_.~RepeatedPtrField();
  _impl_.ctecolcollations_.~RepeatedPtrField();
  _impl_.ctename_.Destroy();
  if (this != internal_default_instance()) delete _impl_.ctequery_;
  if (this != internal_default_instance()) delete _impl_.search_clause_;
  if (this != internal_default_instance()) delete _impl_.cycle_clause_;
}

void CommonTableExpr::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CommonTableExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CommonTableExpr)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.aliascolnames_.Clear();
  _impl_.ctecolnames_.Clear();
  _impl_.ctecoltypes_.Clear();
  _impl_.ctecoltypmods_.Clear();
  _impl_.ctecolcollations_.Clear();
  _impl_.ctename_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.ctequery_ != nullptr) {
    delete _impl_.ctequery_;
  }
  _impl_.ctequery_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.search_clause_ != nullptr) {
    delete _impl_.search_clause_;
  }
  _impl_.search_clause_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.cycle_clause_ != nullptr) {
    delete _impl_.cycle_clause_;
  }
  _impl_.cycle_clause_ = nullptr;
  ::memset(&_impl_.ctematerialized_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.cterefcount_) -
      reinterpret_cast<char*>(&_impl_.ctematerialized_)) + sizeof(_impl_.cterefcount_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CommonTableExpr::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string ctename = 1 [json_name = "ctename"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_ctename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.CommonTableExpr.ctename"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 24)) {
          uint64_t 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<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_ctequery(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_search_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_cycle_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 7 [json_name = "location"];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool cterecursive = 8 [json_name = "cterecursive"];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _impl_.cterecursive_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 cterefcount = 9 [json_name = "cterefcount"];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _impl_.cterefcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          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<82>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          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<90>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          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<98>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          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<106>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CommonTableExpr::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CommonTableExpr)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string ctename = 1 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_aliascolnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_aliascolnames(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
  if (this->_internal_ctematerialized() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_ctematerialized(), target);
  }

  // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
  if (this->_internal_has_ctequery()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::ctequery(this),
        _Internal::ctequery(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"];
  if (this->_internal_has_search_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::search_clause(this),
        _Internal::search_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"];
  if (this->_internal_has_cycle_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::cycle_clause(this),
        _Internal::cycle_clause(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_location(), target);
  }

  // bool cterecursive = 8 [json_name = "cterecursive"];
  if (this->_internal_cterecursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_cterecursive(), target);
  }

  // int32 cterefcount = 9 [json_name = "cterefcount"];
  if (this->_internal_cterefcount() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(9, this->_internal_cterefcount(), target);
  }

  // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecolnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecolnames(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecoltypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecoltypes(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecoltypmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecoltypmods(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecolcollations_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecolcollations(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.aliascolnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"];
  total_size += 1UL * this->_internal_ctecolnames_size();
  for (const auto& msg : this->_impl_.ctecolnames_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"];
  total_size += 1UL * this->_internal_ctecoltypes_size();
  for (const auto& msg : this->_impl_.ctecoltypes_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"];
  total_size += 1UL * this->_internal_ctecoltypmods_size();
  for (const auto& msg : this->_impl_.ctecoltypmods_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"];
  total_size += 1UL * this->_internal_ctecolcollations_size();
  for (const auto& msg : this->_impl_.ctecolcollations_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string ctename = 1 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_ctename());
  }

  // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
  if (this->_internal_has_ctequery()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.ctequery_);
  }

  // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"];
  if (this->_internal_has_search_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.search_clause_);
  }

  // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"];
  if (this->_internal_has_cycle_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.cycle_clause_);
  }

  // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
  if (this->_internal_ctematerialized() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_ctematerialized());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  // bool cterecursive = 8 [json_name = "cterecursive"];
  if (this->_internal_cterecursive() != 0) {
    total_size += 1 + 1;
  }

  // int32 cterefcount = 9 [json_name = "cterefcount"];
  if (this->_internal_cterefcount() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_cterefcount());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CommonTableExpr::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CommonTableExpr::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CommonTableExpr::GetClassData() const { return &_class_data_; }


void CommonTableExpr::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CommonTableExpr*>(&to_msg);
  auto& from = static_cast<const CommonTableExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CommonTableExpr)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.aliascolnames_.MergeFrom(from._impl_.aliascolnames_);
  _this->_impl_.ctecolnames_.MergeFrom(from._impl_.ctecolnames_);
  _this->_impl_.ctecoltypes_.MergeFrom(from._impl_.ctecoltypes_);
  _this->_impl_.ctecoltypmods_.MergeFrom(from._impl_.ctecoltypmods_);
  _this->_impl_.ctecolcollations_.MergeFrom(from._impl_.ctecolcollations_);
  if (!from._internal_ctename().empty()) {
    _this->_internal_set_ctename(from._internal_ctename());
  }
  if (from._internal_has_ctequery()) {
    _this->_internal_mutable_ctequery()->::pg_query::Node::MergeFrom(
        from._internal_ctequery());
  }
  if (from._internal_has_search_clause()) {
    _this->_internal_mutable_search_clause()->::pg_query::CTESearchClause::MergeFrom(
        from._internal_search_clause());
  }
  if (from._internal_has_cycle_clause()) {
    _this->_internal_mutable_cycle_clause()->::pg_query::CTECycleClause::MergeFrom(
        from._internal_cycle_clause());
  }
  if (from._internal_ctematerialized() != 0) {
    _this->_internal_set_ctematerialized(from._internal_ctematerialized());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  if (from._internal_cterecursive() != 0) {
    _this->_internal_set_cterecursive(from._internal_cterecursive());
  }
  if (from._internal_cterefcount() != 0) {
    _this->_internal_set_cterefcount(from._internal_cterefcount());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.aliascolnames_.InternalSwap(&other->_impl_.aliascolnames_);
  _impl_.ctecolnames_.InternalSwap(&other->_impl_.ctecolnames_);
  _impl_.ctecoltypes_.InternalSwap(&other->_impl_.ctecoltypes_);
  _impl_.ctecoltypmods_.InternalSwap(&other->_impl_.ctecoltypmods_);
  _impl_.ctecolcollations_.InternalSwap(&other->_impl_.ctecolcollations_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.ctename_, lhs_arena,
      &other->_impl_.ctename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cterefcount_)
      + sizeof(CommonTableExpr::_impl_.cterefcount_)
      - PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctequery_)>(
          reinterpret_cast<char*>(&_impl_.ctequery_),
          reinterpret_cast<char*>(&other->_impl_.ctequery_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CommonTableExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[227]);
}

// ===================================================================

class MergeWhenClause::_Internal {
 public:
  static const ::pg_query::Node& condition(const MergeWhenClause* msg);
};

const ::pg_query::Node&
MergeWhenClause::_Internal::condition(const MergeWhenClause* msg) {
  return *msg->_impl_.condition_;
}
MergeWhenClause::MergeWhenClause(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.MergeWhenClause)
}
MergeWhenClause::MergeWhenClause(const MergeWhenClause& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  MergeWhenClause* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){from._impl_.target_list_}
    , decltype(_impl_.values_){from._impl_.values_}
    , decltype(_impl_.condition_){nullptr}
    , decltype(_impl_.matched_){}
    , decltype(_impl_.command_type_){}
    , decltype(_impl_.override_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_condition()) {
    _this->_impl_.condition_ = new ::pg_query::Node(*from._impl_.condition_);
  }
  ::memcpy(&_impl_.matched_, &from._impl_.matched_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.override_) -
    reinterpret_cast<char*>(&_impl_.matched_)) + sizeof(_impl_.override_));
  // @@protoc_insertion_point(copy_constructor:pg_query.MergeWhenClause)
}

inline void MergeWhenClause::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.target_list_){arena}
    , decltype(_impl_.values_){arena}
    , decltype(_impl_.condition_){nullptr}
    , decltype(_impl_.matched_){false}
    , decltype(_impl_.command_type_){0}
    , decltype(_impl_.override_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

MergeWhenClause::~MergeWhenClause() {
  // @@protoc_insertion_point(destructor:pg_query.MergeWhenClause)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void MergeWhenClause::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.target_list_.~RepeatedPtrField();
  _impl_.values_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.condition_;
}

void MergeWhenClause::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void MergeWhenClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MergeWhenClause)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_list_.Clear();
  _impl_.values_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.condition_ != nullptr) {
    delete _impl_.condition_;
  }
  _impl_.condition_ = nullptr;
  ::memset(&_impl_.matched_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.override_) -
      reinterpret_cast<char*>(&_impl_.matched_)) + sizeof(_impl_.override_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* MergeWhenClause::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool matched = 1 [json_name = "matched"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.matched_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t 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.OverridingKind override = 3 [json_name = "override"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          uint64_t 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.Node condition = 4 [json_name = "condition"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_condition(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          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<42>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node values = 6 [json_name = "values"];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_values(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* MergeWhenClause::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MergeWhenClause)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool matched = 1 [json_name = "matched"];
  if (this->_internal_matched() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_matched(), target);
  }

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_command_type(), target);
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_override(), target);
  }

  // .pg_query.Node condition = 4 [json_name = "condition"];
  if (this->_internal_has_condition()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::condition(this),
        _Internal::condition(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node values = 6 [json_name = "values"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_values_size()); i < n; i++) {
    const auto& repfield = this->_internal_values(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.MergeWhenClause)
  return target;
}

size_t MergeWhenClause::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.MergeWhenClause)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->_impl_.target_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .pg_query.Node values = 6 [json_name = "values"];
  total_size += 1UL * this->_internal_values_size();
  for (const auto& msg : this->_impl_.values_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.Node condition = 4 [json_name = "condition"];
  if (this->_internal_has_condition()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.condition_);
  }

  // bool matched = 1 [json_name = "matched"];
  if (this->_internal_matched() != 0) {
    total_size += 1 + 1;
  }

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_command_type());
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MergeWhenClause::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    MergeWhenClause::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MergeWhenClause::GetClassData() const { return &_class_data_; }


void MergeWhenClause::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<MergeWhenClause*>(&to_msg);
  auto& from = static_cast<const MergeWhenClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MergeWhenClause)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.target_list_.MergeFrom(from._impl_.target_list_);
  _this->_impl_.values_.MergeFrom(from._impl_.values_);
  if (from._internal_has_condition()) {
    _this->_internal_mutable_condition()->::pg_query::Node::MergeFrom(
        from._internal_condition());
  }
  if (from._internal_matched() != 0) {
    _this->_internal_set_matched(from._internal_matched());
  }
  if (from._internal_command_type() != 0) {
    _this->_internal_set_command_type(from._internal_command_type());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void MergeWhenClause::CopyFrom(const MergeWhenClause& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.MergeWhenClause)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool MergeWhenClause::IsInitialized() const {
  return true;
}

void MergeWhenClause::InternalSwap(MergeWhenClause* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.values_.InternalSwap(&other->_impl_.values_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.override_)
      + sizeof(MergeWhenClause::_impl_.override_)
      - PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.condition_)>(
          reinterpret_cast<char*>(&_impl_.condition_),
          reinterpret_cast<char*>(&other->_impl_.condition_));
}

::PROTOBUF_NAMESPACE_ID::Metadata MergeWhenClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[228]);
}

// ===================================================================

class RoleSpec::_Internal {
 public:
};

RoleSpec::RoleSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.RoleSpec)
}
RoleSpec::RoleSpec(const RoleSpec& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RoleSpec* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.rolename_){}
    , decltype(_impl_.roletype_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.rolename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rolename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_rolename().empty()) {
    _this->_impl_.rolename_.Set(from._internal_rolename(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.roletype_, &from._impl_.roletype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.roletype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.RoleSpec)
}

inline void RoleSpec::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.rolename_){}
    , decltype(_impl_.roletype_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.rolename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rolename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

RoleSpec::~RoleSpec() {
  // @@protoc_insertion_point(destructor:pg_query.RoleSpec)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RoleSpec::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.rolename_.Destroy();
}

void RoleSpec::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RoleSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RoleSpec)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.rolename_.ClearToEmpty();
  ::memset(&_impl_.roletype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.roletype_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RoleSpec::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_rolename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.RoleSpec.rolename"));
        } else
          goto handle_unusual;
        continue;
      // int32 location = 3 [json_name = "location"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RoleSpec::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RoleSpec)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
  if (this->_internal_roletype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_roletype(), target);
  }

  // string rolename = 2 [json_name = "rolename"];
  if (!this->_internal_rolename().empty()) {
    ::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->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_rolename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_rolename());
  }

  // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
  if (this->_internal_roletype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_roletype());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RoleSpec::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RoleSpec::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RoleSpec::GetClassData() const { return &_class_data_; }


void RoleSpec::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RoleSpec*>(&to_msg);
  auto& from = static_cast<const RoleSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RoleSpec)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_rolename().empty()) {
    _this->_internal_set_rolename(from._internal_rolename());
  }
  if (from._internal_roletype() != 0) {
    _this->_internal_set_roletype(from._internal_roletype());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.rolename_, lhs_arena,
      &other->_impl_.rolename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.location_)
      + sizeof(RoleSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.roletype_)>(
          reinterpret_cast<char*>(&_impl_.roletype_),
          reinterpret_cast<char*>(&other->_impl_.roletype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RoleSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[229]);
}

// ===================================================================

class TriggerTransition::_Internal {
 public:
};

TriggerTransition::TriggerTransition(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.TriggerTransition)
}
TriggerTransition::TriggerTransition(const TriggerTransition& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TriggerTransition* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.is_new_){}
    , decltype(_impl_.is_table_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.is_new_, &from._impl_.is_new_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.is_table_) -
    reinterpret_cast<char*>(&_impl_.is_new_)) + sizeof(_impl_.is_table_));
  // @@protoc_insertion_point(copy_constructor:pg_query.TriggerTransition)
}

inline void TriggerTransition::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.is_new_){false}
    , decltype(_impl_.is_table_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

TriggerTransition::~TriggerTransition() {
  // @@protoc_insertion_point(destructor:pg_query.TriggerTransition)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TriggerTransition::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
}

void TriggerTransition::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TriggerTransition::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TriggerTransition)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  ::memset(&_impl_.is_new_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.is_table_) -
      reinterpret_cast<char*>(&_impl_.is_new_)) + sizeof(_impl_.is_table_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TriggerTransition::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.TriggerTransition.name"));
        } else
          goto handle_unusual;
        continue;
      // bool is_new = 2 [json_name = "isNew"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.is_table_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TriggerTransition::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TriggerTransition)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_is_new() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_new(), target);
  }

  // bool is_table = 3 [json_name = "isTable"];
  if (this->_internal_is_table() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_table(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // bool is_new = 2 [json_name = "isNew"];
  if (this->_internal_is_new() != 0) {
    total_size += 1 + 1;
  }

  // bool is_table = 3 [json_name = "isTable"];
  if (this->_internal_is_table() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TriggerTransition::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TriggerTransition::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TriggerTransition::GetClassData() const { return &_class_data_; }


void TriggerTransition::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TriggerTransition*>(&to_msg);
  auto& from = static_cast<const TriggerTransition&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TriggerTransition)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_is_new() != 0) {
    _this->_internal_set_is_new(from._internal_is_new());
  }
  if (from._internal_is_table() != 0) {
    _this->_internal_set_is_table(from._internal_is_table());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_table_)
      + sizeof(TriggerTransition::_impl_.is_table_)
      - PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_new_)>(
          reinterpret_cast<char*>(&_impl_.is_new_),
          reinterpret_cast<char*>(&other->_impl_.is_new_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TriggerTransition::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[230]);
}

// ===================================================================

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->_impl_.expr_;
}
PartitionElem::PartitionElem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionElem)
}
PartitionElem::PartitionElem(const PartitionElem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PartitionElem* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.collation_){from._impl_.collation_}
    , decltype(_impl_.opclass_){from._impl_.opclass_}
    , decltype(_impl_.name_){}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_expr()) {
    _this->_impl_.expr_ = new ::pg_query::Node(*from._impl_.expr_);
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionElem)
}

inline void PartitionElem::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.collation_){arena}
    , decltype(_impl_.opclass_){arena}
    , decltype(_impl_.name_){}
    , decltype(_impl_.expr_){nullptr}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PartitionElem::~PartitionElem() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionElem)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PartitionElem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.collation_.~RepeatedPtrField();
  _impl_.opclass_.~RepeatedPtrField();
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.expr_;
}

void PartitionElem::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PartitionElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionElem)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collation_.Clear();
  _impl_.opclass_.Clear();
  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) {
    delete _impl_.expr_;
  }
  _impl_.expr_ = nullptr;
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionElem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.PartitionElem.name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node expr = 2 [json_name = "expr"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 40)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PartitionElem::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionElem)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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->_internal_has_expr()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node collation = 3 [json_name = "collation"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_collation_size()); i < n; i++) {
    const auto& repfield = this->_internal_collation(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclass_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclass(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.opclass_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (this->_internal_has_expr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.expr_);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PartitionElem::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PartitionElem::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PartitionElem::GetClassData() const { return &_class_data_; }


void PartitionElem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PartitionElem*>(&to_msg);
  auto& from = static_cast<const PartitionElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionElem)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.collation_.MergeFrom(from._impl_.collation_);
  _this->_impl_.opclass_.MergeFrom(from._impl_.opclass_);
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_expr()) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.collation_.InternalSwap(&other->_impl_.collation_);
  _impl_.opclass_.InternalSwap(&other->_impl_.opclass_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.location_)
      + sizeof(PartitionElem::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[231]);
}

// ===================================================================

class PartitionSpec::_Internal {
 public:
};

PartitionSpec::PartitionSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionSpec)
}
PartitionSpec::PartitionSpec(const PartitionSpec& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PartitionSpec* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.part_params_){from._impl_.part_params_}
    , decltype(_impl_.strategy_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.strategy_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.strategy_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_strategy().empty()) {
    _this->_impl_.strategy_.Set(from._internal_strategy(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.location_ = from._impl_.location_;
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionSpec)
}

inline void PartitionSpec::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.part_params_){arena}
    , decltype(_impl_.strategy_){}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.strategy_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.strategy_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PartitionSpec::~PartitionSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionSpec)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PartitionSpec::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.part_params_.~RepeatedPtrField();
  _impl_.strategy_.Destroy();
}

void PartitionSpec::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PartitionSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionSpec)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.part_params_.Clear();
  _impl_.strategy_.ClearToEmpty();
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionSpec::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string strategy = 1 [json_name = "strategy"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_strategy();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.PartitionSpec.strategy"));
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node part_params = 2 [json_name = "partParams"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PartitionSpec::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionSpec)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string strategy = 1 [json_name = "strategy"];
  if (!this->_internal_strategy().empty()) {
    ::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 i = 0,
      n = static_cast<unsigned>(this->_internal_part_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_part_params(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.part_params_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string strategy = 1 [json_name = "strategy"];
  if (!this->_internal_strategy().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_strategy());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PartitionSpec::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PartitionSpec::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PartitionSpec::GetClassData() const { return &_class_data_; }


void PartitionSpec::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PartitionSpec*>(&to_msg);
  auto& from = static_cast<const PartitionSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionSpec)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.part_params_.MergeFrom(from._impl_.part_params_);
  if (!from._internal_strategy().empty()) {
    _this->_internal_set_strategy(from._internal_strategy());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.part_params_.InternalSwap(&other->_impl_.part_params_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.strategy_, lhs_arena,
      &other->_impl_.strategy_, rhs_arena
  );
  swap(_impl_.location_, other->_impl_.location_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[232]);
}

// ===================================================================

class PartitionBoundSpec::_Internal {
 public:
};

PartitionBoundSpec::PartitionBoundSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionBoundSpec)
}
PartitionBoundSpec::PartitionBoundSpec(const PartitionBoundSpec& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PartitionBoundSpec* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.listdatums_){from._impl_.listdatums_}
    , decltype(_impl_.lowerdatums_){from._impl_.lowerdatums_}
    , decltype(_impl_.upperdatums_){from._impl_.upperdatums_}
    , decltype(_impl_.strategy_){}
    , decltype(_impl_.is_default_){}
    , decltype(_impl_.modulus_){}
    , decltype(_impl_.remainder_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.strategy_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.strategy_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_strategy().empty()) {
    _this->_impl_.strategy_.Set(from._internal_strategy(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.is_default_, &from._impl_.is_default_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.is_default_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionBoundSpec)
}

inline void PartitionBoundSpec::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.listdatums_){arena}
    , decltype(_impl_.lowerdatums_){arena}
    , decltype(_impl_.upperdatums_){arena}
    , decltype(_impl_.strategy_){}
    , decltype(_impl_.is_default_){false}
    , decltype(_impl_.modulus_){0}
    , decltype(_impl_.remainder_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.strategy_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.strategy_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PartitionBoundSpec::~PartitionBoundSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionBoundSpec)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PartitionBoundSpec::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.listdatums_.~RepeatedPtrField();
  _impl_.lowerdatums_.~RepeatedPtrField();
  _impl_.upperdatums_.~RepeatedPtrField();
  _impl_.strategy_.Destroy();
}

void PartitionBoundSpec::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PartitionBoundSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionBoundSpec)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.listdatums_.Clear();
  _impl_.lowerdatums_.Clear();
  _impl_.upperdatums_.Clear();
  _impl_.strategy_.ClearToEmpty();
  ::memset(&_impl_.is_default_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.is_default_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionBoundSpec::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string strategy = 1 [json_name = "strategy"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_strategy();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.PartitionBoundSpec.strategy"));
        } else
          goto handle_unusual;
        continue;
      // bool is_default = 2 [json_name = "is_default"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.modulus_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 remainder = 4 [json_name = "remainder"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.remainder_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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<uint8_t>(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<uint8_t>(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<uint8_t>(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<uint8_t>(tag) == 64)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PartitionBoundSpec::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionBoundSpec)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string strategy = 1 [json_name = "strategy"];
  if (!this->_internal_strategy().empty()) {
    ::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->_internal_is_default() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_default(), target);
  }

  // int32 modulus = 3 [json_name = "modulus"];
  if (this->_internal_modulus() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_modulus(), target);
  }

  // int32 remainder = 4 [json_name = "remainder"];
  if (this->_internal_remainder() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_remainder(), target);
  }

  // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_listdatums_size()); i < n; i++) {
    const auto& repfield = this->_internal_listdatums(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_lowerdatums_size()); i < n; i++) {
    const auto& repfield = this->_internal_lowerdatums(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_upperdatums_size()); i < n; i++) {
    const auto& repfield = this->_internal_upperdatums(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(8, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.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->_impl_.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->_impl_.upperdatums_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string strategy = 1 [json_name = "strategy"];
  if (!this->_internal_strategy().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_strategy());
  }

  // bool is_default = 2 [json_name = "is_default"];
  if (this->_internal_is_default() != 0) {
    total_size += 1 + 1;
  }

  // int32 modulus = 3 [json_name = "modulus"];
  if (this->_internal_modulus() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_modulus());
  }

  // int32 remainder = 4 [json_name = "remainder"];
  if (this->_internal_remainder() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_remainder());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PartitionBoundSpec::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PartitionBoundSpec::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PartitionBoundSpec::GetClassData() const { return &_class_data_; }


void PartitionBoundSpec::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PartitionBoundSpec*>(&to_msg);
  auto& from = static_cast<const PartitionBoundSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionBoundSpec)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.listdatums_.MergeFrom(from._impl_.listdatums_);
  _this->_impl_.lowerdatums_.MergeFrom(from._impl_.lowerdatums_);
  _this->_impl_.upperdatums_.MergeFrom(from._impl_.upperdatums_);
  if (!from._internal_strategy().empty()) {
    _this->_internal_set_strategy(from._internal_strategy());
  }
  if (from._internal_is_default() != 0) {
    _this->_internal_set_is_default(from._internal_is_default());
  }
  if (from._internal_modulus() != 0) {
    _this->_internal_set_modulus(from._internal_modulus());
  }
  if (from._internal_remainder() != 0) {
    _this->_internal_set_remainder(from._internal_remainder());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.listdatums_.InternalSwap(&other->_impl_.listdatums_);
  _impl_.lowerdatums_.InternalSwap(&other->_impl_.lowerdatums_);
  _impl_.upperdatums_.InternalSwap(&other->_impl_.upperdatums_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.strategy_, lhs_arena,
      &other->_impl_.strategy_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.location_)
      + sizeof(PartitionBoundSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.is_default_)>(
          reinterpret_cast<char*>(&_impl_.is_default_),
          reinterpret_cast<char*>(&other->_impl_.is_default_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionBoundSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[233]);
}

// ===================================================================

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->_impl_.value_;
}
PartitionRangeDatum::PartitionRangeDatum(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionRangeDatum)
}
PartitionRangeDatum::PartitionRangeDatum(const PartitionRangeDatum& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PartitionRangeDatum* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.value_){nullptr}
    , decltype(_impl_.kind_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_value()) {
    _this->_impl_.value_ = new ::pg_query::Node(*from._impl_.value_);
  }
  ::memcpy(&_impl_.kind_, &from._impl_.kind_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionRangeDatum)
}

inline void PartitionRangeDatum::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.value_){nullptr}
    , decltype(_impl_.kind_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

PartitionRangeDatum::~PartitionRangeDatum() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionRangeDatum)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PartitionRangeDatum::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.value_;
}

void PartitionRangeDatum::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PartitionRangeDatum::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionRangeDatum)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.value_ != nullptr) {
    delete _impl_.value_;
  }
  _impl_.value_ = nullptr;
  ::memset(&_impl_.kind_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionRangeDatum::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t 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<uint8_t>(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<uint8_t>(tag) == 24)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PartitionRangeDatum::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionRangeDatum)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_kind(), target);
  }

  // .pg_query.Node value = 2 [json_name = "value"];
  if (this->_internal_has_value()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::value(this),
        _Internal::value(this).GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_value()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.value_);
  }

  // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PartitionRangeDatum::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PartitionRangeDatum::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PartitionRangeDatum::GetClassData() const { return &_class_data_; }


void PartitionRangeDatum::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PartitionRangeDatum*>(&to_msg);
  auto& from = static_cast<const PartitionRangeDatum&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionRangeDatum)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_value()) {
    _this->_internal_mutable_value()->::pg_query::Node::MergeFrom(
        from._internal_value());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.location_)
      + sizeof(PartitionRangeDatum::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.value_)>(
          reinterpret_cast<char*>(&_impl_.value_),
          reinterpret_cast<char*>(&other->_impl_.value_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionRangeDatum::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[234]);
}

// ===================================================================

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->_impl_.name_;
}
const ::pg_query::PartitionBoundSpec&
PartitionCmd::_Internal::bound(const PartitionCmd* msg) {
  return *msg->_impl_.bound_;
}
PartitionCmd::PartitionCmd(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionCmd)
}
PartitionCmd::PartitionCmd(const PartitionCmd& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PartitionCmd* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){nullptr}
    , decltype(_impl_.bound_){nullptr}
    , decltype(_impl_.concurrent_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_name()) {
    _this->_impl_.name_ = new ::pg_query::RangeVar(*from._impl_.name_);
  }
  if (from._internal_has_bound()) {
    _this->_impl_.bound_ = new ::pg_query::PartitionBoundSpec(*from._impl_.bound_);
  }
  _this->_impl_.concurrent_ = from._impl_.concurrent_;
  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionCmd)
}

inline void PartitionCmd::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){nullptr}
    , decltype(_impl_.bound_){nullptr}
    , decltype(_impl_.concurrent_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

PartitionCmd::~PartitionCmd() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionCmd)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PartitionCmd::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.name_;
  if (this != internal_default_instance()) delete _impl_.bound_;
}

void PartitionCmd::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PartitionCmd::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionCmd)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.name_ != nullptr) {
    delete _impl_.name_;
  }
  _impl_.name_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.bound_ != nullptr) {
    delete _impl_.bound_;
  }
  _impl_.bound_ = nullptr;
  _impl_.concurrent_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PartitionCmd::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar name = 1 [json_name = "name"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_bound(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool concurrent = 3 [json_name = "concurrent"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _impl_.concurrent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PartitionCmd::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionCmd)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar name = 1 [json_name = "name"];
  if (this->_internal_has_name()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::name(this),
        _Internal::name(this).GetCachedSize(), target, stream);
  }

  // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
  if (this->_internal_has_bound()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::bound(this),
        _Internal::bound(this).GetCachedSize(), target, stream);
  }

  // bool concurrent = 3 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_concurrent(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_has_name()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.name_);
  }

  // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
  if (this->_internal_has_bound()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.bound_);
  }

  // bool concurrent = 3 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PartitionCmd::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PartitionCmd::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PartitionCmd::GetClassData() const { return &_class_data_; }


void PartitionCmd::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PartitionCmd*>(&to_msg);
  auto& from = static_cast<const PartitionCmd&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionCmd)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_name()) {
    _this->_internal_mutable_name()->::pg_query::RangeVar::MergeFrom(
        from._internal_name());
  }
  if (from._internal_has_bound()) {
    _this->_internal_mutable_bound()->::pg_query::PartitionBoundSpec::MergeFrom(
        from._internal_bound());
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.concurrent_)
      + sizeof(PartitionCmd::_impl_.concurrent_)
      - PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.name_)>(
          reinterpret_cast<char*>(&_impl_.name_),
          reinterpret_cast<char*>(&other->_impl_.name_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PartitionCmd::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[235]);
}

// ===================================================================

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->_impl_.relation_;
}
VacuumRelation::VacuumRelation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.VacuumRelation)
}
VacuumRelation::VacuumRelation(const VacuumRelation& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  VacuumRelation* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.va_cols_){from._impl_.va_cols_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.oid_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  _this->_impl_.oid_ = from._impl_.oid_;
  // @@protoc_insertion_point(copy_constructor:pg_query.VacuumRelation)
}

inline void VacuumRelation::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.va_cols_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.oid_){0u}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

VacuumRelation::~VacuumRelation() {
  // @@protoc_insertion_point(destructor:pg_query.VacuumRelation)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void VacuumRelation::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.va_cols_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
}

void VacuumRelation::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void VacuumRelation::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VacuumRelation)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.va_cols_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  _impl_.oid_ = 0u;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* VacuumRelation::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(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<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* VacuumRelation::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VacuumRelation)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // uint32 oid = 2 [json_name = "oid"];
  if (this->_internal_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_oid(), target);
  }

  // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_va_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_va_cols(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_impl_.va_cols_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // uint32 oid = 2 [json_name = "oid"];
  if (this->_internal_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_oid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VacuumRelation::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    VacuumRelation::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VacuumRelation::GetClassData() const { return &_class_data_; }


void VacuumRelation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<VacuumRelation*>(&to_msg);
  auto& from = static_cast<const VacuumRelation&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VacuumRelation)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.va_cols_.MergeFrom(from._impl_.va_cols_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_oid() != 0) {
    _this->_internal_set_oid(from._internal_oid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  _impl_.va_cols_.InternalSwap(&other->_impl_.va_cols_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.oid_)
      + sizeof(VacuumRelation::_impl_.oid_)
      - PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata VacuumRelation::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[236]);
}

// ===================================================================

class PublicationObjSpec::_Internal {
 public:
  static const ::pg_query::PublicationTable& pubtable(const PublicationObjSpec* msg);
};

const ::pg_query::PublicationTable&
PublicationObjSpec::_Internal::pubtable(const PublicationObjSpec* msg) {
  return *msg->_impl_.pubtable_;
}
PublicationObjSpec::PublicationObjSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PublicationObjSpec)
}
PublicationObjSpec::PublicationObjSpec(const PublicationObjSpec& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PublicationObjSpec* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.pubtable_){nullptr}
    , decltype(_impl_.pubobjtype_){}
    , decltype(_impl_.location_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_pubtable()) {
    _this->_impl_.pubtable_ = new ::pg_query::PublicationTable(*from._impl_.pubtable_);
  }
  ::memcpy(&_impl_.pubobjtype_, &from._impl_.pubobjtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.location_) -
    reinterpret_cast<char*>(&_impl_.pubobjtype_)) + sizeof(_impl_.location_));
  // @@protoc_insertion_point(copy_constructor:pg_query.PublicationObjSpec)
}

inline void PublicationObjSpec::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.name_){}
    , decltype(_impl_.pubtable_){nullptr}
    , decltype(_impl_.pubobjtype_){0}
    , decltype(_impl_.location_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PublicationObjSpec::~PublicationObjSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PublicationObjSpec)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PublicationObjSpec::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
  if (this != internal_default_instance()) delete _impl_.pubtable_;
}

void PublicationObjSpec::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PublicationObjSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PublicationObjSpec)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.pubtable_ != nullptr) {
    delete _impl_.pubtable_;
  }
  _impl_.pubtable_ = nullptr;
  ::memset(&_impl_.pubobjtype_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.pubobjtype_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PublicationObjSpec::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_pubobjtype(static_cast<::pg_query::PublicationObjSpecType>(val));
        } else
          goto handle_unusual;
        continue;
      // string name = 2 [json_name = "name"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.PublicationObjSpec.name"));
        } else
          goto handle_unusual;
        continue;
      // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_pubtable(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 location = 4 [json_name = "location"];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _impl_.location_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PublicationObjSpec::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PublicationObjSpec)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"];
  if (this->_internal_pubobjtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_pubobjtype(), target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    ::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.PublicationObjSpec.name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_name(), target);
  }

  // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"];
  if (this->_internal_has_pubtable()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::pubtable(this),
        _Internal::pubtable(this).GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.PublicationObjSpec)
  return target;
}

size_t PublicationObjSpec::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PublicationObjSpec)
  size_t total_size = 0;

  uint32_t 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->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"];
  if (this->_internal_has_pubtable()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.pubtable_);
  }

  // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"];
  if (this->_internal_pubobjtype() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_pubobjtype());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PublicationObjSpec::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PublicationObjSpec::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PublicationObjSpec::GetClassData() const { return &_class_data_; }


void PublicationObjSpec::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PublicationObjSpec*>(&to_msg);
  auto& from = static_cast<const PublicationObjSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PublicationObjSpec)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_has_pubtable()) {
    _this->_internal_mutable_pubtable()->::pg_query::PublicationTable::MergeFrom(
        from._internal_pubtable());
  }
  if (from._internal_pubobjtype() != 0) {
    _this->_internal_set_pubobjtype(from._internal_pubobjtype());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void PublicationObjSpec::CopyFrom(const PublicationObjSpec& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PublicationObjSpec)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PublicationObjSpec::IsInitialized() const {
  return true;
}

void PublicationObjSpec::InternalSwap(PublicationObjSpec* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.location_)
      + sizeof(PublicationObjSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.pubtable_)>(
          reinterpret_cast<char*>(&_impl_.pubtable_),
          reinterpret_cast<char*>(&other->_impl_.pubtable_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PublicationObjSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[237]);
}

// ===================================================================

class PublicationTable::_Internal {
 public:
  static const ::pg_query::RangeVar& relation(const PublicationTable* msg);
  static const ::pg_query::Node& where_clause(const PublicationTable* msg);
};

const ::pg_query::RangeVar&
PublicationTable::_Internal::relation(const PublicationTable* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node&
PublicationTable::_Internal::where_clause(const PublicationTable* msg) {
  return *msg->_impl_.where_clause_;
}
PublicationTable::PublicationTable(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.PublicationTable)
}
PublicationTable::PublicationTable(const PublicationTable& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  PublicationTable* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.columns_){from._impl_.columns_}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_relation()) {
    _this->_impl_.relation_ = new ::pg_query::RangeVar(*from._impl_.relation_);
  }
  if (from._internal_has_where_clause()) {
    _this->_impl_.where_clause_ = new ::pg_query::Node(*from._impl_.where_clause_);
  }
  // @@protoc_insertion_point(copy_constructor:pg_query.PublicationTable)
}

inline void PublicationTable::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.columns_){arena}
    , decltype(_impl_.relation_){nullptr}
    , decltype(_impl_.where_clause_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

PublicationTable::~PublicationTable() {
  // @@protoc_insertion_point(destructor:pg_query.PublicationTable)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PublicationTable::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.columns_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.relation_;
  if (this != internal_default_instance()) delete _impl_.where_clause_;
}

void PublicationTable::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void PublicationTable::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PublicationTable)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.columns_.Clear();
  if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) {
    delete _impl_.relation_;
  }
  _impl_.relation_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) {
    delete _impl_.where_clause_;
  }
  _impl_.where_clause_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PublicationTable::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .pg_query.RangeVar relation = 1 [json_name = "relation"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_relation(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_where_clause(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .pg_query.Node columns = 3 [json_name = "columns"];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          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<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* PublicationTable::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PublicationTable)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node columns = 3 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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.PublicationTable)
  return target;
}

size_t PublicationTable::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.PublicationTable)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node columns = 3 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->_impl_.columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (this->_internal_has_relation()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.relation_);
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (this->_internal_has_where_clause()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.where_clause_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PublicationTable::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    PublicationTable::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PublicationTable::GetClassData() const { return &_class_data_; }


void PublicationTable::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<PublicationTable*>(&to_msg);
  auto& from = static_cast<const PublicationTable&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PublicationTable)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.columns_.MergeFrom(from._impl_.columns_);
  if (from._internal_has_relation()) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_has_where_clause()) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void PublicationTable::CopyFrom(const PublicationTable& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.PublicationTable)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PublicationTable::IsInitialized() const {
  return true;
}

void PublicationTable::InternalSwap(PublicationTable* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.where_clause_)
      + sizeof(PublicationTable::_impl_.where_clause_)
      - PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PublicationTable::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[238]);
}

// ===================================================================

class InlineCodeBlock::_Internal {
 public:
};

InlineCodeBlock::InlineCodeBlock(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.InlineCodeBlock)
}
InlineCodeBlock::InlineCodeBlock(const InlineCodeBlock& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  InlineCodeBlock* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.source_text_){}
    , decltype(_impl_.lang_oid_){}
    , decltype(_impl_.lang_is_trusted_){}
    , decltype(_impl_.atomic_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.source_text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.source_text_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_source_text().empty()) {
    _this->_impl_.source_text_.Set(from._internal_source_text(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.lang_oid_, &from._impl_.lang_oid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.atomic_) -
    reinterpret_cast<char*>(&_impl_.lang_oid_)) + sizeof(_impl_.atomic_));
  // @@protoc_insertion_point(copy_constructor:pg_query.InlineCodeBlock)
}

inline void InlineCodeBlock::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.source_text_){}
    , decltype(_impl_.lang_oid_){0u}
    , decltype(_impl_.lang_is_trusted_){false}
    , decltype(_impl_.atomic_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.source_text_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.source_text_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

InlineCodeBlock::~InlineCodeBlock() {
  // @@protoc_insertion_point(destructor:pg_query.InlineCodeBlock)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void InlineCodeBlock::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.source_text_.Destroy();
}

void InlineCodeBlock::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void InlineCodeBlock::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InlineCodeBlock)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.source_text_.ClearToEmpty();
  ::memset(&_impl_.lang_oid_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.atomic_) -
      reinterpret_cast<char*>(&_impl_.lang_oid_)) + sizeof(_impl_.atomic_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* InlineCodeBlock::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string source_text = 1 [json_name = "source_text"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_source_text();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "pg_query.InlineCodeBlock.source_text"));
        } else
          goto handle_unusual;
        continue;
      // uint32 lang_oid = 2 [json_name = "langOid"];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.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<uint8_t>(tag) == 24)) {
          _impl_.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<uint8_t>(tag) == 32)) {
          _impl_.atomic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* InlineCodeBlock::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InlineCodeBlock)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string source_text = 1 [json_name = "source_text"];
  if (!this->_internal_source_text().empty()) {
    ::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->_internal_lang_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_lang_oid(), target);
  }

  // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
  if (this->_internal_lang_is_trusted() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_lang_is_trusted(), target);
  }

  // bool atomic = 4 [json_name = "atomic"];
  if (this->_internal_atomic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_atomic(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_source_text().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_source_text());
  }

  // uint32 lang_oid = 2 [json_name = "langOid"];
  if (this->_internal_lang_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_lang_oid());
  }

  // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
  if (this->_internal_lang_is_trusted() != 0) {
    total_size += 1 + 1;
  }

  // bool atomic = 4 [json_name = "atomic"];
  if (this->_internal_atomic() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData InlineCodeBlock::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    InlineCodeBlock::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*InlineCodeBlock::GetClassData() const { return &_class_data_; }


void InlineCodeBlock::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<InlineCodeBlock*>(&to_msg);
  auto& from = static_cast<const InlineCodeBlock&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InlineCodeBlock)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_source_text().empty()) {
    _this->_internal_set_source_text(from._internal_source_text());
  }
  if (from._internal_lang_oid() != 0) {
    _this->_internal_set_lang_oid(from._internal_lang_oid());
  }
  if (from._internal_lang_is_trusted() != 0) {
    _this->_internal_set_lang_is_trusted(from._internal_lang_is_trusted());
  }
  if (from._internal_atomic() != 0) {
    _this->_internal_set_atomic(from._internal_atomic());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.source_text_, lhs_arena,
      &other->_impl_.source_text_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.atomic_)
      + sizeof(InlineCodeBlock::_impl_.atomic_)
      - PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.lang_oid_)>(
          reinterpret_cast<char*>(&_impl_.lang_oid_),
          reinterpret_cast<char*>(&other->_impl_.lang_oid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata InlineCodeBlock::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[239]);
}

// ===================================================================

class CallContext::_Internal {
 public:
};

CallContext::CallContext(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.CallContext)
}
CallContext::CallContext(const CallContext& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CallContext* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.atomic_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.atomic_ = from._impl_.atomic_;
  // @@protoc_insertion_point(copy_constructor:pg_query.CallContext)
}

inline void CallContext::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.atomic_){false}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CallContext::~CallContext() {
  // @@protoc_insertion_point(destructor:pg_query.CallContext)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CallContext::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CallContext::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CallContext::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CallContext)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.atomic_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CallContext::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool atomic = 1 [json_name = "atomic"];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.atomic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CallContext::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CallContext)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // bool atomic = 1 [json_name = "atomic"];
  if (this->_internal_atomic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_atomic(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t 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->_internal_atomic() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CallContext::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CallContext::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CallContext::GetClassData() const { return &_class_data_; }


void CallContext::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CallContext*>(&to_msg);
  auto& from = static_cast<const CallContext&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CallContext)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_atomic() != 0) {
    _this->_internal_set_atomic(from._internal_atomic());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.atomic_, other->_impl_.atomic_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CallContext::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[240]);
}

// ===================================================================

class ScanToken::_Internal {
 public:
};

ScanToken::ScanToken(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScanToken)
}
ScanToken::ScanToken(const ScanToken& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ScanToken* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.start_){}
    , decltype(_impl_.end_){}
    , decltype(_impl_.token_){}
    , decltype(_impl_.keyword_kind_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.start_, &from._impl_.start_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.keyword_kind_) -
    reinterpret_cast<char*>(&_impl_.start_)) + sizeof(_impl_.keyword_kind_));
  // @@protoc_insertion_point(copy_constructor:pg_query.ScanToken)
}

inline void ScanToken::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.start_){0}
    , decltype(_impl_.end_){0}
    , decltype(_impl_.token_){0}
    , decltype(_impl_.keyword_kind_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ScanToken::~ScanToken() {
  // @@protoc_insertion_point(destructor:pg_query.ScanToken)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ScanToken::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void ScanToken::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ScanToken::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ScanToken)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.start_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.keyword_kind_) -
      reinterpret_cast<char*>(&_impl_.start_)) + sizeof(_impl_.keyword_kind_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ScanToken::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 start = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 end = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .pg_query.Token token = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          uint64_t 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<uint8_t>(tag) == 40)) {
          uint64_t 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:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ScanToken::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ScanToken)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 start = 1;
  if (this->_internal_start() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_start(), target);
  }

  // int32 end = 2;
  if (this->_internal_end() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_end(), target);
  }

  // .pg_query.Token token = 4;
  if (this->_internal_token() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      4, this->_internal_token(), target);
  }

  // .pg_query.KeywordKind keyword_kind = 5;
  if (this->_internal_keyword_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      5, this->_internal_keyword_kind(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::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;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int32 start = 1;
  if (this->_internal_start() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_start());
  }

  // int32 end = 2;
  if (this->_internal_end() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_end());
  }

  // .pg_query.Token token = 4;
  if (this->_internal_token() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_token());
  }

  // .pg_query.KeywordKind keyword_kind = 5;
  if (this->_internal_keyword_kind() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_keyword_kind());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ScanToken::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ScanToken::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ScanToken::GetClassData() const { return &_class_data_; }


void ScanToken::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ScanToken*>(&to_msg);
  auto& from = static_cast<const ScanToken&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ScanToken)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_start() != 0) {
    _this->_internal_set_start(from._internal_start());
  }
  if (from._internal_end() != 0) {
    _this->_internal_set_end(from._internal_end());
  }
  if (from._internal_token() != 0) {
    _this->_internal_set_token(from._internal_token());
  }
  if (from._internal_keyword_kind() != 0) {
    _this->_internal_set_keyword_kind(from._internal_keyword_kind());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.keyword_kind_)
      + sizeof(ScanToken::_impl_.keyword_kind_)
      - PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.start_)>(
          reinterpret_cast<char*>(&_impl_.start_),
          reinterpret_cast<char*>(&other->_impl_.start_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ScanToken::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[241]);
}

// @@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::Boolean*
Arena::CreateMaybeMessage< ::pg_query::Boolean >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::Boolean >(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::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::A_Const*
Arena::CreateMaybeMessage< ::pg_query::A_Const >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::A_Const >(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::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::MergeAction*
Arena::CreateMaybeMessage< ::pg_query::MergeAction >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::MergeAction >(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::MergeStmt*
Arena::CreateMaybeMessage< ::pg_query::MergeStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::MergeStmt >(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::ReturnStmt*
Arena::CreateMaybeMessage< ::pg_query::ReturnStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::ReturnStmt >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PLAssignStmt*
Arena::CreateMaybeMessage< ::pg_query::PLAssignStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PLAssignStmt >(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::AlterDatabaseRefreshCollStmt*
Arena::CreateMaybeMessage< ::pg_query::AlterDatabaseRefreshCollStmt >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::AlterDatabaseRefreshCollStmt >(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::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::StatsElem*
Arena::CreateMaybeMessage< ::pg_query::StatsElem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::StatsElem >(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::CTESearchClause*
Arena::CreateMaybeMessage< ::pg_query::CTESearchClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CTESearchClause >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::CTECycleClause*
Arena::CreateMaybeMessage< ::pg_query::CTECycleClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::CTECycleClause >(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::MergeWhenClause*
Arena::CreateMaybeMessage< ::pg_query::MergeWhenClause >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::MergeWhenClause >(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::PublicationObjSpec*
Arena::CreateMaybeMessage< ::pg_query::PublicationObjSpec >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PublicationObjSpec >(arena);
}
template<> PROTOBUF_NOINLINE ::pg_query::PublicationTable*
Arena::CreateMaybeMessage< ::pg_query::PublicationTable >(Arena* arena) {
  return Arena::CreateMessageInternal< ::pg_query::PublicationTable >(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>
