#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParseResult {
#[prost(int32, tag="1")]
pub version: i32,
#[prost(message, repeated, tag="2")]
pub stmts: ::prost::alloc::vec::Vec<RawStmt>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScanResult {
#[prost(int32, tag="1")]
pub version: i32,
#[prost(message, repeated, tag="2")]
pub tokens: ::prost::alloc::vec::Vec<ScanToken>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Node {
#[prost(oneof="node::Node", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252")]
pub node: ::core::option::Option<node::Node>,
}
pub mod node {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Node {
#[prost(message, tag="1")]
Alias(super::Alias),
#[prost(message, tag="2")]
RangeVar(super::RangeVar),
#[prost(message, tag="3")]
TableFunc(::prost::alloc::boxed::Box<super::TableFunc>),
#[prost(message, tag="4")]
IntoClause(::prost::alloc::boxed::Box<super::IntoClause>),
#[prost(message, tag="5")]
Var(::prost::alloc::boxed::Box<super::Var>),
#[prost(message, tag="6")]
Param(::prost::alloc::boxed::Box<super::Param>),
#[prost(message, tag="7")]
Aggref(::prost::alloc::boxed::Box<super::Aggref>),
#[prost(message, tag="8")]
GroupingFunc(::prost::alloc::boxed::Box<super::GroupingFunc>),
#[prost(message, tag="9")]
WindowFunc(::prost::alloc::boxed::Box<super::WindowFunc>),
#[prost(message, tag="10")]
SubscriptingRef(::prost::alloc::boxed::Box<super::SubscriptingRef>),
#[prost(message, tag="11")]
FuncExpr(::prost::alloc::boxed::Box<super::FuncExpr>),
#[prost(message, tag="12")]
NamedArgExpr(::prost::alloc::boxed::Box<super::NamedArgExpr>),
#[prost(message, tag="13")]
OpExpr(::prost::alloc::boxed::Box<super::OpExpr>),
#[prost(message, tag="14")]
DistinctExpr(::prost::alloc::boxed::Box<super::DistinctExpr>),
#[prost(message, tag="15")]
NullIfExpr(::prost::alloc::boxed::Box<super::NullIfExpr>),
#[prost(message, tag="16")]
ScalarArrayOpExpr(::prost::alloc::boxed::Box<super::ScalarArrayOpExpr>),
#[prost(message, tag="17")]
BoolExpr(::prost::alloc::boxed::Box<super::BoolExpr>),
#[prost(message, tag="18")]
SubLink(::prost::alloc::boxed::Box<super::SubLink>),
#[prost(message, tag="19")]
SubPlan(::prost::alloc::boxed::Box<super::SubPlan>),
#[prost(message, tag="20")]
AlternativeSubPlan(::prost::alloc::boxed::Box<super::AlternativeSubPlan>),
#[prost(message, tag="21")]
FieldSelect(::prost::alloc::boxed::Box<super::FieldSelect>),
#[prost(message, tag="22")]
FieldStore(::prost::alloc::boxed::Box<super::FieldStore>),
#[prost(message, tag="23")]
RelabelType(::prost::alloc::boxed::Box<super::RelabelType>),
#[prost(message, tag="24")]
CoerceViaIo(::prost::alloc::boxed::Box<super::CoerceViaIo>),
#[prost(message, tag="25")]
ArrayCoerceExpr(::prost::alloc::boxed::Box<super::ArrayCoerceExpr>),
#[prost(message, tag="26")]
ConvertRowtypeExpr(::prost::alloc::boxed::Box<super::ConvertRowtypeExpr>),
#[prost(message, tag="27")]
CollateExpr(::prost::alloc::boxed::Box<super::CollateExpr>),
#[prost(message, tag="28")]
CaseExpr(::prost::alloc::boxed::Box<super::CaseExpr>),
#[prost(message, tag="29")]
CaseWhen(::prost::alloc::boxed::Box<super::CaseWhen>),
#[prost(message, tag="30")]
CaseTestExpr(::prost::alloc::boxed::Box<super::CaseTestExpr>),
#[prost(message, tag="31")]
ArrayExpr(::prost::alloc::boxed::Box<super::ArrayExpr>),
#[prost(message, tag="32")]
RowExpr(::prost::alloc::boxed::Box<super::RowExpr>),
#[prost(message, tag="33")]
RowCompareExpr(::prost::alloc::boxed::Box<super::RowCompareExpr>),
#[prost(message, tag="34")]
CoalesceExpr(::prost::alloc::boxed::Box<super::CoalesceExpr>),
#[prost(message, tag="35")]
MinMaxExpr(::prost::alloc::boxed::Box<super::MinMaxExpr>),
#[prost(message, tag="36")]
SqlvalueFunction(::prost::alloc::boxed::Box<super::SqlValueFunction>),
#[prost(message, tag="37")]
XmlExpr(::prost::alloc::boxed::Box<super::XmlExpr>),
#[prost(message, tag="38")]
JsonFormat(super::JsonFormat),
#[prost(message, tag="39")]
JsonReturning(super::JsonReturning),
#[prost(message, tag="40")]
JsonValueExpr(::prost::alloc::boxed::Box<super::JsonValueExpr>),
#[prost(message, tag="41")]
JsonConstructorExpr(::prost::alloc::boxed::Box<super::JsonConstructorExpr>),
#[prost(message, tag="42")]
JsonIsPredicate(::prost::alloc::boxed::Box<super::JsonIsPredicate>),
#[prost(message, tag="43")]
NullTest(::prost::alloc::boxed::Box<super::NullTest>),
#[prost(message, tag="44")]
BooleanTest(::prost::alloc::boxed::Box<super::BooleanTest>),
#[prost(message, tag="45")]
CoerceToDomain(::prost::alloc::boxed::Box<super::CoerceToDomain>),
#[prost(message, tag="46")]
CoerceToDomainValue(::prost::alloc::boxed::Box<super::CoerceToDomainValue>),
#[prost(message, tag="47")]
SetToDefault(::prost::alloc::boxed::Box<super::SetToDefault>),
#[prost(message, tag="48")]
CurrentOfExpr(::prost::alloc::boxed::Box<super::CurrentOfExpr>),
#[prost(message, tag="49")]
NextValueExpr(::prost::alloc::boxed::Box<super::NextValueExpr>),
#[prost(message, tag="50")]
InferenceElem(::prost::alloc::boxed::Box<super::InferenceElem>),
#[prost(message, tag="51")]
TargetEntry(::prost::alloc::boxed::Box<super::TargetEntry>),
#[prost(message, tag="52")]
RangeTblRef(super::RangeTblRef),
#[prost(message, tag="53")]
JoinExpr(::prost::alloc::boxed::Box<super::JoinExpr>),
#[prost(message, tag="54")]
FromExpr(::prost::alloc::boxed::Box<super::FromExpr>),
#[prost(message, tag="55")]
OnConflictExpr(::prost::alloc::boxed::Box<super::OnConflictExpr>),
#[prost(message, tag="56")]
Query(::prost::alloc::boxed::Box<super::Query>),
#[prost(message, tag="57")]
TypeName(super::TypeName),
#[prost(message, tag="58")]
ColumnRef(super::ColumnRef),
#[prost(message, tag="59")]
ParamRef(super::ParamRef),
#[prost(message, tag="60")]
AExpr(::prost::alloc::boxed::Box<super::AExpr>),
#[prost(message, tag="61")]
TypeCast(::prost::alloc::boxed::Box<super::TypeCast>),
#[prost(message, tag="62")]
CollateClause(::prost::alloc::boxed::Box<super::CollateClause>),
#[prost(message, tag="63")]
RoleSpec(super::RoleSpec),
#[prost(message, tag="64")]
FuncCall(::prost::alloc::boxed::Box<super::FuncCall>),
#[prost(message, tag="65")]
AStar(super::AStar),
#[prost(message, tag="66")]
AIndices(::prost::alloc::boxed::Box<super::AIndices>),
#[prost(message, tag="67")]
AIndirection(::prost::alloc::boxed::Box<super::AIndirection>),
#[prost(message, tag="68")]
AArrayExpr(super::AArrayExpr),
#[prost(message, tag="69")]
ResTarget(::prost::alloc::boxed::Box<super::ResTarget>),
#[prost(message, tag="70")]
MultiAssignRef(::prost::alloc::boxed::Box<super::MultiAssignRef>),
#[prost(message, tag="71")]
SortBy(::prost::alloc::boxed::Box<super::SortBy>),
#[prost(message, tag="72")]
WindowDef(::prost::alloc::boxed::Box<super::WindowDef>),
#[prost(message, tag="73")]
RangeSubselect(::prost::alloc::boxed::Box<super::RangeSubselect>),
#[prost(message, tag="74")]
RangeFunction(super::RangeFunction),
#[prost(message, tag="75")]
RangeTableFunc(::prost::alloc::boxed::Box<super::RangeTableFunc>),
#[prost(message, tag="76")]
RangeTableFuncCol(::prost::alloc::boxed::Box<super::RangeTableFuncCol>),
#[prost(message, tag="77")]
RangeTableSample(::prost::alloc::boxed::Box<super::RangeTableSample>),
#[prost(message, tag="78")]
ColumnDef(::prost::alloc::boxed::Box<super::ColumnDef>),
#[prost(message, tag="79")]
TableLikeClause(super::TableLikeClause),
#[prost(message, tag="80")]
IndexElem(::prost::alloc::boxed::Box<super::IndexElem>),
#[prost(message, tag="81")]
DefElem(::prost::alloc::boxed::Box<super::DefElem>),
#[prost(message, tag="82")]
LockingClause(super::LockingClause),
#[prost(message, tag="83")]
XmlSerialize(::prost::alloc::boxed::Box<super::XmlSerialize>),
#[prost(message, tag="84")]
PartitionElem(::prost::alloc::boxed::Box<super::PartitionElem>),
#[prost(message, tag="85")]
PartitionSpec(super::PartitionSpec),
#[prost(message, tag="86")]
PartitionBoundSpec(super::PartitionBoundSpec),
#[prost(message, tag="87")]
PartitionRangeDatum(::prost::alloc::boxed::Box<super::PartitionRangeDatum>),
#[prost(message, tag="88")]
PartitionCmd(super::PartitionCmd),
#[prost(message, tag="89")]
RangeTblEntry(::prost::alloc::boxed::Box<super::RangeTblEntry>),
#[prost(message, tag="90")]
RtepermissionInfo(super::RtePermissionInfo),
#[prost(message, tag="91")]
RangeTblFunction(::prost::alloc::boxed::Box<super::RangeTblFunction>),
#[prost(message, tag="92")]
TableSampleClause(::prost::alloc::boxed::Box<super::TableSampleClause>),
#[prost(message, tag="93")]
WithCheckOption(::prost::alloc::boxed::Box<super::WithCheckOption>),
#[prost(message, tag="94")]
SortGroupClause(super::SortGroupClause),
#[prost(message, tag="95")]
GroupingSet(super::GroupingSet),
#[prost(message, tag="96")]
WindowClause(::prost::alloc::boxed::Box<super::WindowClause>),
#[prost(message, tag="97")]
RowMarkClause(super::RowMarkClause),
#[prost(message, tag="98")]
WithClause(super::WithClause),
#[prost(message, tag="99")]
InferClause(::prost::alloc::boxed::Box<super::InferClause>),
#[prost(message, tag="100")]
OnConflictClause(::prost::alloc::boxed::Box<super::OnConflictClause>),
#[prost(message, tag="101")]
CtesearchClause(super::CteSearchClause),
#[prost(message, tag="102")]
CtecycleClause(::prost::alloc::boxed::Box<super::CteCycleClause>),
#[prost(message, tag="103")]
CommonTableExpr(::prost::alloc::boxed::Box<super::CommonTableExpr>),
#[prost(message, tag="104")]
MergeWhenClause(::prost::alloc::boxed::Box<super::MergeWhenClause>),
#[prost(message, tag="105")]
MergeAction(::prost::alloc::boxed::Box<super::MergeAction>),
#[prost(message, tag="106")]
TriggerTransition(super::TriggerTransition),
#[prost(message, tag="107")]
JsonOutput(super::JsonOutput),
#[prost(message, tag="108")]
JsonKeyValue(::prost::alloc::boxed::Box<super::JsonKeyValue>),
#[prost(message, tag="109")]
JsonObjectConstructor(super::JsonObjectConstructor),
#[prost(message, tag="110")]
JsonArrayConstructor(super::JsonArrayConstructor),
#[prost(message, tag="111")]
JsonArrayQueryConstructor(::prost::alloc::boxed::Box<super::JsonArrayQueryConstructor>),
#[prost(message, tag="112")]
JsonAggConstructor(::prost::alloc::boxed::Box<super::JsonAggConstructor>),
#[prost(message, tag="113")]
JsonObjectAgg(::prost::alloc::boxed::Box<super::JsonObjectAgg>),
#[prost(message, tag="114")]
JsonArrayAgg(::prost::alloc::boxed::Box<super::JsonArrayAgg>),
#[prost(message, tag="115")]
RawStmt(::prost::alloc::boxed::Box<super::RawStmt>),
#[prost(message, tag="116")]
InsertStmt(::prost::alloc::boxed::Box<super::InsertStmt>),
#[prost(message, tag="117")]
DeleteStmt(::prost::alloc::boxed::Box<super::DeleteStmt>),
#[prost(message, tag="118")]
UpdateStmt(::prost::alloc::boxed::Box<super::UpdateStmt>),
#[prost(message, tag="119")]
MergeStmt(::prost::alloc::boxed::Box<super::MergeStmt>),
#[prost(message, tag="120")]
SelectStmt(::prost::alloc::boxed::Box<super::SelectStmt>),
#[prost(message, tag="121")]
SetOperationStmt(::prost::alloc::boxed::Box<super::SetOperationStmt>),
#[prost(message, tag="122")]
ReturnStmt(::prost::alloc::boxed::Box<super::ReturnStmt>),
#[prost(message, tag="123")]
PlassignStmt(::prost::alloc::boxed::Box<super::PlAssignStmt>),
#[prost(message, tag="124")]
CreateSchemaStmt(super::CreateSchemaStmt),
#[prost(message, tag="125")]
AlterTableStmt(super::AlterTableStmt),
#[prost(message, tag="126")]
ReplicaIdentityStmt(super::ReplicaIdentityStmt),
#[prost(message, tag="127")]
AlterTableCmd(::prost::alloc::boxed::Box<super::AlterTableCmd>),
#[prost(message, tag="128")]
AlterCollationStmt(super::AlterCollationStmt),
#[prost(message, tag="129")]
AlterDomainStmt(::prost::alloc::boxed::Box<super::AlterDomainStmt>),
#[prost(message, tag="130")]
GrantStmt(super::GrantStmt),
#[prost(message, tag="131")]
ObjectWithArgs(super::ObjectWithArgs),
#[prost(message, tag="132")]
AccessPriv(super::AccessPriv),
#[prost(message, tag="133")]
GrantRoleStmt(super::GrantRoleStmt),
#[prost(message, tag="134")]
AlterDefaultPrivilegesStmt(super::AlterDefaultPrivilegesStmt),
#[prost(message, tag="135")]
CopyStmt(::prost::alloc::boxed::Box<super::CopyStmt>),
#[prost(message, tag="136")]
VariableSetStmt(super::VariableSetStmt),
#[prost(message, tag="137")]
VariableShowStmt(super::VariableShowStmt),
#[prost(message, tag="138")]
CreateStmt(super::CreateStmt),
#[prost(message, tag="139")]
Constraint(::prost::alloc::boxed::Box<super::Constraint>),
#[prost(message, tag="140")]
CreateTableSpaceStmt(super::CreateTableSpaceStmt),
#[prost(message, tag="141")]
DropTableSpaceStmt(super::DropTableSpaceStmt),
#[prost(message, tag="142")]
AlterTableSpaceOptionsStmt(super::AlterTableSpaceOptionsStmt),
#[prost(message, tag="143")]
AlterTableMoveAllStmt(super::AlterTableMoveAllStmt),
#[prost(message, tag="144")]
CreateExtensionStmt(super::CreateExtensionStmt),
#[prost(message, tag="145")]
AlterExtensionStmt(super::AlterExtensionStmt),
#[prost(message, tag="146")]
AlterExtensionContentsStmt(::prost::alloc::boxed::Box<super::AlterExtensionContentsStmt>),
#[prost(message, tag="147")]
CreateFdwStmt(super::CreateFdwStmt),
#[prost(message, tag="148")]
AlterFdwStmt(super::AlterFdwStmt),
#[prost(message, tag="149")]
CreateForeignServerStmt(super::CreateForeignServerStmt),
#[prost(message, tag="150")]
AlterForeignServerStmt(super::AlterForeignServerStmt),
#[prost(message, tag="151")]
CreateForeignTableStmt(super::CreateForeignTableStmt),
#[prost(message, tag="152")]
CreateUserMappingStmt(super::CreateUserMappingStmt),
#[prost(message, tag="153")]
AlterUserMappingStmt(super::AlterUserMappingStmt),
#[prost(message, tag="154")]
DropUserMappingStmt(super::DropUserMappingStmt),
#[prost(message, tag="155")]
ImportForeignSchemaStmt(super::ImportForeignSchemaStmt),
#[prost(message, tag="156")]
CreatePolicyStmt(::prost::alloc::boxed::Box<super::CreatePolicyStmt>),
#[prost(message, tag="157")]
AlterPolicyStmt(::prost::alloc::boxed::Box<super::AlterPolicyStmt>),
#[prost(message, tag="158")]
CreateAmStmt(super::CreateAmStmt),
#[prost(message, tag="159")]
CreateTrigStmt(::prost::alloc::boxed::Box<super::CreateTrigStmt>),
#[prost(message, tag="160")]
CreateEventTrigStmt(super::CreateEventTrigStmt),
#[prost(message, tag="161")]
AlterEventTrigStmt(super::AlterEventTrigStmt),
#[prost(message, tag="162")]
CreatePlangStmt(super::CreatePLangStmt),
#[prost(message, tag="163")]
CreateRoleStmt(super::CreateRoleStmt),
#[prost(message, tag="164")]
AlterRoleStmt(super::AlterRoleStmt),
#[prost(message, tag="165")]
AlterRoleSetStmt(super::AlterRoleSetStmt),
#[prost(message, tag="166")]
DropRoleStmt(super::DropRoleStmt),
#[prost(message, tag="167")]
CreateSeqStmt(super::CreateSeqStmt),
#[prost(message, tag="168")]
AlterSeqStmt(super::AlterSeqStmt),
#[prost(message, tag="169")]
DefineStmt(super::DefineStmt),
#[prost(message, tag="170")]
CreateDomainStmt(::prost::alloc::boxed::Box<super::CreateDomainStmt>),
#[prost(message, tag="171")]
CreateOpClassStmt(super::CreateOpClassStmt),
#[prost(message, tag="172")]
CreateOpClassItem(super::CreateOpClassItem),
#[prost(message, tag="173")]
CreateOpFamilyStmt(super::CreateOpFamilyStmt),
#[prost(message, tag="174")]
AlterOpFamilyStmt(super::AlterOpFamilyStmt),
#[prost(message, tag="175")]
DropStmt(super::DropStmt),
#[prost(message, tag="176")]
TruncateStmt(super::TruncateStmt),
#[prost(message, tag="177")]
CommentStmt(::prost::alloc::boxed::Box<super::CommentStmt>),
#[prost(message, tag="178")]
SecLabelStmt(::prost::alloc::boxed::Box<super::SecLabelStmt>),
#[prost(message, tag="179")]
DeclareCursorStmt(::prost::alloc::boxed::Box<super::DeclareCursorStmt>),
#[prost(message, tag="180")]
ClosePortalStmt(super::ClosePortalStmt),
#[prost(message, tag="181")]
FetchStmt(super::FetchStmt),
#[prost(message, tag="182")]
IndexStmt(::prost::alloc::boxed::Box<super::IndexStmt>),
#[prost(message, tag="183")]
CreateStatsStmt(super::CreateStatsStmt),
#[prost(message, tag="184")]
StatsElem(::prost::alloc::boxed::Box<super::StatsElem>),
#[prost(message, tag="185")]
AlterStatsStmt(super::AlterStatsStmt),
#[prost(message, tag="186")]
CreateFunctionStmt(::prost::alloc::boxed::Box<super::CreateFunctionStmt>),
#[prost(message, tag="187")]
FunctionParameter(::prost::alloc::boxed::Box<super::FunctionParameter>),
#[prost(message, tag="188")]
AlterFunctionStmt(super::AlterFunctionStmt),
#[prost(message, tag="189")]
DoStmt(super::DoStmt),
#[prost(message, tag="190")]
InlineCodeBlock(super::InlineCodeBlock),
#[prost(message, tag="191")]
CallStmt(::prost::alloc::boxed::Box<super::CallStmt>),
#[prost(message, tag="192")]
CallContext(super::CallContext),
#[prost(message, tag="193")]
RenameStmt(::prost::alloc::boxed::Box<super::RenameStmt>),
#[prost(message, tag="194")]
AlterObjectDependsStmt(::prost::alloc::boxed::Box<super::AlterObjectDependsStmt>),
#[prost(message, tag="195")]
AlterObjectSchemaStmt(::prost::alloc::boxed::Box<super::AlterObjectSchemaStmt>),
#[prost(message, tag="196")]
AlterOwnerStmt(::prost::alloc::boxed::Box<super::AlterOwnerStmt>),
#[prost(message, tag="197")]
AlterOperatorStmt(super::AlterOperatorStmt),
#[prost(message, tag="198")]
AlterTypeStmt(super::AlterTypeStmt),
#[prost(message, tag="199")]
RuleStmt(::prost::alloc::boxed::Box<super::RuleStmt>),
#[prost(message, tag="200")]
NotifyStmt(super::NotifyStmt),
#[prost(message, tag="201")]
ListenStmt(super::ListenStmt),
#[prost(message, tag="202")]
UnlistenStmt(super::UnlistenStmt),
#[prost(message, tag="203")]
TransactionStmt(super::TransactionStmt),
#[prost(message, tag="204")]
CompositeTypeStmt(super::CompositeTypeStmt),
#[prost(message, tag="205")]
CreateEnumStmt(super::CreateEnumStmt),
#[prost(message, tag="206")]
CreateRangeStmt(super::CreateRangeStmt),
#[prost(message, tag="207")]
AlterEnumStmt(super::AlterEnumStmt),
#[prost(message, tag="208")]
ViewStmt(::prost::alloc::boxed::Box<super::ViewStmt>),
#[prost(message, tag="209")]
LoadStmt(super::LoadStmt),
#[prost(message, tag="210")]
CreatedbStmt(super::CreatedbStmt),
#[prost(message, tag="211")]
AlterDatabaseStmt(super::AlterDatabaseStmt),
#[prost(message, tag="212")]
AlterDatabaseRefreshCollStmt(super::AlterDatabaseRefreshCollStmt),
#[prost(message, tag="213")]
AlterDatabaseSetStmt(super::AlterDatabaseSetStmt),
#[prost(message, tag="214")]
DropdbStmt(super::DropdbStmt),
#[prost(message, tag="215")]
AlterSystemStmt(super::AlterSystemStmt),
#[prost(message, tag="216")]
ClusterStmt(super::ClusterStmt),
#[prost(message, tag="217")]
VacuumStmt(super::VacuumStmt),
#[prost(message, tag="218")]
VacuumRelation(super::VacuumRelation),
#[prost(message, tag="219")]
ExplainStmt(::prost::alloc::boxed::Box<super::ExplainStmt>),
#[prost(message, tag="220")]
CreateTableAsStmt(::prost::alloc::boxed::Box<super::CreateTableAsStmt>),
#[prost(message, tag="221")]
RefreshMatViewStmt(super::RefreshMatViewStmt),
#[prost(message, tag="222")]
CheckPointStmt(super::CheckPointStmt),
#[prost(message, tag="223")]
DiscardStmt(super::DiscardStmt),
#[prost(message, tag="224")]
LockStmt(super::LockStmt),
#[prost(message, tag="225")]
ConstraintsSetStmt(super::ConstraintsSetStmt),
#[prost(message, tag="226")]
ReindexStmt(super::ReindexStmt),
#[prost(message, tag="227")]
CreateConversionStmt(super::CreateConversionStmt),
#[prost(message, tag="228")]
CreateCastStmt(super::CreateCastStmt),
#[prost(message, tag="229")]
CreateTransformStmt(super::CreateTransformStmt),
#[prost(message, tag="230")]
PrepareStmt(::prost::alloc::boxed::Box<super::PrepareStmt>),
#[prost(message, tag="231")]
ExecuteStmt(super::ExecuteStmt),
#[prost(message, tag="232")]
DeallocateStmt(super::DeallocateStmt),
#[prost(message, tag="233")]
DropOwnedStmt(super::DropOwnedStmt),
#[prost(message, tag="234")]
ReassignOwnedStmt(super::ReassignOwnedStmt),
#[prost(message, tag="235")]
AlterTsdictionaryStmt(super::AlterTsDictionaryStmt),
#[prost(message, tag="236")]
AlterTsconfigurationStmt(super::AlterTsConfigurationStmt),
#[prost(message, tag="237")]
PublicationTable(::prost::alloc::boxed::Box<super::PublicationTable>),
#[prost(message, tag="238")]
PublicationObjSpec(::prost::alloc::boxed::Box<super::PublicationObjSpec>),
#[prost(message, tag="239")]
CreatePublicationStmt(super::CreatePublicationStmt),
#[prost(message, tag="240")]
AlterPublicationStmt(super::AlterPublicationStmt),
#[prost(message, tag="241")]
CreateSubscriptionStmt(super::CreateSubscriptionStmt),
#[prost(message, tag="242")]
AlterSubscriptionStmt(super::AlterSubscriptionStmt),
#[prost(message, tag="243")]
DropSubscriptionStmt(super::DropSubscriptionStmt),
#[prost(message, tag="244")]
Integer(super::Integer),
#[prost(message, tag="245")]
Float(super::Float),
#[prost(message, tag="246")]
Boolean(super::Boolean),
#[prost(message, tag="247")]
String(super::String),
#[prost(message, tag="248")]
BitString(super::BitString),
#[prost(message, tag="249")]
List(super::List),
#[prost(message, tag="250")]
IntList(super::IntList),
#[prost(message, tag="251")]
OidList(super::OidList),
#[prost(message, tag="252")]
AConst(super::AConst),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Integer {
#[prost(int32, tag="1")]
pub ival: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Float {
#[prost(string, tag="1")]
pub fval: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Boolean {
#[prost(bool, tag="1")]
pub boolval: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct String {
#[prost(string, tag="1")]
pub sval: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BitString {
#[prost(string, tag="1")]
pub bsval: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct List {
#[prost(message, repeated, tag="1")]
pub items: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OidList {
#[prost(message, repeated, tag="1")]
pub items: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntList {
#[prost(message, repeated, tag="1")]
pub items: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AConst {
#[prost(bool, tag="10")]
pub isnull: bool,
#[prost(int32, tag="11")]
pub location: i32,
#[prost(oneof="a_const::Val", tags="1, 2, 3, 4, 5")]
pub val: ::core::option::Option<a_const::Val>,
}
pub mod a_const {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Val {
#[prost(message, tag="1")]
Ival(super::Integer),
#[prost(message, tag="2")]
Fval(super::Float),
#[prost(message, tag="3")]
Boolval(super::Boolean),
#[prost(message, tag="4")]
Sval(super::String),
#[prost(message, tag="5")]
Bsval(super::BitString),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alias {
#[prost(string, tag="1")]
pub aliasname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub colnames: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeVar {
#[prost(string, tag="1")]
pub catalogname: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub schemaname: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub relname: ::prost::alloc::string::String,
#[prost(bool, tag="4")]
pub inh: bool,
#[prost(string, tag="5")]
pub relpersistence: ::prost::alloc::string::String,
#[prost(message, optional, tag="6")]
pub alias: ::core::option::Option<Alias>,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TableFunc {
#[prost(message, repeated, tag="1")]
pub ns_uris: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub ns_names: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub docexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="4")]
pub rowexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="5")]
pub colnames: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub coltypes: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="7")]
pub coltypmods: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="8")]
pub colcollations: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="9")]
pub colexprs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="10")]
pub coldefexprs: ::prost::alloc::vec::Vec<Node>,
#[prost(uint64, repeated, tag="11")]
pub notnulls: ::prost::alloc::vec::Vec<u64>,
#[prost(int32, tag="12")]
pub ordinalitycol: i32,
#[prost(int32, tag="13")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntoClause {
#[prost(message, optional, tag="1")]
pub rel: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub col_names: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="3")]
pub access_method: ::prost::alloc::string::String,
#[prost(message, repeated, tag="4")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="OnCommitAction", tag="5")]
pub on_commit: i32,
#[prost(string, tag="6")]
pub table_space_name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="7")]
pub view_query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(bool, tag="8")]
pub skip_data: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Var {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="2")]
pub varno: i32,
#[prost(int32, tag="3")]
pub varattno: i32,
#[prost(uint32, tag="4")]
pub vartype: u32,
#[prost(int32, tag="5")]
pub vartypmod: i32,
#[prost(uint32, tag="6")]
pub varcollid: u32,
#[prost(uint64, repeated, tag="7")]
pub varnullingrels: ::prost::alloc::vec::Vec<u64>,
#[prost(uint32, tag="8")]
pub varlevelsup: u32,
#[prost(int32, tag="9")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Param {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="ParamKind", tag="2")]
pub paramkind: i32,
#[prost(int32, tag="3")]
pub paramid: i32,
#[prost(uint32, tag="4")]
pub paramtype: u32,
#[prost(int32, tag="5")]
pub paramtypmod: i32,
#[prost(uint32, tag="6")]
pub paramcollid: u32,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aggref {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub aggfnoid: u32,
#[prost(uint32, tag="3")]
pub aggtype: u32,
#[prost(uint32, tag="4")]
pub aggcollid: u32,
#[prost(uint32, tag="5")]
pub inputcollid: u32,
#[prost(message, repeated, tag="6")]
pub aggargtypes: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="7")]
pub aggdirectargs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="8")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="9")]
pub aggorder: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="10")]
pub aggdistinct: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="11")]
pub aggfilter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(bool, tag="12")]
pub aggstar: bool,
#[prost(bool, tag="13")]
pub aggvariadic: bool,
#[prost(string, tag="14")]
pub aggkind: ::prost::alloc::string::String,
#[prost(uint32, tag="15")]
pub agglevelsup: u32,
#[prost(enumeration="AggSplit", tag="16")]
pub aggsplit: i32,
#[prost(int32, tag="17")]
pub aggno: i32,
#[prost(int32, tag="18")]
pub aggtransno: i32,
#[prost(int32, tag="19")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupingFunc {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="2")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub refs: ::prost::alloc::vec::Vec<Node>,
#[prost(uint32, tag="4")]
pub agglevelsup: u32,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WindowFunc {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub winfnoid: u32,
#[prost(uint32, tag="3")]
pub wintype: u32,
#[prost(uint32, tag="4")]
pub wincollid: u32,
#[prost(uint32, tag="5")]
pub inputcollid: u32,
#[prost(message, repeated, tag="6")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="7")]
pub aggfilter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="8")]
pub winref: u32,
#[prost(bool, tag="9")]
pub winstar: bool,
#[prost(bool, tag="10")]
pub winagg: bool,
#[prost(int32, tag="11")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscriptingRef {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub refcontainertype: u32,
#[prost(uint32, tag="3")]
pub refelemtype: u32,
#[prost(uint32, tag="4")]
pub refrestype: u32,
#[prost(int32, tag="5")]
pub reftypmod: i32,
#[prost(uint32, tag="6")]
pub refcollid: u32,
#[prost(message, repeated, tag="7")]
pub refupperindexpr: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="8")]
pub reflowerindexpr: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="9")]
pub refexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="10")]
pub refassgnexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuncExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub funcid: u32,
#[prost(uint32, tag="3")]
pub funcresulttype: u32,
#[prost(bool, tag="4")]
pub funcretset: bool,
#[prost(bool, tag="5")]
pub funcvariadic: bool,
#[prost(enumeration="CoercionForm", tag="6")]
pub funcformat: i32,
#[prost(uint32, tag="7")]
pub funccollid: u32,
#[prost(uint32, tag="8")]
pub inputcollid: u32,
#[prost(message, repeated, tag="9")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="10")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NamedArgExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="3")]
pub name: ::prost::alloc::string::String,
#[prost(int32, tag="4")]
pub argnumber: i32,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub opno: u32,
#[prost(uint32, tag="3")]
pub opresulttype: u32,
#[prost(bool, tag="4")]
pub opretset: bool,
#[prost(uint32, tag="5")]
pub opcollid: u32,
#[prost(uint32, tag="6")]
pub inputcollid: u32,
#[prost(message, repeated, tag="7")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="8")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DistinctExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub opno: u32,
#[prost(uint32, tag="3")]
pub opresulttype: u32,
#[prost(bool, tag="4")]
pub opretset: bool,
#[prost(uint32, tag="5")]
pub opcollid: u32,
#[prost(uint32, tag="6")]
pub inputcollid: u32,
#[prost(message, repeated, tag="7")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="8")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NullIfExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub opno: u32,
#[prost(uint32, tag="3")]
pub opresulttype: u32,
#[prost(bool, tag="4")]
pub opretset: bool,
#[prost(uint32, tag="5")]
pub opcollid: u32,
#[prost(uint32, tag="6")]
pub inputcollid: u32,
#[prost(message, repeated, tag="7")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="8")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScalarArrayOpExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub opno: u32,
#[prost(bool, tag="3")]
pub use_or: bool,
#[prost(uint32, tag="4")]
pub inputcollid: u32,
#[prost(message, repeated, tag="5")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="6")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoolExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="BoolExprType", tag="2")]
pub boolop: i32,
#[prost(message, repeated, tag="3")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubLink {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="SubLinkType", tag="2")]
pub sub_link_type: i32,
#[prost(int32, tag="3")]
pub sub_link_id: i32,
#[prost(message, optional, boxed, tag="4")]
pub testexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="5")]
pub oper_name: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="6")]
pub subselect: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubPlan {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="SubLinkType", tag="2")]
pub sub_link_type: i32,
#[prost(message, optional, boxed, tag="3")]
pub testexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="4")]
pub param_ids: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="5")]
pub plan_id: i32,
#[prost(string, tag="6")]
pub plan_name: ::prost::alloc::string::String,
#[prost(uint32, tag="7")]
pub first_col_type: u32,
#[prost(int32, tag="8")]
pub first_col_typmod: i32,
#[prost(uint32, tag="9")]
pub first_col_collation: u32,
#[prost(bool, tag="10")]
pub use_hash_table: bool,
#[prost(bool, tag="11")]
pub unknown_eq_false: bool,
#[prost(bool, tag="12")]
pub parallel_safe: bool,
#[prost(message, repeated, tag="13")]
pub set_param: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="14")]
pub par_param: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="15")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(double, tag="16")]
pub startup_cost: f64,
#[prost(double, tag="17")]
pub per_call_cost: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlternativeSubPlan {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="2")]
pub subplans: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FieldSelect {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="3")]
pub fieldnum: i32,
#[prost(uint32, tag="4")]
pub resulttype: u32,
#[prost(int32, tag="5")]
pub resulttypmod: i32,
#[prost(uint32, tag="6")]
pub resultcollid: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FieldStore {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="3")]
pub newvals: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub fieldnums: ::prost::alloc::vec::Vec<Node>,
#[prost(uint32, tag="5")]
pub resulttype: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelabelType {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="3")]
pub resulttype: u32,
#[prost(int32, tag="4")]
pub resulttypmod: i32,
#[prost(uint32, tag="5")]
pub resultcollid: u32,
#[prost(enumeration="CoercionForm", tag="6")]
pub relabelformat: i32,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CoerceViaIo {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="3")]
pub resulttype: u32,
#[prost(uint32, tag="4")]
pub resultcollid: u32,
#[prost(enumeration="CoercionForm", tag="5")]
pub coerceformat: i32,
#[prost(int32, tag="6")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArrayCoerceExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="3")]
pub elemexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="4")]
pub resulttype: u32,
#[prost(int32, tag="5")]
pub resulttypmod: i32,
#[prost(uint32, tag="6")]
pub resultcollid: u32,
#[prost(enumeration="CoercionForm", tag="7")]
pub coerceformat: i32,
#[prost(int32, tag="8")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConvertRowtypeExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="3")]
pub resulttype: u32,
#[prost(enumeration="CoercionForm", tag="4")]
pub convertformat: i32,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CollateExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="3")]
pub coll_oid: u32,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CaseExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub casetype: u32,
#[prost(uint32, tag="3")]
pub casecollid: u32,
#[prost(message, optional, boxed, tag="4")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="5")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="6")]
pub defresult: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CaseWhen {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="3")]
pub result: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CaseTestExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub type_id: u32,
#[prost(int32, tag="3")]
pub type_mod: i32,
#[prost(uint32, tag="4")]
pub collation: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArrayExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub array_typeid: u32,
#[prost(uint32, tag="3")]
pub array_collid: u32,
#[prost(uint32, tag="4")]
pub element_typeid: u32,
#[prost(message, repeated, tag="5")]
pub elements: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="6")]
pub multidims: bool,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RowExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="2")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(uint32, tag="3")]
pub row_typeid: u32,
#[prost(enumeration="CoercionForm", tag="4")]
pub row_format: i32,
#[prost(message, repeated, tag="5")]
pub colnames: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="6")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RowCompareExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="RowCompareType", tag="2")]
pub rctype: i32,
#[prost(message, repeated, tag="3")]
pub opnos: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub opfamilies: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub inputcollids: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub largs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="7")]
pub rargs: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CoalesceExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub coalescetype: u32,
#[prost(uint32, tag="3")]
pub coalescecollid: u32,
#[prost(message, repeated, tag="4")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MinMaxExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub minmaxtype: u32,
#[prost(uint32, tag="3")]
pub minmaxcollid: u32,
#[prost(uint32, tag="4")]
pub inputcollid: u32,
#[prost(enumeration="MinMaxOp", tag="5")]
pub op: i32,
#[prost(message, repeated, tag="6")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SqlValueFunction {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="SqlValueFunctionOp", tag="2")]
pub op: i32,
#[prost(uint32, tag="3")]
pub r#type: u32,
#[prost(int32, tag="4")]
pub typmod: i32,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct XmlExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="XmlExprOp", tag="2")]
pub op: i32,
#[prost(string, tag="3")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="4")]
pub named_args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub arg_names: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="XmlOptionType", tag="7")]
pub xmloption: i32,
#[prost(bool, tag="8")]
pub indent: bool,
#[prost(uint32, tag="9")]
pub r#type: u32,
#[prost(int32, tag="10")]
pub typmod: i32,
#[prost(int32, tag="11")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonFormat {
#[prost(enumeration="JsonFormatType", tag="1")]
pub format_type: i32,
#[prost(enumeration="JsonEncoding", tag="2")]
pub encoding: i32,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonReturning {
#[prost(message, optional, tag="1")]
pub format: ::core::option::Option<JsonFormat>,
#[prost(uint32, tag="2")]
pub typid: u32,
#[prost(int32, tag="3")]
pub typmod: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonValueExpr {
#[prost(message, optional, boxed, tag="1")]
pub raw_expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub formatted_expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="3")]
pub format: ::core::option::Option<JsonFormat>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonConstructorExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="JsonConstructorType", tag="2")]
pub r#type: i32,
#[prost(message, repeated, tag="3")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="4")]
pub func: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="5")]
pub coercion: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="6")]
pub returning: ::core::option::Option<JsonReturning>,
#[prost(bool, tag="7")]
pub absent_on_null: bool,
#[prost(bool, tag="8")]
pub unique: bool,
#[prost(int32, tag="9")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonIsPredicate {
#[prost(message, optional, boxed, tag="1")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="2")]
pub format: ::core::option::Option<JsonFormat>,
#[prost(enumeration="JsonValueType", tag="3")]
pub item_type: i32,
#[prost(bool, tag="4")]
pub unique_keys: bool,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NullTest {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="NullTestType", tag="3")]
pub nulltesttype: i32,
#[prost(bool, tag="4")]
pub argisrow: bool,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BooleanTest {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="BoolTestType", tag="3")]
pub booltesttype: i32,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CoerceToDomain {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="3")]
pub resulttype: u32,
#[prost(int32, tag="4")]
pub resulttypmod: i32,
#[prost(uint32, tag="5")]
pub resultcollid: u32,
#[prost(enumeration="CoercionForm", tag="6")]
pub coercionformat: i32,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CoerceToDomainValue {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub type_id: u32,
#[prost(int32, tag="3")]
pub type_mod: i32,
#[prost(uint32, tag="4")]
pub collation: u32,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetToDefault {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub type_id: u32,
#[prost(int32, tag="3")]
pub type_mod: i32,
#[prost(uint32, tag="4")]
pub collation: u32,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurrentOfExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub cvarno: u32,
#[prost(string, tag="3")]
pub cursor_name: ::prost::alloc::string::String,
#[prost(int32, tag="4")]
pub cursor_param: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NextValueExpr {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="2")]
pub seqid: u32,
#[prost(uint32, tag="3")]
pub type_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InferenceElem {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="3")]
pub infercollid: u32,
#[prost(uint32, tag="4")]
pub inferopclass: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetEntry {
#[prost(message, optional, boxed, tag="1")]
pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="3")]
pub resno: i32,
#[prost(string, tag="4")]
pub resname: ::prost::alloc::string::String,
#[prost(uint32, tag="5")]
pub ressortgroupref: u32,
#[prost(uint32, tag="6")]
pub resorigtbl: u32,
#[prost(int32, tag="7")]
pub resorigcol: i32,
#[prost(bool, tag="8")]
pub resjunk: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeTblRef {
#[prost(int32, tag="1")]
pub rtindex: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinExpr {
#[prost(enumeration="JoinType", tag="1")]
pub jointype: i32,
#[prost(bool, tag="2")]
pub is_natural: bool,
#[prost(message, optional, boxed, tag="3")]
pub larg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="4")]
pub rarg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="5")]
pub using_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="6")]
pub join_using_alias: ::core::option::Option<Alias>,
#[prost(message, optional, boxed, tag="7")]
pub quals: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="8")]
pub alias: ::core::option::Option<Alias>,
#[prost(int32, tag="9")]
pub rtindex: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FromExpr {
#[prost(message, repeated, tag="1")]
pub fromlist: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="2")]
pub quals: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnConflictExpr {
#[prost(enumeration="OnConflictAction", tag="1")]
pub action: i32,
#[prost(message, repeated, tag="2")]
pub arbiter_elems: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub arbiter_where: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(uint32, tag="4")]
pub constraint: u32,
#[prost(message, repeated, tag="5")]
pub on_conflict_set: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="6")]
pub on_conflict_where: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="7")]
pub excl_rel_index: i32,
#[prost(message, repeated, tag="8")]
pub excl_rel_tlist: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Query {
#[prost(enumeration="CmdType", tag="1")]
pub command_type: i32,
#[prost(enumeration="QuerySource", tag="2")]
pub query_source: i32,
#[prost(bool, tag="3")]
pub can_set_tag: bool,
#[prost(message, optional, boxed, tag="4")]
pub utility_stmt: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="5")]
pub result_relation: i32,
#[prost(bool, tag="6")]
pub has_aggs: bool,
#[prost(bool, tag="7")]
pub has_window_funcs: bool,
#[prost(bool, tag="8")]
pub has_target_srfs: bool,
#[prost(bool, tag="9")]
pub has_sub_links: bool,
#[prost(bool, tag="10")]
pub has_distinct_on: bool,
#[prost(bool, tag="11")]
pub has_recursive: bool,
#[prost(bool, tag="12")]
pub has_modifying_cte: bool,
#[prost(bool, tag="13")]
pub has_for_update: bool,
#[prost(bool, tag="14")]
pub has_row_security: bool,
#[prost(bool, tag="15")]
pub is_return: bool,
#[prost(message, repeated, tag="16")]
pub cte_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="17")]
pub rtable: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="18")]
pub rteperminfos: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="19")]
pub jointree: ::core::option::Option<::prost::alloc::boxed::Box<FromExpr>>,
#[prost(message, repeated, tag="20")]
pub merge_action_list: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="21")]
pub merge_use_outer_join: bool,
#[prost(message, repeated, tag="22")]
pub target_list: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="OverridingKind", tag="23")]
pub r#override: i32,
#[prost(message, optional, boxed, tag="24")]
pub on_conflict: ::core::option::Option<::prost::alloc::boxed::Box<OnConflictExpr>>,
#[prost(message, repeated, tag="25")]
pub returning_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="26")]
pub group_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="27")]
pub group_distinct: bool,
#[prost(message, repeated, tag="28")]
pub grouping_sets: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="29")]
pub having_qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="30")]
pub window_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="31")]
pub distinct_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="32")]
pub sort_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="33")]
pub limit_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="34")]
pub limit_count: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="LimitOption", tag="35")]
pub limit_option: i32,
#[prost(message, repeated, tag="36")]
pub row_marks: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="37")]
pub set_operations: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="38")]
pub constraint_deps: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="39")]
pub with_check_options: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="40")]
pub stmt_location: i32,
#[prost(int32, tag="41")]
pub stmt_len: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TypeName {
#[prost(message, repeated, tag="1")]
pub names: ::prost::alloc::vec::Vec<Node>,
#[prost(uint32, tag="2")]
pub type_oid: u32,
#[prost(bool, tag="3")]
pub setof: bool,
#[prost(bool, tag="4")]
pub pct_type: bool,
#[prost(message, repeated, tag="5")]
pub typmods: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="6")]
pub typemod: i32,
#[prost(message, repeated, tag="7")]
pub array_bounds: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="8")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ColumnRef {
#[prost(message, repeated, tag="1")]
pub fields: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="2")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParamRef {
#[prost(int32, tag="1")]
pub number: i32,
#[prost(int32, tag="2")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AExpr {
#[prost(enumeration="AExprKind", tag="1")]
pub kind: i32,
#[prost(message, repeated, tag="2")]
pub name: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub lexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="4")]
pub rexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TypeCast {
#[prost(message, optional, boxed, tag="1")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="2")]
pub type_name: ::core::option::Option<TypeName>,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CollateClause {
#[prost(message, optional, boxed, tag="1")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="2")]
pub collname: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoleSpec {
#[prost(enumeration="RoleSpecType", tag="1")]
pub roletype: i32,
#[prost(string, tag="2")]
pub rolename: ::prost::alloc::string::String,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuncCall {
#[prost(message, repeated, tag="1")]
pub funcname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub agg_order: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="4")]
pub agg_filter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="5")]
pub over: ::core::option::Option<::prost::alloc::boxed::Box<WindowDef>>,
#[prost(bool, tag="6")]
pub agg_within_group: bool,
#[prost(bool, tag="7")]
pub agg_star: bool,
#[prost(bool, tag="8")]
pub agg_distinct: bool,
#[prost(bool, tag="9")]
pub func_variadic: bool,
#[prost(enumeration="CoercionForm", tag="10")]
pub funcformat: i32,
#[prost(int32, tag="11")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AStar {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AIndices {
#[prost(bool, tag="1")]
pub is_slice: bool,
#[prost(message, optional, boxed, tag="2")]
pub lidx: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="3")]
pub uidx: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AIndirection {
#[prost(message, optional, boxed, tag="1")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="2")]
pub indirection: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AArrayExpr {
#[prost(message, repeated, tag="1")]
pub elements: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="2")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResTarget {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub indirection: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub val: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiAssignRef {
#[prost(message, optional, boxed, tag="1")]
pub source: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="2")]
pub colno: i32,
#[prost(int32, tag="3")]
pub ncolumns: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SortBy {
#[prost(message, optional, boxed, tag="1")]
pub node: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="SortByDir", tag="2")]
pub sortby_dir: i32,
#[prost(enumeration="SortByNulls", tag="3")]
pub sortby_nulls: i32,
#[prost(message, repeated, tag="4")]
pub use_op: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WindowDef {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub refname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub partition_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub order_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="5")]
pub frame_options: i32,
#[prost(message, optional, boxed, tag="6")]
pub start_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="7")]
pub end_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="8")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeSubselect {
#[prost(bool, tag="1")]
pub lateral: bool,
#[prost(message, optional, boxed, tag="2")]
pub subquery: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="3")]
pub alias: ::core::option::Option<Alias>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeFunction {
#[prost(bool, tag="1")]
pub lateral: bool,
#[prost(bool, tag="2")]
pub ordinality: bool,
#[prost(bool, tag="3")]
pub is_rowsfrom: bool,
#[prost(message, repeated, tag="4")]
pub functions: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="5")]
pub alias: ::core::option::Option<Alias>,
#[prost(message, repeated, tag="6")]
pub coldeflist: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeTableFunc {
#[prost(bool, tag="1")]
pub lateral: bool,
#[prost(message, optional, boxed, tag="2")]
pub docexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="3")]
pub rowexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="4")]
pub namespaces: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub columns: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="6")]
pub alias: ::core::option::Option<Alias>,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeTableFuncCol {
#[prost(string, tag="1")]
pub colname: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub type_name: ::core::option::Option<TypeName>,
#[prost(bool, tag="3")]
pub for_ordinality: bool,
#[prost(bool, tag="4")]
pub is_not_null: bool,
#[prost(message, optional, boxed, tag="5")]
pub colexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="6")]
pub coldefexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="7")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeTableSample {
#[prost(message, optional, boxed, tag="1")]
pub relation: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="2")]
pub method: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="4")]
pub repeatable: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ColumnDef {
#[prost(string, tag="1")]
pub colname: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub type_name: ::core::option::Option<TypeName>,
#[prost(string, tag="3")]
pub compression: ::prost::alloc::string::String,
#[prost(int32, tag="4")]
pub inhcount: i32,
#[prost(bool, tag="5")]
pub is_local: bool,
#[prost(bool, tag="6")]
pub is_not_null: bool,
#[prost(bool, tag="7")]
pub is_from_type: bool,
#[prost(string, tag="8")]
pub storage: ::prost::alloc::string::String,
#[prost(string, tag="9")]
pub storage_name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="10")]
pub raw_default: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="11")]
pub cooked_default: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="12")]
pub identity: ::prost::alloc::string::String,
#[prost(message, optional, tag="13")]
pub identity_sequence: ::core::option::Option<RangeVar>,
#[prost(string, tag="14")]
pub generated: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="15")]
pub coll_clause: ::core::option::Option<::prost::alloc::boxed::Box<CollateClause>>,
#[prost(uint32, tag="16")]
pub coll_oid: u32,
#[prost(message, repeated, tag="17")]
pub constraints: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="18")]
pub fdwoptions: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="19")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TableLikeClause {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(uint32, tag="2")]
pub options: u32,
#[prost(uint32, tag="3")]
pub relation_oid: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IndexElem {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="2")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="3")]
pub indexcolname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="4")]
pub collation: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub opclass: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub opclassopts: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="SortByDir", tag="7")]
pub ordering: i32,
#[prost(enumeration="SortByNulls", tag="8")]
pub nulls_ordering: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DefElem {
#[prost(string, tag="1")]
pub defnamespace: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub defname: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="3")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="DefElemAction", tag="4")]
pub defaction: i32,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockingClause {
#[prost(message, repeated, tag="1")]
pub locked_rels: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="LockClauseStrength", tag="2")]
pub strength: i32,
#[prost(enumeration="LockWaitPolicy", tag="3")]
pub wait_policy: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct XmlSerialize {
#[prost(enumeration="XmlOptionType", tag="1")]
pub xmloption: i32,
#[prost(message, optional, boxed, tag="2")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="3")]
pub type_name: ::core::option::Option<TypeName>,
#[prost(bool, tag="4")]
pub indent: bool,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PartitionElem {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="2")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="3")]
pub collation: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub opclass: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PartitionSpec {
#[prost(enumeration="PartitionStrategy", tag="1")]
pub strategy: i32,
#[prost(message, repeated, tag="2")]
pub part_params: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PartitionBoundSpec {
#[prost(string, tag="1")]
pub strategy: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub is_default: bool,
#[prost(int32, tag="3")]
pub modulus: i32,
#[prost(int32, tag="4")]
pub remainder: i32,
#[prost(message, repeated, tag="5")]
pub listdatums: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub lowerdatums: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="7")]
pub upperdatums: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="8")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PartitionRangeDatum {
#[prost(enumeration="PartitionRangeDatumKind", tag="1")]
pub kind: i32,
#[prost(message, optional, boxed, tag="2")]
pub value: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PartitionCmd {
#[prost(message, optional, tag="1")]
pub name: ::core::option::Option<RangeVar>,
#[prost(message, optional, tag="2")]
pub bound: ::core::option::Option<PartitionBoundSpec>,
#[prost(bool, tag="3")]
pub concurrent: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeTblEntry {
#[prost(enumeration="RteKind", tag="1")]
pub rtekind: i32,
#[prost(uint32, tag="2")]
pub relid: u32,
#[prost(string, tag="3")]
pub relkind: ::prost::alloc::string::String,
#[prost(int32, tag="4")]
pub rellockmode: i32,
#[prost(message, optional, boxed, tag="5")]
pub tablesample: ::core::option::Option<::prost::alloc::boxed::Box<TableSampleClause>>,
#[prost(uint32, tag="6")]
pub perminfoindex: u32,
#[prost(message, optional, boxed, tag="7")]
pub subquery: ::core::option::Option<::prost::alloc::boxed::Box<Query>>,
#[prost(bool, tag="8")]
pub security_barrier: bool,
#[prost(enumeration="JoinType", tag="9")]
pub jointype: i32,
#[prost(int32, tag="10")]
pub joinmergedcols: i32,
#[prost(message, repeated, tag="11")]
pub joinaliasvars: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="12")]
pub joinleftcols: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="13")]
pub joinrightcols: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="14")]
pub join_using_alias: ::core::option::Option<Alias>,
#[prost(message, repeated, tag="15")]
pub functions: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="16")]
pub funcordinality: bool,
#[prost(message, optional, boxed, tag="17")]
pub tablefunc: ::core::option::Option<::prost::alloc::boxed::Box<TableFunc>>,
#[prost(message, repeated, tag="18")]
pub values_lists: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="19")]
pub ctename: ::prost::alloc::string::String,
#[prost(uint32, tag="20")]
pub ctelevelsup: u32,
#[prost(bool, tag="21")]
pub self_reference: bool,
#[prost(message, repeated, tag="22")]
pub coltypes: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="23")]
pub coltypmods: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="24")]
pub colcollations: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="25")]
pub enrname: ::prost::alloc::string::String,
#[prost(double, tag="26")]
pub enrtuples: f64,
#[prost(message, optional, tag="27")]
pub alias: ::core::option::Option<Alias>,
#[prost(message, optional, tag="28")]
pub eref: ::core::option::Option<Alias>,
#[prost(bool, tag="29")]
pub lateral: bool,
#[prost(bool, tag="30")]
pub inh: bool,
#[prost(bool, tag="31")]
pub in_from_cl: bool,
#[prost(message, repeated, tag="32")]
pub security_quals: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RtePermissionInfo {
#[prost(uint32, tag="1")]
pub relid: u32,
#[prost(bool, tag="2")]
pub inh: bool,
#[prost(uint64, tag="3")]
pub required_perms: u64,
#[prost(uint32, tag="4")]
pub check_as_user: u32,
#[prost(uint64, repeated, tag="5")]
pub selected_cols: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, repeated, tag="6")]
pub inserted_cols: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, repeated, tag="7")]
pub updated_cols: ::prost::alloc::vec::Vec<u64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeTblFunction {
#[prost(message, optional, boxed, tag="1")]
pub funcexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="2")]
pub funccolcount: i32,
#[prost(message, repeated, tag="3")]
pub funccolnames: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub funccoltypes: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub funccoltypmods: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub funccolcollations: ::prost::alloc::vec::Vec<Node>,
#[prost(uint64, repeated, tag="7")]
pub funcparams: ::prost::alloc::vec::Vec<u64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TableSampleClause {
#[prost(uint32, tag="1")]
pub tsmhandler: u32,
#[prost(message, repeated, tag="2")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub repeatable: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WithCheckOption {
#[prost(enumeration="WcoKind", tag="1")]
pub kind: i32,
#[prost(string, tag="2")]
pub relname: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub polname: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="4")]
pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(bool, tag="5")]
pub cascaded: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SortGroupClause {
#[prost(uint32, tag="1")]
pub tle_sort_group_ref: u32,
#[prost(uint32, tag="2")]
pub eqop: u32,
#[prost(uint32, tag="3")]
pub sortop: u32,
#[prost(bool, tag="4")]
pub nulls_first: bool,
#[prost(bool, tag="5")]
pub hashable: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupingSet {
#[prost(enumeration="GroupingSetKind", tag="1")]
pub kind: i32,
#[prost(message, repeated, tag="2")]
pub content: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WindowClause {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub refname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub partition_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub order_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="5")]
pub frame_options: i32,
#[prost(message, optional, boxed, tag="6")]
pub start_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="7")]
pub end_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="8")]
pub run_condition: ::prost::alloc::vec::Vec<Node>,
#[prost(uint32, tag="9")]
pub start_in_range_func: u32,
#[prost(uint32, tag="10")]
pub end_in_range_func: u32,
#[prost(uint32, tag="11")]
pub in_range_coll: u32,
#[prost(bool, tag="12")]
pub in_range_asc: bool,
#[prost(bool, tag="13")]
pub in_range_nulls_first: bool,
#[prost(uint32, tag="14")]
pub winref: u32,
#[prost(bool, tag="15")]
pub copied_order: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RowMarkClause {
#[prost(uint32, tag="1")]
pub rti: u32,
#[prost(enumeration="LockClauseStrength", tag="2")]
pub strength: i32,
#[prost(enumeration="LockWaitPolicy", tag="3")]
pub wait_policy: i32,
#[prost(bool, tag="4")]
pub pushed_down: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WithClause {
#[prost(message, repeated, tag="1")]
pub ctes: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="2")]
pub recursive: bool,
#[prost(int32, tag="3")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InferClause {
#[prost(message, repeated, tag="1")]
pub index_elems: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="2")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="3")]
pub conname: ::prost::alloc::string::String,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnConflictClause {
#[prost(enumeration="OnConflictAction", tag="1")]
pub action: i32,
#[prost(message, optional, boxed, tag="2")]
pub infer: ::core::option::Option<::prost::alloc::boxed::Box<InferClause>>,
#[prost(message, repeated, tag="3")]
pub target_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="4")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CteSearchClause {
#[prost(message, repeated, tag="1")]
pub search_col_list: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="2")]
pub search_breadth_first: bool,
#[prost(string, tag="3")]
pub search_seq_column: ::prost::alloc::string::String,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CteCycleClause {
#[prost(message, repeated, tag="1")]
pub cycle_col_list: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="2")]
pub cycle_mark_column: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="3")]
pub cycle_mark_value: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="4")]
pub cycle_mark_default: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="5")]
pub cycle_path_column: ::prost::alloc::string::String,
#[prost(int32, tag="6")]
pub location: i32,
#[prost(uint32, tag="7")]
pub cycle_mark_type: u32,
#[prost(int32, tag="8")]
pub cycle_mark_typmod: i32,
#[prost(uint32, tag="9")]
pub cycle_mark_collation: u32,
#[prost(uint32, tag="10")]
pub cycle_mark_neop: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonTableExpr {
#[prost(string, tag="1")]
pub ctename: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub aliascolnames: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="CteMaterialize", tag="3")]
pub ctematerialized: i32,
#[prost(message, optional, boxed, tag="4")]
pub ctequery: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="5")]
pub search_clause: ::core::option::Option<CteSearchClause>,
#[prost(message, optional, boxed, tag="6")]
pub cycle_clause: ::core::option::Option<::prost::alloc::boxed::Box<CteCycleClause>>,
#[prost(int32, tag="7")]
pub location: i32,
#[prost(bool, tag="8")]
pub cterecursive: bool,
#[prost(int32, tag="9")]
pub cterefcount: i32,
#[prost(message, repeated, tag="10")]
pub ctecolnames: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="11")]
pub ctecoltypes: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="12")]
pub ctecoltypmods: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="13")]
pub ctecolcollations: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MergeWhenClause {
#[prost(bool, tag="1")]
pub matched: bool,
#[prost(enumeration="CmdType", tag="2")]
pub command_type: i32,
#[prost(enumeration="OverridingKind", tag="3")]
pub r#override: i32,
#[prost(message, optional, boxed, tag="4")]
pub condition: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="5")]
pub target_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub values: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MergeAction {
#[prost(bool, tag="1")]
pub matched: bool,
#[prost(enumeration="CmdType", tag="2")]
pub command_type: i32,
#[prost(enumeration="OverridingKind", tag="3")]
pub r#override: i32,
#[prost(message, optional, boxed, tag="4")]
pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="5")]
pub target_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub update_colnos: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TriggerTransition {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub is_new: bool,
#[prost(bool, tag="3")]
pub is_table: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonOutput {
#[prost(message, optional, tag="1")]
pub type_name: ::core::option::Option<TypeName>,
#[prost(message, optional, tag="2")]
pub returning: ::core::option::Option<JsonReturning>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonKeyValue {
#[prost(message, optional, boxed, tag="1")]
pub key: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub value: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonObjectConstructor {
#[prost(message, repeated, tag="1")]
pub exprs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="2")]
pub output: ::core::option::Option<JsonOutput>,
#[prost(bool, tag="3")]
pub absent_on_null: bool,
#[prost(bool, tag="4")]
pub unique: bool,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonArrayConstructor {
#[prost(message, repeated, tag="1")]
pub exprs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="2")]
pub output: ::core::option::Option<JsonOutput>,
#[prost(bool, tag="3")]
pub absent_on_null: bool,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonArrayQueryConstructor {
#[prost(message, optional, boxed, tag="1")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="2")]
pub output: ::core::option::Option<JsonOutput>,
#[prost(message, optional, tag="3")]
pub format: ::core::option::Option<JsonFormat>,
#[prost(bool, tag="4")]
pub absent_on_null: bool,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonAggConstructor {
#[prost(message, optional, tag="1")]
pub output: ::core::option::Option<JsonOutput>,
#[prost(message, optional, boxed, tag="2")]
pub agg_filter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="3")]
pub agg_order: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="4")]
pub over: ::core::option::Option<::prost::alloc::boxed::Box<WindowDef>>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonObjectAgg {
#[prost(message, optional, boxed, tag="1")]
pub constructor: ::core::option::Option<::prost::alloc::boxed::Box<JsonAggConstructor>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<JsonKeyValue>>,
#[prost(bool, tag="3")]
pub absent_on_null: bool,
#[prost(bool, tag="4")]
pub unique: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JsonArrayAgg {
#[prost(message, optional, boxed, tag="1")]
pub constructor: ::core::option::Option<::prost::alloc::boxed::Box<JsonAggConstructor>>,
#[prost(message, optional, boxed, tag="2")]
pub arg: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
#[prost(bool, tag="3")]
pub absent_on_null: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RawStmt {
#[prost(message, optional, boxed, tag="1")]
pub stmt: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(int32, tag="2")]
pub stmt_location: i32,
#[prost(int32, tag="3")]
pub stmt_len: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub cols: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub select_stmt: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="4")]
pub on_conflict_clause: ::core::option::Option<::prost::alloc::boxed::Box<OnConflictClause>>,
#[prost(message, repeated, tag="5")]
pub returning_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="6")]
pub with_clause: ::core::option::Option<WithClause>,
#[prost(enumeration="OverridingKind", tag="7")]
pub r#override: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub using_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="4")]
pub returning_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="5")]
pub with_clause: ::core::option::Option<WithClause>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub target_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="4")]
pub from_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub returning_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="6")]
pub with_clause: ::core::option::Option<WithClause>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MergeStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, optional, boxed, tag="2")]
pub source_relation: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="3")]
pub join_condition: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="4")]
pub merge_when_clauses: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="5")]
pub with_clause: ::core::option::Option<WithClause>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectStmt {
#[prost(message, repeated, tag="1")]
pub distinct_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="2")]
pub into_clause: ::core::option::Option<::prost::alloc::boxed::Box<IntoClause>>,
#[prost(message, repeated, tag="3")]
pub target_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub from_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="5")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="6")]
pub group_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="7")]
pub group_distinct: bool,
#[prost(message, optional, boxed, tag="8")]
pub having_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="9")]
pub window_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="10")]
pub values_lists: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="11")]
pub sort_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="12")]
pub limit_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="13")]
pub limit_count: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="LimitOption", tag="14")]
pub limit_option: i32,
#[prost(message, repeated, tag="15")]
pub locking_clause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="16")]
pub with_clause: ::core::option::Option<WithClause>,
#[prost(enumeration="SetOperation", tag="17")]
pub op: i32,
#[prost(bool, tag="18")]
pub all: bool,
#[prost(message, optional, boxed, tag="19")]
pub larg: ::core::option::Option<::prost::alloc::boxed::Box<SelectStmt>>,
#[prost(message, optional, boxed, tag="20")]
pub rarg: ::core::option::Option<::prost::alloc::boxed::Box<SelectStmt>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetOperationStmt {
#[prost(enumeration="SetOperation", tag="1")]
pub op: i32,
#[prost(bool, tag="2")]
pub all: bool,
#[prost(message, optional, boxed, tag="3")]
pub larg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="4")]
pub rarg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="5")]
pub col_types: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub col_typmods: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="7")]
pub col_collations: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="8")]
pub group_clauses: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReturnStmt {
#[prost(message, optional, boxed, tag="1")]
pub returnval: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlAssignStmt {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub indirection: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="3")]
pub nnames: i32,
#[prost(message, optional, boxed, tag="4")]
pub val: ::core::option::Option<::prost::alloc::boxed::Box<SelectStmt>>,
#[prost(int32, tag="5")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSchemaStmt {
#[prost(string, tag="1")]
pub schemaname: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub authrole: ::core::option::Option<RoleSpec>,
#[prost(message, repeated, tag="3")]
pub schema_elts: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="4")]
pub if_not_exists: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterTableStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub cmds: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="ObjectType", tag="3")]
pub objtype: i32,
#[prost(bool, tag="4")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplicaIdentityStmt {
#[prost(string, tag="1")]
pub identity_type: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterTableCmd {
#[prost(enumeration="AlterTableType", tag="1")]
pub subtype: i32,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
#[prost(int32, tag="3")]
pub num: i32,
#[prost(message, optional, tag="4")]
pub newowner: ::core::option::Option<RoleSpec>,
#[prost(message, optional, boxed, tag="5")]
pub def: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="DropBehavior", tag="6")]
pub behavior: i32,
#[prost(bool, tag="7")]
pub missing_ok: bool,
#[prost(bool, tag="8")]
pub recurse: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterCollationStmt {
#[prost(message, repeated, tag="1")]
pub collname: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterDomainStmt {
#[prost(string, tag="1")]
pub subtype: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub type_name: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="3")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="4")]
pub def: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="DropBehavior", tag="5")]
pub behavior: i32,
#[prost(bool, tag="6")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GrantStmt {
#[prost(bool, tag="1")]
pub is_grant: bool,
#[prost(enumeration="GrantTargetType", tag="2")]
pub targtype: i32,
#[prost(enumeration="ObjectType", tag="3")]
pub objtype: i32,
#[prost(message, repeated, tag="4")]
pub objects: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub privileges: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub grantees: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="7")]
pub grant_option: bool,
#[prost(message, optional, tag="8")]
pub grantor: ::core::option::Option<RoleSpec>,
#[prost(enumeration="DropBehavior", tag="9")]
pub behavior: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectWithArgs {
#[prost(message, repeated, tag="1")]
pub objname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub objargs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub objfuncargs: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="4")]
pub args_unspecified: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AccessPriv {
#[prost(string, tag="1")]
pub priv_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub cols: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GrantRoleStmt {
#[prost(message, repeated, tag="1")]
pub granted_roles: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub grantee_roles: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="3")]
pub is_grant: bool,
#[prost(message, repeated, tag="4")]
pub opt: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="5")]
pub grantor: ::core::option::Option<RoleSpec>,
#[prost(enumeration="DropBehavior", tag="6")]
pub behavior: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterDefaultPrivilegesStmt {
#[prost(message, repeated, tag="1")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="2")]
pub action: ::core::option::Option<GrantStmt>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CopyStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, optional, boxed, tag="2")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="3")]
pub attlist: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="4")]
pub is_from: bool,
#[prost(bool, tag="5")]
pub is_program: bool,
#[prost(string, tag="6")]
pub filename: ::prost::alloc::string::String,
#[prost(message, repeated, tag="7")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="8")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VariableSetStmt {
#[prost(enumeration="VariableSetKind", tag="1")]
pub kind: i32,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="4")]
pub is_local: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VariableShowStmt {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub table_elts: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub inh_relations: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="4")]
pub partbound: ::core::option::Option<PartitionBoundSpec>,
#[prost(message, optional, tag="5")]
pub partspec: ::core::option::Option<PartitionSpec>,
#[prost(message, optional, tag="6")]
pub of_typename: ::core::option::Option<TypeName>,
#[prost(message, repeated, tag="7")]
pub constraints: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="8")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="OnCommitAction", tag="9")]
pub oncommit: i32,
#[prost(string, tag="10")]
pub tablespacename: ::prost::alloc::string::String,
#[prost(string, tag="11")]
pub access_method: ::prost::alloc::string::String,
#[prost(bool, tag="12")]
pub if_not_exists: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Constraint {
#[prost(enumeration="ConstrType", tag="1")]
pub contype: i32,
#[prost(string, tag="2")]
pub conname: ::prost::alloc::string::String,
#[prost(bool, tag="3")]
pub deferrable: bool,
#[prost(bool, tag="4")]
pub initdeferred: bool,
#[prost(int32, tag="5")]
pub location: i32,
#[prost(bool, tag="6")]
pub is_no_inherit: bool,
#[prost(message, optional, boxed, tag="7")]
pub raw_expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="8")]
pub cooked_expr: ::prost::alloc::string::String,
#[prost(string, tag="9")]
pub generated_when: ::prost::alloc::string::String,
#[prost(bool, tag="10")]
pub nulls_not_distinct: bool,
#[prost(message, repeated, tag="11")]
pub keys: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="12")]
pub including: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="13")]
pub exclusions: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="14")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="15")]
pub indexname: ::prost::alloc::string::String,
#[prost(string, tag="16")]
pub indexspace: ::prost::alloc::string::String,
#[prost(bool, tag="17")]
pub reset_default_tblspc: bool,
#[prost(string, tag="18")]
pub access_method: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="19")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="20")]
pub pktable: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="21")]
pub fk_attrs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="22")]
pub pk_attrs: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="23")]
pub fk_matchtype: ::prost::alloc::string::String,
#[prost(string, tag="24")]
pub fk_upd_action: ::prost::alloc::string::String,
#[prost(string, tag="25")]
pub fk_del_action: ::prost::alloc::string::String,
#[prost(message, repeated, tag="26")]
pub fk_del_set_cols: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="27")]
pub old_conpfeqop: ::prost::alloc::vec::Vec<Node>,
#[prost(uint32, tag="28")]
pub old_pktable_oid: u32,
#[prost(bool, tag="29")]
pub skip_validation: bool,
#[prost(bool, tag="30")]
pub initially_valid: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateTableSpaceStmt {
#[prost(string, tag="1")]
pub tablespacename: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub owner: ::core::option::Option<RoleSpec>,
#[prost(string, tag="3")]
pub location: ::prost::alloc::string::String,
#[prost(message, repeated, tag="4")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DropTableSpaceStmt {
#[prost(string, tag="1")]
pub tablespacename: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterTableSpaceOptionsStmt {
#[prost(string, tag="1")]
pub tablespacename: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="3")]
pub is_reset: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterTableMoveAllStmt {
#[prost(string, tag="1")]
pub orig_tablespacename: ::prost::alloc::string::String,
#[prost(enumeration="ObjectType", tag="2")]
pub objtype: i32,
#[prost(message, repeated, tag="3")]
pub roles: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="4")]
pub new_tablespacename: ::prost::alloc::string::String,
#[prost(bool, tag="5")]
pub nowait: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateExtensionStmt {
#[prost(string, tag="1")]
pub extname: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub if_not_exists: bool,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterExtensionStmt {
#[prost(string, tag="1")]
pub extname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterExtensionContentsStmt {
#[prost(string, tag="1")]
pub extname: ::prost::alloc::string::String,
#[prost(int32, tag="2")]
pub action: i32,
#[prost(enumeration="ObjectType", tag="3")]
pub objtype: i32,
#[prost(message, optional, boxed, tag="4")]
pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateFdwStmt {
#[prost(string, tag="1")]
pub fdwname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub func_options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterFdwStmt {
#[prost(string, tag="1")]
pub fdwname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub func_options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateForeignServerStmt {
#[prost(string, tag="1")]
pub servername: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub servertype: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub fdwname: ::prost::alloc::string::String,
#[prost(bool, tag="5")]
pub if_not_exists: bool,
#[prost(message, repeated, tag="6")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterForeignServerStmt {
#[prost(string, tag="1")]
pub servername: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub version: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="4")]
pub has_version: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateForeignTableStmt {
#[prost(message, optional, tag="1")]
pub base_stmt: ::core::option::Option<CreateStmt>,
#[prost(string, tag="2")]
pub servername: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateUserMappingStmt {
#[prost(message, optional, tag="1")]
pub user: ::core::option::Option<RoleSpec>,
#[prost(string, tag="2")]
pub servername: ::prost::alloc::string::String,
#[prost(bool, tag="3")]
pub if_not_exists: bool,
#[prost(message, repeated, tag="4")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterUserMappingStmt {
#[prost(message, optional, tag="1")]
pub user: ::core::option::Option<RoleSpec>,
#[prost(string, tag="2")]
pub servername: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DropUserMappingStmt {
#[prost(message, optional, tag="1")]
pub user: ::core::option::Option<RoleSpec>,
#[prost(string, tag="2")]
pub servername: ::prost::alloc::string::String,
#[prost(bool, tag="3")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ImportForeignSchemaStmt {
#[prost(string, tag="1")]
pub server_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub remote_schema: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub local_schema: ::prost::alloc::string::String,
#[prost(enumeration="ImportForeignSchemaType", tag="4")]
pub list_type: i32,
#[prost(message, repeated, tag="5")]
pub table_list: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatePolicyStmt {
#[prost(string, tag="1")]
pub policy_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub table: ::core::option::Option<RangeVar>,
#[prost(string, tag="3")]
pub cmd_name: ::prost::alloc::string::String,
#[prost(bool, tag="4")]
pub permissive: bool,
#[prost(message, repeated, tag="5")]
pub roles: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="6")]
pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="7")]
pub with_check: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterPolicyStmt {
#[prost(string, tag="1")]
pub policy_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub table: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="3")]
pub roles: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="4")]
pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="5")]
pub with_check: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAmStmt {
#[prost(string, tag="1")]
pub amname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub handler_name: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="3")]
pub amtype: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateTrigStmt {
#[prost(bool, tag="1")]
pub replace: bool,
#[prost(bool, tag="2")]
pub isconstraint: bool,
#[prost(string, tag="3")]
pub trigname: ::prost::alloc::string::String,
#[prost(message, optional, tag="4")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="5")]
pub funcname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="7")]
pub row: bool,
#[prost(int32, tag="8")]
pub timing: i32,
#[prost(int32, tag="9")]
pub events: i32,
#[prost(message, repeated, tag="10")]
pub columns: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="11")]
pub when_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="12")]
pub transition_rels: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="13")]
pub deferrable: bool,
#[prost(bool, tag="14")]
pub initdeferred: bool,
#[prost(message, optional, tag="15")]
pub constrrel: ::core::option::Option<RangeVar>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateEventTrigStmt {
#[prost(string, tag="1")]
pub trigname: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub eventname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub whenclause: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub funcname: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterEventTrigStmt {
#[prost(string, tag="1")]
pub trigname: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub tgenabled: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatePLangStmt {
#[prost(bool, tag="1")]
pub replace: bool,
#[prost(string, tag="2")]
pub plname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub plhandler: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub plinline: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub plvalidator: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="6")]
pub pltrusted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateRoleStmt {
#[prost(enumeration="RoleStmtType", tag="1")]
pub stmt_type: i32,
#[prost(string, tag="2")]
pub role: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterRoleStmt {
#[prost(message, optional, tag="1")]
pub role: ::core::option::Option<RoleSpec>,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="3")]
pub action: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterRoleSetStmt {
#[prost(message, optional, tag="1")]
pub role: ::core::option::Option<RoleSpec>,
#[prost(string, tag="2")]
pub database: ::prost::alloc::string::String,
#[prost(message, optional, tag="3")]
pub setstmt: ::core::option::Option<VariableSetStmt>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DropRoleStmt {
#[prost(message, repeated, tag="1")]
pub roles: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="2")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSeqStmt {
#[prost(message, optional, tag="1")]
pub sequence: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(uint32, tag="3")]
pub owner_id: u32,
#[prost(bool, tag="4")]
pub for_identity: bool,
#[prost(bool, tag="5")]
pub if_not_exists: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterSeqStmt {
#[prost(message, optional, tag="1")]
pub sequence: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="3")]
pub for_identity: bool,
#[prost(bool, tag="4")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DefineStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub kind: i32,
#[prost(bool, tag="2")]
pub oldstyle: bool,
#[prost(message, repeated, tag="3")]
pub defnames: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub definition: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="6")]
pub if_not_exists: bool,
#[prost(bool, tag="7")]
pub replace: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateDomainStmt {
#[prost(message, repeated, tag="1")]
pub domainname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="2")]
pub type_name: ::core::option::Option<TypeName>,
#[prost(message, optional, boxed, tag="3")]
pub coll_clause: ::core::option::Option<::prost::alloc::boxed::Box<CollateClause>>,
#[prost(message, repeated, tag="4")]
pub constraints: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateOpClassStmt {
#[prost(message, repeated, tag="1")]
pub opclassname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub opfamilyname: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="3")]
pub amname: ::prost::alloc::string::String,
#[prost(message, optional, tag="4")]
pub datatype: ::core::option::Option<TypeName>,
#[prost(message, repeated, tag="5")]
pub items: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="6")]
pub is_default: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateOpClassItem {
#[prost(int32, tag="1")]
pub itemtype: i32,
#[prost(message, optional, tag="2")]
pub name: ::core::option::Option<ObjectWithArgs>,
#[prost(int32, tag="3")]
pub number: i32,
#[prost(message, repeated, tag="4")]
pub order_family: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub class_args: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="6")]
pub storedtype: ::core::option::Option<TypeName>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateOpFamilyStmt {
#[prost(message, repeated, tag="1")]
pub opfamilyname: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="2")]
pub amname: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterOpFamilyStmt {
#[prost(message, repeated, tag="1")]
pub opfamilyname: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="2")]
pub amname: ::prost::alloc::string::String,
#[prost(bool, tag="3")]
pub is_drop: bool,
#[prost(message, repeated, tag="4")]
pub items: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DropStmt {
#[prost(message, repeated, tag="1")]
pub objects: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="ObjectType", tag="2")]
pub remove_type: i32,
#[prost(enumeration="DropBehavior", tag="3")]
pub behavior: i32,
#[prost(bool, tag="4")]
pub missing_ok: bool,
#[prost(bool, tag="5")]
pub concurrent: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TruncateStmt {
#[prost(message, repeated, tag="1")]
pub relations: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="2")]
pub restart_seqs: bool,
#[prost(enumeration="DropBehavior", tag="3")]
pub behavior: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommentStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub objtype: i32,
#[prost(message, optional, boxed, tag="2")]
pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="3")]
pub comment: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecLabelStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub objtype: i32,
#[prost(message, optional, boxed, tag="2")]
pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="3")]
pub provider: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub label: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeclareCursorStmt {
#[prost(string, tag="1")]
pub portalname: ::prost::alloc::string::String,
#[prost(int32, tag="2")]
pub options: i32,
#[prost(message, optional, boxed, tag="3")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClosePortalStmt {
#[prost(string, tag="1")]
pub portalname: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FetchStmt {
#[prost(enumeration="FetchDirection", tag="1")]
pub direction: i32,
#[prost(int64, tag="2")]
pub how_many: i64,
#[prost(string, tag="3")]
pub portalname: ::prost::alloc::string::String,
#[prost(bool, tag="4")]
pub ismove: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IndexStmt {
#[prost(string, tag="1")]
pub idxname: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(string, tag="3")]
pub access_method: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub table_space: ::prost::alloc::string::String,
#[prost(message, repeated, tag="5")]
pub index_params: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="6")]
pub index_including_params: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="7")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="8")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="9")]
pub exclude_op_names: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="10")]
pub idxcomment: ::prost::alloc::string::String,
#[prost(uint32, tag="11")]
pub index_oid: u32,
#[prost(uint32, tag="12")]
pub old_number: u32,
#[prost(uint32, tag="13")]
pub old_create_subid: u32,
#[prost(uint32, tag="14")]
pub old_first_relfilelocator_subid: u32,
#[prost(bool, tag="15")]
pub unique: bool,
#[prost(bool, tag="16")]
pub nulls_not_distinct: bool,
#[prost(bool, tag="17")]
pub primary: bool,
#[prost(bool, tag="18")]
pub isconstraint: bool,
#[prost(bool, tag="19")]
pub deferrable: bool,
#[prost(bool, tag="20")]
pub initdeferred: bool,
#[prost(bool, tag="21")]
pub transformed: bool,
#[prost(bool, tag="22")]
pub concurrent: bool,
#[prost(bool, tag="23")]
pub if_not_exists: bool,
#[prost(bool, tag="24")]
pub reset_default_tblspc: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateStatsStmt {
#[prost(message, repeated, tag="1")]
pub defnames: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub stat_types: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub exprs: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub relations: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="5")]
pub stxcomment: ::prost::alloc::string::String,
#[prost(bool, tag="6")]
pub transformed: bool,
#[prost(bool, tag="7")]
pub if_not_exists: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StatsElem {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="2")]
pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterStatsStmt {
#[prost(message, repeated, tag="1")]
pub defnames: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="2")]
pub stxstattarget: i32,
#[prost(bool, tag="3")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateFunctionStmt {
#[prost(bool, tag="1")]
pub is_procedure: bool,
#[prost(bool, tag="2")]
pub replace: bool,
#[prost(message, repeated, tag="3")]
pub funcname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub parameters: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="5")]
pub return_type: ::core::option::Option<TypeName>,
#[prost(message, repeated, tag="6")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="7")]
pub sql_body: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionParameter {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub arg_type: ::core::option::Option<TypeName>,
#[prost(enumeration="FunctionParameterMode", tag="3")]
pub mode: i32,
#[prost(message, optional, boxed, tag="4")]
pub defexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterFunctionStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub objtype: i32,
#[prost(message, optional, tag="2")]
pub func: ::core::option::Option<ObjectWithArgs>,
#[prost(message, repeated, tag="3")]
pub actions: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoStmt {
#[prost(message, repeated, tag="1")]
pub args: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InlineCodeBlock {
#[prost(string, tag="1")]
pub source_text: ::prost::alloc::string::String,
#[prost(uint32, tag="2")]
pub lang_oid: u32,
#[prost(bool, tag="3")]
pub lang_is_trusted: bool,
#[prost(bool, tag="4")]
pub atomic: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CallStmt {
#[prost(message, optional, boxed, tag="1")]
pub funccall: ::core::option::Option<::prost::alloc::boxed::Box<FuncCall>>,
#[prost(message, optional, boxed, tag="2")]
pub funcexpr: ::core::option::Option<::prost::alloc::boxed::Box<FuncExpr>>,
#[prost(message, repeated, tag="3")]
pub outargs: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CallContext {
#[prost(bool, tag="1")]
pub atomic: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RenameStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub rename_type: i32,
#[prost(enumeration="ObjectType", tag="2")]
pub relation_type: i32,
#[prost(message, optional, tag="3")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, optional, boxed, tag="4")]
pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="5")]
pub subname: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub newname: ::prost::alloc::string::String,
#[prost(enumeration="DropBehavior", tag="7")]
pub behavior: i32,
#[prost(bool, tag="8")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterObjectDependsStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub object_type: i32,
#[prost(message, optional, tag="2")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, optional, boxed, tag="3")]
pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="4")]
pub extname: ::core::option::Option<String>,
#[prost(bool, tag="5")]
pub remove: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterObjectSchemaStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub object_type: i32,
#[prost(message, optional, tag="2")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, optional, boxed, tag="3")]
pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(string, tag="4")]
pub newschema: ::prost::alloc::string::String,
#[prost(bool, tag="5")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterOwnerStmt {
#[prost(enumeration="ObjectType", tag="1")]
pub object_type: i32,
#[prost(message, optional, tag="2")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, optional, boxed, tag="3")]
pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, tag="4")]
pub newowner: ::core::option::Option<RoleSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterOperatorStmt {
#[prost(message, optional, tag="1")]
pub opername: ::core::option::Option<ObjectWithArgs>,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterTypeStmt {
#[prost(message, repeated, tag="1")]
pub type_name: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RuleStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(string, tag="2")]
pub rulename: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="3")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(enumeration="CmdType", tag="4")]
pub event: i32,
#[prost(bool, tag="5")]
pub instead: bool,
#[prost(message, repeated, tag="6")]
pub actions: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="7")]
pub replace: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NotifyStmt {
#[prost(string, tag="1")]
pub conditionname: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub payload: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListenStmt {
#[prost(string, tag="1")]
pub conditionname: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlistenStmt {
#[prost(string, tag="1")]
pub conditionname: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionStmt {
#[prost(enumeration="TransactionStmtKind", tag="1")]
pub kind: i32,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="3")]
pub savepoint_name: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub gid: ::prost::alloc::string::String,
#[prost(bool, tag="5")]
pub chain: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompositeTypeStmt {
#[prost(message, optional, tag="1")]
pub typevar: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub coldeflist: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateEnumStmt {
#[prost(message, repeated, tag="1")]
pub type_name: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub vals: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateRangeStmt {
#[prost(message, repeated, tag="1")]
pub type_name: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub params: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterEnumStmt {
#[prost(message, repeated, tag="1")]
pub type_name: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="2")]
pub old_val: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub new_val: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub new_val_neighbor: ::prost::alloc::string::String,
#[prost(bool, tag="5")]
pub new_val_is_after: bool,
#[prost(bool, tag="6")]
pub skip_if_new_val_exists: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ViewStmt {
#[prost(message, optional, tag="1")]
pub view: ::core::option::Option<RangeVar>,
#[prost(message, repeated, tag="2")]
pub aliases: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(bool, tag="4")]
pub replace: bool,
#[prost(message, repeated, tag="5")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="ViewCheckOption", tag="6")]
pub with_check_option: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LoadStmt {
#[prost(string, tag="1")]
pub filename: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatedbStmt {
#[prost(string, tag="1")]
pub dbname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterDatabaseStmt {
#[prost(string, tag="1")]
pub dbname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterDatabaseRefreshCollStmt {
#[prost(string, tag="1")]
pub dbname: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterDatabaseSetStmt {
#[prost(string, tag="1")]
pub dbname: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub setstmt: ::core::option::Option<VariableSetStmt>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DropdbStmt {
#[prost(string, tag="1")]
pub dbname: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub missing_ok: bool,
#[prost(message, repeated, tag="3")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterSystemStmt {
#[prost(message, optional, tag="1")]
pub setstmt: ::core::option::Option<VariableSetStmt>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClusterStmt {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(string, tag="2")]
pub indexname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub params: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VacuumStmt {
#[prost(message, repeated, tag="1")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub rels: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="3")]
pub is_vacuumcmd: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VacuumRelation {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(uint32, tag="2")]
pub oid: u32,
#[prost(message, repeated, tag="3")]
pub va_cols: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExplainStmt {
#[prost(message, optional, boxed, tag="1")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateTableAsStmt {
#[prost(message, optional, boxed, tag="1")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, optional, boxed, tag="2")]
pub into: ::core::option::Option<::prost::alloc::boxed::Box<IntoClause>>,
#[prost(enumeration="ObjectType", tag="3")]
pub objtype: i32,
#[prost(bool, tag="4")]
pub is_select_into: bool,
#[prost(bool, tag="5")]
pub if_not_exists: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshMatViewStmt {
#[prost(bool, tag="1")]
pub concurrent: bool,
#[prost(bool, tag="2")]
pub skip_data: bool,
#[prost(message, optional, tag="3")]
pub relation: ::core::option::Option<RangeVar>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckPointStmt {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiscardStmt {
#[prost(enumeration="DiscardMode", tag="1")]
pub target: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockStmt {
#[prost(message, repeated, tag="1")]
pub relations: ::prost::alloc::vec::Vec<Node>,
#[prost(int32, tag="2")]
pub mode: i32,
#[prost(bool, tag="3")]
pub nowait: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConstraintsSetStmt {
#[prost(message, repeated, tag="1")]
pub constraints: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="2")]
pub deferred: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReindexStmt {
#[prost(enumeration="ReindexObjectType", tag="1")]
pub kind: i32,
#[prost(message, optional, tag="2")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(string, tag="3")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="4")]
pub params: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateConversionStmt {
#[prost(message, repeated, tag="1")]
pub conversion_name: ::prost::alloc::vec::Vec<Node>,
#[prost(string, tag="2")]
pub for_encoding_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub to_encoding_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="4")]
pub func_name: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="5")]
pub def: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCastStmt {
#[prost(message, optional, tag="1")]
pub sourcetype: ::core::option::Option<TypeName>,
#[prost(message, optional, tag="2")]
pub targettype: ::core::option::Option<TypeName>,
#[prost(message, optional, tag="3")]
pub func: ::core::option::Option<ObjectWithArgs>,
#[prost(enumeration="CoercionContext", tag="4")]
pub context: i32,
#[prost(bool, tag="5")]
pub inout: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateTransformStmt {
#[prost(bool, tag="1")]
pub replace: bool,
#[prost(message, optional, tag="2")]
pub type_name: ::core::option::Option<TypeName>,
#[prost(string, tag="3")]
pub lang: ::prost::alloc::string::String,
#[prost(message, optional, tag="4")]
pub fromsql: ::core::option::Option<ObjectWithArgs>,
#[prost(message, optional, tag="5")]
pub tosql: ::core::option::Option<ObjectWithArgs>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrepareStmt {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub argtypes: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, boxed, tag="3")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecuteStmt {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub params: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeallocateStmt {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DropOwnedStmt {
#[prost(message, repeated, tag="1")]
pub roles: ::prost::alloc::vec::Vec<Node>,
#[prost(enumeration="DropBehavior", tag="2")]
pub behavior: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReassignOwnedStmt {
#[prost(message, repeated, tag="1")]
pub roles: ::prost::alloc::vec::Vec<Node>,
#[prost(message, optional, tag="2")]
pub newrole: ::core::option::Option<RoleSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterTsDictionaryStmt {
#[prost(message, repeated, tag="1")]
pub dictname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterTsConfigurationStmt {
#[prost(enumeration="AlterTsConfigType", tag="1")]
pub kind: i32,
#[prost(message, repeated, tag="2")]
pub cfgname: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub tokentype: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub dicts: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="5")]
pub r#override: bool,
#[prost(bool, tag="6")]
pub replace: bool,
#[prost(bool, tag="7")]
pub missing_ok: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PublicationTable {
#[prost(message, optional, tag="1")]
pub relation: ::core::option::Option<RangeVar>,
#[prost(message, optional, boxed, tag="2")]
pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
#[prost(message, repeated, tag="3")]
pub columns: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PublicationObjSpec {
#[prost(enumeration="PublicationObjSpecType", tag="1")]
pub pubobjtype: i32,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag="3")]
pub pubtable: ::core::option::Option<::prost::alloc::boxed::Box<PublicationTable>>,
#[prost(int32, tag="4")]
pub location: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatePublicationStmt {
#[prost(string, tag="1")]
pub pubname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub pubobjects: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="4")]
pub for_all_tables: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterPublicationStmt {
#[prost(string, tag="1")]
pub pubname: ::prost::alloc::string::String,
#[prost(message, repeated, tag="2")]
pub options: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="3")]
pub pubobjects: ::prost::alloc::vec::Vec<Node>,
#[prost(bool, tag="4")]
pub for_all_tables: bool,
#[prost(enumeration="AlterPublicationAction", tag="5")]
pub action: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSubscriptionStmt {
#[prost(string, tag="1")]
pub subname: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub conninfo: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub publication: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="4")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlterSubscriptionStmt {
#[prost(enumeration="AlterSubscriptionType", tag="1")]
pub kind: i32,
#[prost(string, tag="2")]
pub subname: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub conninfo: ::prost::alloc::string::String,
#[prost(message, repeated, tag="4")]
pub publication: ::prost::alloc::vec::Vec<Node>,
#[prost(message, repeated, tag="5")]
pub options: ::prost::alloc::vec::Vec<Node>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DropSubscriptionStmt {
#[prost(string, tag="1")]
pub subname: ::prost::alloc::string::String,
#[prost(bool, tag="2")]
pub missing_ok: bool,
#[prost(enumeration="DropBehavior", tag="3")]
pub behavior: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScanToken {
#[prost(int32, tag="1")]
pub start: i32,
#[prost(int32, tag="2")]
pub end: i32,
#[prost(enumeration="Token", tag="4")]
pub token: i32,
#[prost(enumeration="KeywordKind", tag="5")]
pub keyword_kind: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OverridingKind {
Undefined = 0,
OverridingNotSet = 1,
OverridingUserValue = 2,
OverridingSystemValue = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QuerySource {
Undefined = 0,
QsrcOriginal = 1,
QsrcParser = 2,
QsrcInsteadRule = 3,
QsrcQualInsteadRule = 4,
QsrcNonInsteadRule = 5,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SortByDir {
Undefined = 0,
SortbyDefault = 1,
SortbyAsc = 2,
SortbyDesc = 3,
SortbyUsing = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SortByNulls {
Undefined = 0,
SortbyNullsDefault = 1,
SortbyNullsFirst = 2,
SortbyNullsLast = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SetQuantifier {
Undefined = 0,
Default = 1,
All = 2,
Distinct = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AExprKind {
Undefined = 0,
AexprOp = 1,
AexprOpAny = 2,
AexprOpAll = 3,
AexprDistinct = 4,
AexprNotDistinct = 5,
AexprNullif = 6,
AexprIn = 7,
AexprLike = 8,
AexprIlike = 9,
AexprSimilar = 10,
AexprBetween = 11,
AexprNotBetween = 12,
AexprBetweenSym = 13,
AexprNotBetweenSym = 14,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RoleSpecType {
Undefined = 0,
RolespecCstring = 1,
RolespecCurrentRole = 2,
RolespecCurrentUser = 3,
RolespecSessionUser = 4,
RolespecPublic = 5,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TableLikeOption {
Undefined = 0,
CreateTableLikeComments = 1,
CreateTableLikeCompression = 2,
CreateTableLikeConstraints = 3,
CreateTableLikeDefaults = 4,
CreateTableLikeGenerated = 5,
CreateTableLikeIdentity = 6,
CreateTableLikeIndexes = 7,
CreateTableLikeStatistics = 8,
CreateTableLikeStorage = 9,
CreateTableLikeAll = 10,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DefElemAction {
Undefined = 0,
DefelemUnspec = 1,
DefelemSet = 2,
DefelemAdd = 3,
DefelemDrop = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PartitionStrategy {
Undefined = 0,
List = 1,
Range = 2,
Hash = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PartitionRangeDatumKind {
Undefined = 0,
PartitionRangeDatumMinvalue = 1,
PartitionRangeDatumValue = 2,
PartitionRangeDatumMaxvalue = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RteKind {
RtekindUndefined = 0,
RteRelation = 1,
RteSubquery = 2,
RteJoin = 3,
RteFunction = 4,
RteTablefunc = 5,
RteValues = 6,
RteCte = 7,
RteNamedtuplestore = 8,
RteResult = 9,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WcoKind {
WcokindUndefined = 0,
WcoViewCheck = 1,
WcoRlsInsertCheck = 2,
WcoRlsUpdateCheck = 3,
WcoRlsConflictCheck = 4,
WcoRlsMergeUpdateCheck = 5,
WcoRlsMergeDeleteCheck = 6,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GroupingSetKind {
Undefined = 0,
GroupingSetEmpty = 1,
GroupingSetSimple = 2,
GroupingSetRollup = 3,
GroupingSetCube = 4,
GroupingSetSets = 5,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CteMaterialize {
CtematerializeUndefined = 0,
Default = 1,
Always = 2,
Never = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SetOperation {
Undefined = 0,
SetopNone = 1,
SetopUnion = 2,
SetopIntersect = 3,
SetopExcept = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ObjectType {
Undefined = 0,
ObjectAccessMethod = 1,
ObjectAggregate = 2,
ObjectAmop = 3,
ObjectAmproc = 4,
ObjectAttribute = 5,
ObjectCast = 6,
ObjectColumn = 7,
ObjectCollation = 8,
ObjectConversion = 9,
ObjectDatabase = 10,
ObjectDefault = 11,
ObjectDefacl = 12,
ObjectDomain = 13,
ObjectDomconstraint = 14,
ObjectEventTrigger = 15,
ObjectExtension = 16,
ObjectFdw = 17,
ObjectForeignServer = 18,
ObjectForeignTable = 19,
ObjectFunction = 20,
ObjectIndex = 21,
ObjectLanguage = 22,
ObjectLargeobject = 23,
ObjectMatview = 24,
ObjectOpclass = 25,
ObjectOperator = 26,
ObjectOpfamily = 27,
ObjectParameterAcl = 28,
ObjectPolicy = 29,
ObjectProcedure = 30,
ObjectPublication = 31,
ObjectPublicationNamespace = 32,
ObjectPublicationRel = 33,
ObjectRole = 34,
ObjectRoutine = 35,
ObjectRule = 36,
ObjectSchema = 37,
ObjectSequence = 38,
ObjectSubscription = 39,
ObjectStatisticExt = 40,
ObjectTabconstraint = 41,
ObjectTable = 42,
ObjectTablespace = 43,
ObjectTransform = 44,
ObjectTrigger = 45,
ObjectTsconfiguration = 46,
ObjectTsdictionary = 47,
ObjectTsparser = 48,
ObjectTstemplate = 49,
ObjectType = 50,
ObjectUserMapping = 51,
ObjectView = 52,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DropBehavior {
Undefined = 0,
DropRestrict = 1,
DropCascade = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlterTableType {
Undefined = 0,
AtAddColumn = 1,
AtAddColumnToView = 2,
AtColumnDefault = 3,
AtCookedColumnDefault = 4,
AtDropNotNull = 5,
AtSetNotNull = 6,
AtDropExpression = 7,
AtCheckNotNull = 8,
AtSetStatistics = 9,
AtSetOptions = 10,
AtResetOptions = 11,
AtSetStorage = 12,
AtSetCompression = 13,
AtDropColumn = 14,
AtAddIndex = 15,
AtReAddIndex = 16,
AtAddConstraint = 17,
AtReAddConstraint = 18,
AtReAddDomainConstraint = 19,
AtAlterConstraint = 20,
AtValidateConstraint = 21,
AtAddIndexConstraint = 22,
AtDropConstraint = 23,
AtReAddComment = 24,
AtAlterColumnType = 25,
AtAlterColumnGenericOptions = 26,
AtChangeOwner = 27,
AtClusterOn = 28,
AtDropCluster = 29,
AtSetLogged = 30,
AtSetUnLogged = 31,
AtDropOids = 32,
AtSetAccessMethod = 33,
AtSetTableSpace = 34,
AtSetRelOptions = 35,
AtResetRelOptions = 36,
AtReplaceRelOptions = 37,
AtEnableTrig = 38,
AtEnableAlwaysTrig = 39,
AtEnableReplicaTrig = 40,
AtDisableTrig = 41,
AtEnableTrigAll = 42,
AtDisableTrigAll = 43,
AtEnableTrigUser = 44,
AtDisableTrigUser = 45,
AtEnableRule = 46,
AtEnableAlwaysRule = 47,
AtEnableReplicaRule = 48,
AtDisableRule = 49,
AtAddInherit = 50,
AtDropInherit = 51,
AtAddOf = 52,
AtDropOf = 53,
AtReplicaIdentity = 54,
AtEnableRowSecurity = 55,
AtDisableRowSecurity = 56,
AtForceRowSecurity = 57,
AtNoForceRowSecurity = 58,
AtGenericOptions = 59,
AtAttachPartition = 60,
AtDetachPartition = 61,
AtDetachPartitionFinalize = 62,
AtAddIdentity = 63,
AtSetIdentity = 64,
AtDropIdentity = 65,
AtReAddStatistics = 66,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GrantTargetType {
Undefined = 0,
AclTargetObject = 1,
AclTargetAllInSchema = 2,
AclTargetDefaults = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VariableSetKind {
Undefined = 0,
VarSetValue = 1,
VarSetDefault = 2,
VarSetCurrent = 3,
VarSetMulti = 4,
VarReset = 5,
VarResetAll = 6,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConstrType {
Undefined = 0,
ConstrNull = 1,
ConstrNotnull = 2,
ConstrDefault = 3,
ConstrIdentity = 4,
ConstrGenerated = 5,
ConstrCheck = 6,
ConstrPrimary = 7,
ConstrUnique = 8,
ConstrExclusion = 9,
ConstrForeign = 10,
ConstrAttrDeferrable = 11,
ConstrAttrNotDeferrable = 12,
ConstrAttrDeferred = 13,
ConstrAttrImmediate = 14,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ImportForeignSchemaType {
Undefined = 0,
FdwImportSchemaAll = 1,
FdwImportSchemaLimitTo = 2,
FdwImportSchemaExcept = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RoleStmtType {
Undefined = 0,
RolestmtRole = 1,
RolestmtUser = 2,
RolestmtGroup = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FetchDirection {
Undefined = 0,
FetchForward = 1,
FetchBackward = 2,
FetchAbsolute = 3,
FetchRelative = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FunctionParameterMode {
Undefined = 0,
FuncParamIn = 1,
FuncParamOut = 2,
FuncParamInout = 3,
FuncParamVariadic = 4,
FuncParamTable = 5,
FuncParamDefault = 6,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TransactionStmtKind {
Undefined = 0,
TransStmtBegin = 1,
TransStmtStart = 2,
TransStmtCommit = 3,
TransStmtRollback = 4,
TransStmtSavepoint = 5,
TransStmtRelease = 6,
TransStmtRollbackTo = 7,
TransStmtPrepare = 8,
TransStmtCommitPrepared = 9,
TransStmtRollbackPrepared = 10,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ViewCheckOption {
Undefined = 0,
NoCheckOption = 1,
LocalCheckOption = 2,
CascadedCheckOption = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DiscardMode {
Undefined = 0,
DiscardAll = 1,
DiscardPlans = 2,
DiscardSequences = 3,
DiscardTemp = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ReindexObjectType {
Undefined = 0,
ReindexObjectIndex = 1,
ReindexObjectTable = 2,
ReindexObjectSchema = 3,
ReindexObjectSystem = 4,
ReindexObjectDatabase = 5,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlterTsConfigType {
AlterTsconfigTypeUndefined = 0,
AlterTsconfigAddMapping = 1,
AlterTsconfigAlterMappingForToken = 2,
AlterTsconfigReplaceDict = 3,
AlterTsconfigReplaceDictForToken = 4,
AlterTsconfigDropMapping = 5,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PublicationObjSpecType {
Undefined = 0,
PublicationobjTable = 1,
PublicationobjTablesInSchema = 2,
PublicationobjTablesInCurSchema = 3,
PublicationobjContinuation = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlterPublicationAction {
Undefined = 0,
ApAddObjects = 1,
ApDropObjects = 2,
ApSetObjects = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlterSubscriptionType {
Undefined = 0,
AlterSubscriptionOptions = 1,
AlterSubscriptionConnection = 2,
AlterSubscriptionSetPublication = 3,
AlterSubscriptionAddPublication = 4,
AlterSubscriptionDropPublication = 5,
AlterSubscriptionRefresh = 6,
AlterSubscriptionEnabled = 7,
AlterSubscriptionSkip = 8,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OnCommitAction {
Undefined = 0,
OncommitNoop = 1,
OncommitPreserveRows = 2,
OncommitDeleteRows = 3,
OncommitDrop = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ParamKind {
Undefined = 0,
ParamExtern = 1,
ParamExec = 2,
ParamSublink = 3,
ParamMultiexpr = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CoercionContext {
Undefined = 0,
CoercionImplicit = 1,
CoercionAssignment = 2,
CoercionPlpgsql = 3,
CoercionExplicit = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CoercionForm {
Undefined = 0,
CoerceExplicitCall = 1,
CoerceExplicitCast = 2,
CoerceImplicitCast = 3,
CoerceSqlSyntax = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BoolExprType {
Undefined = 0,
AndExpr = 1,
OrExpr = 2,
NotExpr = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SubLinkType {
Undefined = 0,
ExistsSublink = 1,
AllSublink = 2,
AnySublink = 3,
RowcompareSublink = 4,
ExprSublink = 5,
MultiexprSublink = 6,
ArraySublink = 7,
CteSublink = 8,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RowCompareType {
Undefined = 0,
RowcompareLt = 1,
RowcompareLe = 2,
RowcompareEq = 3,
RowcompareGe = 4,
RowcompareGt = 5,
RowcompareNe = 6,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MinMaxOp {
Undefined = 0,
IsGreatest = 1,
IsLeast = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SqlValueFunctionOp {
SqlvalueFunctionOpUndefined = 0,
SvfopCurrentDate = 1,
SvfopCurrentTime = 2,
SvfopCurrentTimeN = 3,
SvfopCurrentTimestamp = 4,
SvfopCurrentTimestampN = 5,
SvfopLocaltime = 6,
SvfopLocaltimeN = 7,
SvfopLocaltimestamp = 8,
SvfopLocaltimestampN = 9,
SvfopCurrentRole = 10,
SvfopCurrentUser = 11,
SvfopUser = 12,
SvfopSessionUser = 13,
SvfopCurrentCatalog = 14,
SvfopCurrentSchema = 15,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum XmlExprOp {
Undefined = 0,
IsXmlconcat = 1,
IsXmlelement = 2,
IsXmlforest = 3,
IsXmlparse = 4,
IsXmlpi = 5,
IsXmlroot = 6,
IsXmlserialize = 7,
IsDocument = 8,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum XmlOptionType {
Undefined = 0,
XmloptionDocument = 1,
XmloptionContent = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JsonEncoding {
Undefined = 0,
JsEncDefault = 1,
JsEncUtf8 = 2,
JsEncUtf16 = 3,
JsEncUtf32 = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JsonFormatType {
Undefined = 0,
JsFormatDefault = 1,
JsFormatJson = 2,
JsFormatJsonb = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JsonConstructorType {
Undefined = 0,
JsctorJsonObject = 1,
JsctorJsonArray = 2,
JsctorJsonObjectagg = 3,
JsctorJsonArrayagg = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JsonValueType {
Undefined = 0,
JsTypeAny = 1,
JsTypeObject = 2,
JsTypeArray = 3,
JsTypeScalar = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NullTestType {
Undefined = 0,
IsNull = 1,
IsNotNull = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BoolTestType {
Undefined = 0,
IsTrue = 1,
IsNotTrue = 2,
IsFalse = 3,
IsNotFalse = 4,
IsUnknown = 5,
IsNotUnknown = 6,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdType {
Undefined = 0,
CmdUnknown = 1,
CmdSelect = 2,
CmdUpdate = 3,
CmdInsert = 4,
CmdDelete = 5,
CmdMerge = 6,
CmdUtility = 7,
CmdNothing = 8,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JoinType {
Undefined = 0,
JoinInner = 1,
JoinLeft = 2,
JoinFull = 3,
JoinRight = 4,
JoinSemi = 5,
JoinAnti = 6,
JoinRightAnti = 7,
JoinUniqueOuter = 8,
JoinUniqueInner = 9,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AggStrategy {
Undefined = 0,
AggPlain = 1,
AggSorted = 2,
AggHashed = 3,
AggMixed = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AggSplit {
Undefined = 0,
AggsplitSimple = 1,
AggsplitInitialSerial = 2,
AggsplitFinalDeserial = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SetOpCmd {
Undefined = 0,
SetopcmdIntersect = 1,
SetopcmdIntersectAll = 2,
SetopcmdExcept = 3,
SetopcmdExceptAll = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SetOpStrategy {
Undefined = 0,
SetopSorted = 1,
SetopHashed = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OnConflictAction {
Undefined = 0,
OnconflictNone = 1,
OnconflictNothing = 2,
OnconflictUpdate = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LimitOption {
Undefined = 0,
Default = 1,
Count = 2,
WithTies = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LockClauseStrength {
Undefined = 0,
LcsNone = 1,
LcsForkeyshare = 2,
LcsForshare = 3,
LcsFornokeyupdate = 4,
LcsForupdate = 5,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LockWaitPolicy {
Undefined = 0,
LockWaitBlock = 1,
LockWaitSkip = 2,
LockWaitError = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LockTupleMode {
Undefined = 0,
LockTupleKeyShare = 1,
LockTupleShare = 2,
LockTupleNoKeyExclusive = 3,
LockTupleExclusive = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum KeywordKind {
NoKeyword = 0,
UnreservedKeyword = 1,
ColNameKeyword = 2,
TypeFuncNameKeyword = 3,
ReservedKeyword = 4,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Token {
Nul = 0,
Ascii36 = 36,
Ascii37 = 37,
Ascii40 = 40,
Ascii41 = 41,
Ascii42 = 42,
Ascii43 = 43,
Ascii44 = 44,
Ascii45 = 45,
Ascii46 = 46,
Ascii47 = 47,
Ascii58 = 58,
Ascii59 = 59,
Ascii60 = 60,
Ascii61 = 61,
Ascii62 = 62,
Ascii63 = 63,
Ascii91 = 91,
Ascii92 = 92,
Ascii93 = 93,
Ascii94 = 94,
Ident = 258,
Uident = 259,
Fconst = 260,
Sconst = 261,
Usconst = 262,
Bconst = 263,
Xconst = 264,
Op = 265,
Iconst = 266,
Param = 267,
Typecast = 268,
DotDot = 269,
ColonEquals = 270,
EqualsGreater = 271,
LessEquals = 272,
GreaterEquals = 273,
NotEquals = 274,
SqlComment = 275,
CComment = 276,
AbortP = 277,
Absent = 278,
AbsoluteP = 279,
Access = 280,
Action = 281,
AddP = 282,
Admin = 283,
After = 284,
Aggregate = 285,
All = 286,
Also = 287,
Alter = 288,
Always = 289,
Analyse = 290,
Analyze = 291,
And = 292,
Any = 293,
Array = 294,
As = 295,
Asc = 296,
Asensitive = 297,
Assertion = 298,
Assignment = 299,
Asymmetric = 300,
Atomic = 301,
At = 302,
Attach = 303,
Attribute = 304,
Authorization = 305,
Backward = 306,
Before = 307,
BeginP = 308,
Between = 309,
Bigint = 310,
Binary = 311,
Bit = 312,
BooleanP = 313,
Both = 314,
Breadth = 315,
By = 316,
Cache = 317,
Call = 318,
Called = 319,
Cascade = 320,
Cascaded = 321,
Case = 322,
Cast = 323,
CatalogP = 324,
Chain = 325,
CharP = 326,
Character = 327,
Characteristics = 328,
Check = 329,
Checkpoint = 330,
Class = 331,
Close = 332,
Cluster = 333,
Coalesce = 334,
Collate = 335,
Collation = 336,
Column = 337,
Columns = 338,
Comment = 339,
Comments = 340,
Commit = 341,
Committed = 342,
Compression = 343,
Concurrently = 344,
Configuration = 345,
Conflict = 346,
Connection = 347,
Constraint = 348,
Constraints = 349,
ContentP = 350,
ContinueP = 351,
ConversionP = 352,
Copy = 353,
Cost = 354,
Create = 355,
Cross = 356,
Csv = 357,
Cube = 358,
CurrentP = 359,
CurrentCatalog = 360,
CurrentDate = 361,
CurrentRole = 362,
CurrentSchema = 363,
CurrentTime = 364,
CurrentTimestamp = 365,
CurrentUser = 366,
Cursor = 367,
Cycle = 368,
DataP = 369,
Database = 370,
DayP = 371,
Deallocate = 372,
Dec = 373,
DecimalP = 374,
Declare = 375,
Default = 376,
Defaults = 377,
Deferrable = 378,
Deferred = 379,
Definer = 380,
DeleteP = 381,
Delimiter = 382,
Delimiters = 383,
Depends = 384,
Depth = 385,
Desc = 386,
Detach = 387,
Dictionary = 388,
DisableP = 389,
Discard = 390,
Distinct = 391,
Do = 392,
DocumentP = 393,
DomainP = 394,
DoubleP = 395,
Drop = 396,
Each = 397,
Else = 398,
EnableP = 399,
Encoding = 400,
Encrypted = 401,
EndP = 402,
EnumP = 403,
Escape = 404,
Event = 405,
Except = 406,
Exclude = 407,
Excluding = 408,
Exclusive = 409,
Execute = 410,
Exists = 411,
Explain = 412,
Expression = 413,
Extension = 414,
External = 415,
Extract = 416,
FalseP = 417,
Family = 418,
Fetch = 419,
Filter = 420,
Finalize = 421,
FirstP = 422,
FloatP = 423,
Following = 424,
For = 425,
Force = 426,
Foreign = 427,
Format = 428,
Forward = 429,
Freeze = 430,
From = 431,
Full = 432,
Function = 433,
Functions = 434,
Generated = 435,
Global = 436,
Grant = 437,
Granted = 438,
Greatest = 439,
GroupP = 440,
Grouping = 441,
Groups = 442,
Handler = 443,
Having = 444,
HeaderP = 445,
Hold = 446,
HourP = 447,
IdentityP = 448,
IfP = 449,
Ilike = 450,
Immediate = 451,
Immutable = 452,
ImplicitP = 453,
ImportP = 454,
InP = 455,
Include = 456,
Including = 457,
Increment = 458,
Indent = 459,
Index = 460,
Indexes = 461,
Inherit = 462,
Inherits = 463,
Initially = 464,
InlineP = 465,
InnerP = 466,
Inout = 467,
InputP = 468,
Insensitive = 469,
Insert = 470,
Instead = 471,
IntP = 472,
Integer = 473,
Intersect = 474,
Interval = 475,
Into = 476,
Invoker = 477,
Is = 478,
Isnull = 479,
Isolation = 480,
Join = 481,
Json = 482,
JsonArray = 483,
JsonArrayagg = 484,
JsonObject = 485,
JsonObjectagg = 486,
Key = 487,
Keys = 488,
Label = 489,
Language = 490,
LargeP = 491,
LastP = 492,
LateralP = 493,
Leading = 494,
Leakproof = 495,
Least = 496,
Left = 497,
Level = 498,
Like = 499,
Limit = 500,
Listen = 501,
Load = 502,
Local = 503,
Localtime = 504,
Localtimestamp = 505,
Location = 506,
LockP = 507,
Locked = 508,
Logged = 509,
Mapping = 510,
Match = 511,
Matched = 512,
Materialized = 513,
Maxvalue = 514,
Merge = 515,
Method = 516,
MinuteP = 517,
Minvalue = 518,
Mode = 519,
MonthP = 520,
Move = 521,
NameP = 522,
Names = 523,
National = 524,
Natural = 525,
Nchar = 526,
New = 527,
Next = 528,
Nfc = 529,
Nfd = 530,
Nfkc = 531,
Nfkd = 532,
No = 533,
None = 534,
Normalize = 535,
Normalized = 536,
Not = 537,
Nothing = 538,
Notify = 539,
Notnull = 540,
Nowait = 541,
NullP = 542,
Nullif = 543,
NullsP = 544,
Numeric = 545,
ObjectP = 546,
Of = 547,
Off = 548,
Offset = 549,
Oids = 550,
Old = 551,
On = 552,
Only = 553,
Operator = 554,
Option = 555,
Options = 556,
Or = 557,
Order = 558,
Ordinality = 559,
Others = 560,
OutP = 561,
OuterP = 562,
Over = 563,
Overlaps = 564,
Overlay = 565,
Overriding = 566,
Owned = 567,
Owner = 568,
Parallel = 569,
Parameter = 570,
Parser = 571,
Partial = 572,
Partition = 573,
Passing = 574,
Password = 575,
Placing = 576,
Plans = 577,
Policy = 578,
Position = 579,
Preceding = 580,
Precision = 581,
Preserve = 582,
Prepare = 583,
Prepared = 584,
Primary = 585,
Prior = 586,
Privileges = 587,
Procedural = 588,
Procedure = 589,
Procedures = 590,
Program = 591,
Publication = 592,
Quote = 593,
Range = 594,
Read = 595,
Real = 596,
Reassign = 597,
Recheck = 598,
Recursive = 599,
RefP = 600,
References = 601,
Referencing = 602,
Refresh = 603,
Reindex = 604,
RelativeP = 605,
Release = 606,
Rename = 607,
Repeatable = 608,
Replace = 609,
Replica = 610,
Reset = 611,
Restart = 612,
Restrict = 613,
Return = 614,
Returning = 615,
Returns = 616,
Revoke = 617,
Right = 618,
Role = 619,
Rollback = 620,
Rollup = 621,
Routine = 622,
Routines = 623,
Row = 624,
Rows = 625,
Rule = 626,
Savepoint = 627,
Scalar = 628,
Schema = 629,
Schemas = 630,
Scroll = 631,
Search = 632,
SecondP = 633,
Security = 634,
Select = 635,
Sequence = 636,
Sequences = 637,
Serializable = 638,
Server = 639,
Session = 640,
SessionUser = 641,
Set = 642,
Sets = 643,
Setof = 644,
Share = 645,
Show = 646,
Similar = 647,
Simple = 648,
Skip = 649,
Smallint = 650,
Snapshot = 651,
Some = 652,
SqlP = 653,
Stable = 654,
StandaloneP = 655,
Start = 656,
Statement = 657,
Statistics = 658,
Stdin = 659,
Stdout = 660,
Storage = 661,
Stored = 662,
StrictP = 663,
StripP = 664,
Subscription = 665,
Substring = 666,
Support = 667,
Symmetric = 668,
Sysid = 669,
SystemP = 670,
SystemUser = 671,
Table = 672,
Tables = 673,
Tablesample = 674,
Tablespace = 675,
Temp = 676,
Template = 677,
Temporary = 678,
TextP = 679,
Then = 680,
Ties = 681,
Time = 682,
Timestamp = 683,
To = 684,
Trailing = 685,
Transaction = 686,
Transform = 687,
Treat = 688,
Trigger = 689,
Trim = 690,
TrueP = 691,
Truncate = 692,
Trusted = 693,
TypeP = 694,
TypesP = 695,
Uescape = 696,
Unbounded = 697,
Uncommitted = 698,
Unencrypted = 699,
Union = 700,
Unique = 701,
Unknown = 702,
Unlisten = 703,
Unlogged = 704,
Until = 705,
Update = 706,
User = 707,
Using = 708,
Vacuum = 709,
Valid = 710,
Validate = 711,
Validator = 712,
ValueP = 713,
Values = 714,
Varchar = 715,
Variadic = 716,
Varying = 717,
Verbose = 718,
VersionP = 719,
View = 720,
Views = 721,
Volatile = 722,
When = 723,
Where = 724,
WhitespaceP = 725,
Window = 726,
With = 727,
Within = 728,
Without = 729,
Work = 730,
Wrapper = 731,
Write = 732,
XmlP = 733,
Xmlattributes = 734,
Xmlconcat = 735,
Xmlelement = 736,
Xmlexists = 737,
Xmlforest = 738,
Xmlnamespaces = 739,
Xmlparse = 740,
Xmlpi = 741,
Xmlroot = 742,
Xmlserialize = 743,
Xmltable = 744,
YearP = 745,
YesP = 746,
Zone = 747,
FormatLa = 748,
NotLa = 749,
NullsLa = 750,
WithLa = 751,
WithoutLa = 752,
ModeTypeName = 753,
ModePlpgsqlExpr = 754,
ModePlpgsqlAssign1 = 755,
ModePlpgsqlAssign2 = 756,
ModePlpgsqlAssign3 = 757,
Uminus = 758,
}