//! The values of the symbols of `gram.y` and the actions of its rules.
//!
//! @generated by `cargo xtask sql` from `vendor/postgres-19/src/backend/parser/gram.y`, the vendored headers and the ported actions in `src/actions`. Do not edit. `cargo xtask sql --check` runs in CI and fails if this file and its inputs disagree.
//!
//! [`Value`] has one variant for each member of `%union`. [`reduce`] runs the action of a rule. An action that only moves a value or makes a constant is in [`reduce`]. Every other action is a method of the trait of its rule in [`rules`], and `src/actions` has the methods that are ported.
#![allow(non_camel_case_types, non_snake_case, missing_docs)]
use std::vec::Drain;
use crate::actions::{Parser, take};
use crate::error::Error;
use crate::nodes::*;
/// The struct `PrivTarget` of the prologue of `gram.y`.
#[derive(Clone, Debug, Default, PartialEq)]
pub(crate) struct PrivTarget {
pub(crate) targtype: GrantTargetType,
pub(crate) objtype: ObjectType,
pub(crate) objs: List,
}
/// The struct `ImportQual` of the prologue of `gram.y`.
#[derive(Clone, Debug, Default, PartialEq)]
pub(crate) struct ImportQual {
pub(crate) r#type: ImportForeignSchemaType,
pub(crate) table_names: List,
}
/// The struct `SelectLimit` of the prologue of `gram.y`.
#[derive(Clone, Debug, Default, PartialEq)]
pub(crate) struct SelectLimit {
pub(crate) limitOffset: Option<Node>,
pub(crate) limitCount: Option<Node>,
pub(crate) limitOption: LimitOption,
pub(crate) offsetLoc: i32,
pub(crate) countLoc: i32,
pub(crate) optionLoc: i32,
}
/// The struct `GroupClause` of the prologue of `gram.y`.
#[derive(Clone, Debug, Default, PartialEq)]
pub(crate) struct GroupClause {
pub(crate) distinct: bool,
pub(crate) list: List,
}
/// The struct `KeyAction` of the prologue of `gram.y`.
#[derive(Clone, Debug, Default, PartialEq)]
pub(crate) struct KeyAction {
pub(crate) action: u8,
pub(crate) cols: List,
}
/// The struct `KeyActions` of the prologue of `gram.y`.
#[derive(Clone, Debug, Default, PartialEq)]
pub(crate) struct KeyActions {
pub(crate) updateAction: Option<Box<KeyAction>>,
pub(crate) deleteAction: Option<Box<KeyAction>>,
}
pub(crate) const CAS_NOT_DEFERRABLE: i32 = 1;
pub(crate) const CAS_DEFERRABLE: i32 = 2;
pub(crate) const CAS_INITIALLY_IMMEDIATE: i32 = 4;
pub(crate) const CAS_INITIALLY_DEFERRED: i32 = 8;
pub(crate) const CAS_NOT_VALID: i32 = 16;
pub(crate) const CAS_NO_INHERIT: i32 = 32;
pub(crate) const CAS_NOT_ENFORCED: i32 = 64;
pub(crate) const CAS_ENFORCED: i32 = 128;
/// The value of a symbol: a member of `%union`, or nothing for a symbol with no type.
#[derive(Debug, Default)]
pub(crate) enum Value {
#[default]
None,
ival(i32),
str(Option<Str>),
keyword(&'static str),
chr(u8),
boolean(bool),
jtype(JoinType),
dbehavior(DropBehavior),
oncommit(OnCommitAction),
list(List),
node(Option<Node>),
objtype(ObjectType),
typnam(Option<Box<TypeName>>),
fun_param(Option<Box<FunctionParameter>>),
fun_param_mode(FunctionParameterMode),
objwithargs(Option<Box<ObjectWithArgs>>),
defelt(Option<Box<DefElem>>),
sortby(Option<Box<SortBy>>),
windef(Option<Box<WindowDef>>),
jexpr(Option<Box<JoinExpr>>),
ielem(Option<Box<IndexElem>>),
selem(Option<Box<StatsElem>>),
alias(Option<Box<Alias>>),
range(Option<Box<RangeVar>>),
into(Option<Box<IntoClause>>),
with(Option<Box<WithClause>>),
infer(Option<Box<InferClause>>),
onconflict(Option<Box<OnConflictClause>>),
target(Option<Box<ResTarget>>),
privtarget(Option<Box<PrivTarget>>),
accesspriv(Option<Box<AccessPriv>>),
importqual(Option<Box<ImportQual>>),
istmt(Option<Box<InsertStmt>>),
vsetstmt(Option<Box<VariableSetStmt>>),
partelem(Option<Box<PartitionElem>>),
partspec(Option<Box<PartitionSpec>>),
partboundspec(Option<Box<PartitionBoundSpec>>),
rolespec(Option<Box<RoleSpec>>),
publicationobjectspec(Option<Box<PublicationObjSpec>>),
publicationallobjectspec(Option<Box<PublicationAllObjSpec>>),
selectlimit(Option<Box<SelectLimit>>),
setquantifier(SetQuantifier),
groupclause(Option<Box<GroupClause>>),
mergematch(MergeMatchKind),
mergewhen(Option<Box<MergeWhenClause>>),
keyactions(Option<Box<KeyActions>>),
keyaction(Option<Box<KeyAction>>),
retclause(Option<Box<ReturningClause>>),
retoptionkind(ReturningOptionKind),
}
impl Value {
/// The name of the member, for the error of a value of the wrong member.
fn member(&self) -> &'static str {
match self {
Value::None => "nothing",
Value::ival(_) => "ival",
Value::str(_) => "str",
Value::keyword(_) => "keyword",
Value::chr(_) => "chr",
Value::boolean(_) => "boolean",
Value::jtype(_) => "jtype",
Value::dbehavior(_) => "dbehavior",
Value::oncommit(_) => "oncommit",
Value::list(_) => "list",
Value::node(_) => "node",
Value::objtype(_) => "objtype",
Value::typnam(_) => "typnam",
Value::fun_param(_) => "fun_param",
Value::fun_param_mode(_) => "fun_param_mode",
Value::objwithargs(_) => "objwithargs",
Value::defelt(_) => "defelt",
Value::sortby(_) => "sortby",
Value::windef(_) => "windef",
Value::jexpr(_) => "jexpr",
Value::ielem(_) => "ielem",
Value::selem(_) => "selem",
Value::alias(_) => "alias",
Value::range(_) => "range",
Value::into(_) => "into",
Value::with(_) => "with",
Value::infer(_) => "infer",
Value::onconflict(_) => "onconflict",
Value::target(_) => "target",
Value::privtarget(_) => "privtarget",
Value::accesspriv(_) => "accesspriv",
Value::importqual(_) => "importqual",
Value::istmt(_) => "istmt",
Value::vsetstmt(_) => "vsetstmt",
Value::partelem(_) => "partelem",
Value::partspec(_) => "partspec",
Value::partboundspec(_) => "partboundspec",
Value::rolespec(_) => "rolespec",
Value::publicationobjectspec(_) => "publicationobjectspec",
Value::publicationallobjectspec(_) => "publicationallobjectspec",
Value::selectlimit(_) => "selectlimit",
Value::setquantifier(_) => "setquantifier",
Value::groupclause(_) => "groupclause",
Value::mergematch(_) => "mergematch",
Value::mergewhen(_) => "mergewhen",
Value::keyactions(_) => "keyactions",
Value::keyaction(_) => "keyaction",
Value::retclause(_) => "retclause",
Value::retoptionkind(_) => "retoptionkind",
}
}
/// The value as the member `ival`.
pub(crate) fn into_ival(self) -> Result<i32, Error> {
match self {
Value::ival(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for ival", other.member()))),
}
}
/// The value as the member `str`.
pub(crate) fn into_str(self) -> Result<Option<Str>, Error> {
match self {
Value::str(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for str", other.member()))),
}
}
/// The value as the member `keyword`.
pub(crate) fn into_keyword(self) -> Result<&'static str, Error> {
match self {
Value::keyword(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for keyword", other.member()))),
}
}
/// The value as the member `chr`.
pub(crate) fn into_chr(self) -> Result<u8, Error> {
match self {
Value::chr(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for chr", other.member()))),
}
}
/// The value as the member `boolean`.
pub(crate) fn into_boolean(self) -> Result<bool, Error> {
match self {
Value::boolean(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for boolean", other.member()))),
}
}
/// The value as the member `jtype`.
pub(crate) fn into_jtype(self) -> Result<JoinType, Error> {
match self {
Value::jtype(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for jtype", other.member()))),
}
}
/// The value as the member `dbehavior`.
pub(crate) fn into_dbehavior(self) -> Result<DropBehavior, Error> {
match self {
Value::dbehavior(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for dbehavior", other.member()))),
}
}
/// The value as the member `oncommit`.
pub(crate) fn into_oncommit(self) -> Result<OnCommitAction, Error> {
match self {
Value::oncommit(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for oncommit", other.member()))),
}
}
/// The value as the member `list`.
pub(crate) fn into_list(self) -> Result<List, Error> {
match self {
Value::list(value) => Ok(value),
Value::node(None) => Ok(List::new()),
Value::node(Some(Node::List(list))) => Ok(list),
other => Err(Error::internal(&format!("a value of {} for list", other.member()))),
}
}
/// The value as the member `node`.
pub(crate) fn into_node(self) -> Result<Option<Node>, Error> {
match self {
Value::node(value) => Ok(value),
Value::list(list) => Ok((!list.is_empty()).then_some(Node::List(list))),
Value::typnam(value) => Ok(value.map(NodeType::into_node)),
Value::fun_param(value) => Ok(value.map(NodeType::into_node)),
Value::objwithargs(value) => Ok(value.map(NodeType::into_node)),
Value::defelt(value) => Ok(value.map(NodeType::into_node)),
Value::sortby(value) => Ok(value.map(NodeType::into_node)),
Value::windef(value) => Ok(value.map(NodeType::into_node)),
Value::jexpr(value) => Ok(value.map(NodeType::into_node)),
Value::ielem(value) => Ok(value.map(NodeType::into_node)),
Value::selem(value) => Ok(value.map(NodeType::into_node)),
Value::alias(value) => Ok(value.map(NodeType::into_node)),
Value::range(value) => Ok(value.map(NodeType::into_node)),
Value::into(value) => Ok(value.map(NodeType::into_node)),
Value::with(value) => Ok(value.map(NodeType::into_node)),
Value::infer(value) => Ok(value.map(NodeType::into_node)),
Value::onconflict(value) => Ok(value.map(NodeType::into_node)),
Value::target(value) => Ok(value.map(NodeType::into_node)),
Value::accesspriv(value) => Ok(value.map(NodeType::into_node)),
Value::istmt(value) => Ok(value.map(NodeType::into_node)),
Value::vsetstmt(value) => Ok(value.map(NodeType::into_node)),
Value::partelem(value) => Ok(value.map(NodeType::into_node)),
Value::partspec(value) => Ok(value.map(NodeType::into_node)),
Value::partboundspec(value) => Ok(value.map(NodeType::into_node)),
Value::rolespec(value) => Ok(value.map(NodeType::into_node)),
Value::publicationobjectspec(value) => Ok(value.map(NodeType::into_node)),
Value::publicationallobjectspec(value) => Ok(value.map(NodeType::into_node)),
Value::mergewhen(value) => Ok(value.map(NodeType::into_node)),
Value::retclause(value) => Ok(value.map(NodeType::into_node)),
other => Err(Error::internal(&format!("a value of {} for node", other.member()))),
}
}
/// The value as the member `objtype`.
pub(crate) fn into_objtype(self) -> Result<ObjectType, Error> {
match self {
Value::objtype(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for objtype", other.member()))),
}
}
/// The value as the member `typnam`.
pub(crate) fn into_typnam(self) -> Result<Option<Box<TypeName>>, Error> {
match self {
Value::typnam(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => TypeName::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for typnam")),
other => Err(Error::internal(&format!("a value of {} for typnam", other.member()))),
}
}
/// The value as the member `fun_param`.
pub(crate) fn into_fun_param(self) -> Result<Option<Box<FunctionParameter>>, Error> {
match self {
Value::fun_param(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => FunctionParameter::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for fun_param")),
other => Err(Error::internal(&format!("a value of {} for fun_param", other.member()))),
}
}
/// The value as the member `fun_param_mode`.
pub(crate) fn into_fun_param_mode(self) -> Result<FunctionParameterMode, Error> {
match self {
Value::fun_param_mode(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for fun_param_mode", other.member()))),
}
}
/// The value as the member `objwithargs`.
pub(crate) fn into_objwithargs(self) -> Result<Option<Box<ObjectWithArgs>>, Error> {
match self {
Value::objwithargs(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => ObjectWithArgs::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for objwithargs")),
other => Err(Error::internal(&format!("a value of {} for objwithargs", other.member()))),
}
}
/// The value as the member `defelt`.
pub(crate) fn into_defelt(self) -> Result<Option<Box<DefElem>>, Error> {
match self {
Value::defelt(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => DefElem::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for defelt")),
other => Err(Error::internal(&format!("a value of {} for defelt", other.member()))),
}
}
/// The value as the member `windef`.
pub(crate) fn into_windef(self) -> Result<Option<Box<WindowDef>>, Error> {
match self {
Value::windef(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => WindowDef::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for windef")),
other => Err(Error::internal(&format!("a value of {} for windef", other.member()))),
}
}
/// The value as the member `jexpr`.
pub(crate) fn into_jexpr(self) -> Result<Option<Box<JoinExpr>>, Error> {
match self {
Value::jexpr(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => JoinExpr::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for jexpr")),
other => Err(Error::internal(&format!("a value of {} for jexpr", other.member()))),
}
}
/// The value as the member `ielem`.
pub(crate) fn into_ielem(self) -> Result<Option<Box<IndexElem>>, Error> {
match self {
Value::ielem(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => IndexElem::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for ielem")),
other => Err(Error::internal(&format!("a value of {} for ielem", other.member()))),
}
}
/// The value as the member `alias`.
pub(crate) fn into_alias(self) -> Result<Option<Box<Alias>>, Error> {
match self {
Value::alias(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => Alias::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for alias")),
other => Err(Error::internal(&format!("a value of {} for alias", other.member()))),
}
}
/// The value as the member `range`.
pub(crate) fn into_range(self) -> Result<Option<Box<RangeVar>>, Error> {
match self {
Value::range(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => RangeVar::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for range")),
other => Err(Error::internal(&format!("a value of {} for range", other.member()))),
}
}
/// The value as the member `into`.
pub(crate) fn into_into(self) -> Result<Option<Box<IntoClause>>, Error> {
match self {
Value::into(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => IntoClause::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for into")),
other => Err(Error::internal(&format!("a value of {} for into", other.member()))),
}
}
/// The value as the member `with`.
pub(crate) fn into_with(self) -> Result<Option<Box<WithClause>>, Error> {
match self {
Value::with(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => WithClause::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for with")),
other => Err(Error::internal(&format!("a value of {} for with", other.member()))),
}
}
/// The value as the member `infer`.
pub(crate) fn into_infer(self) -> Result<Option<Box<InferClause>>, Error> {
match self {
Value::infer(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => InferClause::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for infer")),
other => Err(Error::internal(&format!("a value of {} for infer", other.member()))),
}
}
/// The value as the member `onconflict`.
pub(crate) fn into_onconflict(self) -> Result<Option<Box<OnConflictClause>>, Error> {
match self {
Value::onconflict(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => OnConflictClause::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for onconflict")),
other => Err(Error::internal(&format!("a value of {} for onconflict", other.member()))),
}
}
/// The value as the member `target`.
pub(crate) fn into_target(self) -> Result<Option<Box<ResTarget>>, Error> {
match self {
Value::target(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => ResTarget::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for target")),
other => Err(Error::internal(&format!("a value of {} for target", other.member()))),
}
}
/// The value as the member `privtarget`.
pub(crate) fn into_privtarget(self) -> Result<Option<Box<PrivTarget>>, Error> {
match self {
Value::privtarget(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for privtarget", other.member()))),
}
}
/// The value as the member `importqual`.
pub(crate) fn into_importqual(self) -> Result<Option<Box<ImportQual>>, Error> {
match self {
Value::importqual(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for importqual", other.member()))),
}
}
/// The value as the member `istmt`.
pub(crate) fn into_istmt(self) -> Result<Option<Box<InsertStmt>>, Error> {
match self {
Value::istmt(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => InsertStmt::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for istmt")),
other => Err(Error::internal(&format!("a value of {} for istmt", other.member()))),
}
}
/// The value as the member `vsetstmt`.
pub(crate) fn into_vsetstmt(self) -> Result<Option<Box<VariableSetStmt>>, Error> {
match self {
Value::vsetstmt(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => VariableSetStmt::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for vsetstmt")),
other => Err(Error::internal(&format!("a value of {} for vsetstmt", other.member()))),
}
}
/// The value as the member `partspec`.
pub(crate) fn into_partspec(self) -> Result<Option<Box<PartitionSpec>>, Error> {
match self {
Value::partspec(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => PartitionSpec::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for partspec")),
other => Err(Error::internal(&format!("a value of {} for partspec", other.member()))),
}
}
/// The value as the member `partboundspec`.
pub(crate) fn into_partboundspec(self) -> Result<Option<Box<PartitionBoundSpec>>, Error> {
match self {
Value::partboundspec(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => PartitionBoundSpec::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for partboundspec")),
other => Err(Error::internal(&format!("a value of {} for partboundspec", other.member()))),
}
}
/// The value as the member `rolespec`.
pub(crate) fn into_rolespec(self) -> Result<Option<Box<RoleSpec>>, Error> {
match self {
Value::rolespec(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => RoleSpec::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for rolespec")),
other => Err(Error::internal(&format!("a value of {} for rolespec", other.member()))),
}
}
/// The value as the member `selectlimit`.
pub(crate) fn into_selectlimit(self) -> Result<Option<Box<SelectLimit>>, Error> {
match self {
Value::selectlimit(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for selectlimit", other.member()))),
}
}
/// The value as the member `setquantifier`.
pub(crate) fn into_setquantifier(self) -> Result<SetQuantifier, Error> {
match self {
Value::setquantifier(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for setquantifier", other.member()))),
}
}
/// The value as the member `groupclause`.
pub(crate) fn into_groupclause(self) -> Result<Option<Box<GroupClause>>, Error> {
match self {
Value::groupclause(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for groupclause", other.member()))),
}
}
/// The value as the member `mergematch`.
pub(crate) fn into_mergematch(self) -> Result<MergeMatchKind, Error> {
match self {
Value::mergematch(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for mergematch", other.member()))),
}
}
/// The value as the member `mergewhen`.
pub(crate) fn into_mergewhen(self) -> Result<Option<Box<MergeWhenClause>>, Error> {
match self {
Value::mergewhen(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => MergeWhenClause::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for mergewhen")),
other => Err(Error::internal(&format!("a value of {} for mergewhen", other.member()))),
}
}
/// The value as the member `keyactions`.
pub(crate) fn into_keyactions(self) -> Result<Option<Box<KeyActions>>, Error> {
match self {
Value::keyactions(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for keyactions", other.member()))),
}
}
/// The value as the member `keyaction`.
pub(crate) fn into_keyaction(self) -> Result<Option<Box<KeyAction>>, Error> {
match self {
Value::keyaction(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for keyaction", other.member()))),
}
}
/// The value as the member `retclause`.
pub(crate) fn into_retclause(self) -> Result<Option<Box<ReturningClause>>, Error> {
match self {
Value::retclause(value) => Ok(value),
Value::node(None) => Ok(None),
Value::node(Some(node)) => ReturningClause::from_node(node).map(Some).map_err(|_| Error::internal("a node of the wrong type for retclause")),
other => Err(Error::internal(&format!("a value of {} for retclause", other.member()))),
}
}
/// The value as the member `retoptionkind`.
pub(crate) fn into_retoptionkind(self) -> Result<ReturningOptionKind, Error> {
match self {
Value::retoptionkind(value) => Ok(value),
other => Err(Error::internal(&format!("a value of {} for retoptionkind", other.member()))),
}
}
}
/// The value of a token, from the value that the lexer gives it.
pub(crate) fn token(value: crate::lexer::Value<'_>) -> Value {
match value {
crate::lexer::Value::None => Value::None,
crate::lexer::Value::Integer(value) => Value::ival(value),
crate::lexer::Value::Text(text) => Value::str(Some(text.into())),
crate::lexer::Value::Keyword(keyword) => Value::keyword(keyword.name),
}
}
/// Runs the action of `rule`. `rhs` is the values of its right side, `at` their locations
/// and `here` the location of the left side, which is the first location in `at` that is
/// not -1, as `YYLLOC_DEFAULT` of `gram.y` gives it.
pub(crate) fn reduce(
p: &mut Parser<'_>,
rule: usize,
rhs: Drain<'_, Value>,
at: &[i32],
here: i32,
) -> Result<Value, Error> {
let _ = (&at, here);
Ok(match rule {
// parse_toplevel.1
1 => {
let [v1] = take(rhs);
Value::list(rules::parse_toplevel::parse_toplevel_1(p, v1.into_list()?)?)
}
// parse_toplevel.2
2 => {
let [_, v2] = take(rhs);
Value::list(rules::parse_toplevel::parse_toplevel_2(p, v2.into_typnam()?)?)
}
// parse_toplevel.3
3 => {
let [_, v2] = take(rhs);
Value::list(rules::parse_toplevel::parse_toplevel_3(p, v2.into_node()?, at[1])?)
}
// parse_toplevel.4
4 => {
let [_, v2] = take(rhs);
Value::list(rules::parse_toplevel::parse_toplevel_4(p, v2.into_node()?, at[1])?)
}
// parse_toplevel.5
5 => {
let [_, v2] = take(rhs);
Value::list(rules::parse_toplevel::parse_toplevel_5(p, v2.into_node()?, at[1])?)
}
// parse_toplevel.6
6 => {
let [_, v2] = take(rhs);
Value::list(rules::parse_toplevel::parse_toplevel_6(p, v2.into_node()?, at[1])?)
}
// stmtmulti.1
7 => {
let [v1, _, v3] = take(rhs);
Value::list(rules::stmtmulti::stmtmulti_1(p, v1.into_list()?, v3.into_node()?, at[1], at[2])?)
}
// stmtmulti.2
8 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
Value::list(if v1.is_some() {
vec![Some(crate::actions::makeRawStmt(v1, at[0]).into())]
} else {
List::new()
})
}
// toplevel_stmt.1
9 => {
let [v1] = take(rhs);
v1
}
// toplevel_stmt.2
10 => {
let [v1] = take(rhs);
v1
}
// stmt.1
11 => {
let [v1] = take(rhs);
v1
}
// stmt.2
12 => {
let [v1] = take(rhs);
v1
}
// stmt.3
13 => {
let [v1] = take(rhs);
v1
}
// stmt.4
14 => {
let [v1] = take(rhs);
v1
}
// stmt.5
15 => {
let [v1] = take(rhs);
v1
}
// stmt.6
16 => {
let [v1] = take(rhs);
v1
}
// stmt.7
17 => {
let [v1] = take(rhs);
v1
}
// stmt.8
18 => {
let [v1] = take(rhs);
v1
}
// stmt.9
19 => {
let [v1] = take(rhs);
v1
}
// stmt.10
20 => {
let [v1] = take(rhs);
v1
}
// stmt.11
21 => {
let [v1] = take(rhs);
v1
}
// stmt.12
22 => {
let [v1] = take(rhs);
v1
}
// stmt.13
23 => {
let [v1] = take(rhs);
v1
}
// stmt.14
24 => {
let [v1] = take(rhs);
v1
}
// stmt.15
25 => {
let [v1] = take(rhs);
v1
}
// stmt.16
26 => {
let [v1] = take(rhs);
v1
}
// stmt.17
27 => {
let [v1] = take(rhs);
v1
}
// stmt.18
28 => {
let [v1] = take(rhs);
v1
}
// stmt.19
29 => {
let [v1] = take(rhs);
v1
}
// stmt.20
30 => {
let [v1] = take(rhs);
v1
}
// stmt.21
31 => {
let [v1] = take(rhs);
v1
}
// stmt.22
32 => {
let [v1] = take(rhs);
v1
}
// stmt.23
33 => {
let [v1] = take(rhs);
v1
}
// stmt.24
34 => {
let [v1] = take(rhs);
v1
}
// stmt.25
35 => {
let [v1] = take(rhs);
v1
}
// stmt.26
36 => {
let [v1] = take(rhs);
v1
}
// stmt.27
37 => {
let [v1] = take(rhs);
v1
}
// stmt.28
38 => {
let [v1] = take(rhs);
v1
}
// stmt.29
39 => {
let [v1] = take(rhs);
v1
}
// stmt.30
40 => {
let [v1] = take(rhs);
v1
}
// stmt.31
41 => {
let [v1] = take(rhs);
v1
}
// stmt.32
42 => {
let [v1] = take(rhs);
v1
}
// stmt.33
43 => {
let [v1] = take(rhs);
v1
}
// stmt.34
44 => {
let [v1] = take(rhs);
v1
}
// stmt.35
45 => {
let [v1] = take(rhs);
v1
}
// stmt.36
46 => {
let [v1] = take(rhs);
v1
}
// stmt.37
47 => {
let [v1] = take(rhs);
v1
}
// stmt.38
48 => {
let [v1] = take(rhs);
v1
}
// stmt.39
49 => {
let [v1] = take(rhs);
v1
}
// stmt.40
50 => {
let [v1] = take(rhs);
v1
}
// stmt.41
51 => {
let [v1] = take(rhs);
v1
}
// stmt.42
52 => {
let [v1] = take(rhs);
v1
}
// stmt.43
53 => {
let [v1] = take(rhs);
v1
}
// stmt.44
54 => {
let [v1] = take(rhs);
v1
}
// stmt.45
55 => {
let [v1] = take(rhs);
v1
}
// stmt.46
56 => {
let [v1] = take(rhs);
v1
}
// stmt.47
57 => {
let [v1] = take(rhs);
v1
}
// stmt.48
58 => {
let [v1] = take(rhs);
v1
}
// stmt.49
59 => {
let [v1] = take(rhs);
v1
}
// stmt.50
60 => {
let [v1] = take(rhs);
v1
}
// stmt.51
61 => {
let [v1] = take(rhs);
v1
}
// stmt.52
62 => {
let [v1] = take(rhs);
v1
}
// stmt.53
63 => {
let [v1] = take(rhs);
v1
}
// stmt.54
64 => {
let [v1] = take(rhs);
v1
}
// stmt.55
65 => {
let [v1] = take(rhs);
v1
}
// stmt.56
66 => {
let [v1] = take(rhs);
v1
}
// stmt.57
67 => {
let [v1] = take(rhs);
v1
}
// stmt.58
68 => {
let [v1] = take(rhs);
v1
}
// stmt.59
69 => {
let [v1] = take(rhs);
v1
}
// stmt.60
70 => {
let [v1] = take(rhs);
v1
}
// stmt.61
71 => {
let [v1] = take(rhs);
v1
}
// stmt.62
72 => {
let [v1] = take(rhs);
v1
}
// stmt.63
73 => {
let [v1] = take(rhs);
v1
}
// stmt.64
74 => {
let [v1] = take(rhs);
v1
}
// stmt.65
75 => {
let [v1] = take(rhs);
v1
}
// stmt.66
76 => {
let [v1] = take(rhs);
v1
}
// stmt.67
77 => {
let [v1] = take(rhs);
v1
}
// stmt.68
78 => {
let [v1] = take(rhs);
v1
}
// stmt.69
79 => {
let [v1] = take(rhs);
v1
}
// stmt.70
80 => {
let [v1] = take(rhs);
v1
}
// stmt.71
81 => {
let [v1] = take(rhs);
v1
}
// stmt.72
82 => {
let [v1] = take(rhs);
v1
}
// stmt.73
83 => {
let [v1] = take(rhs);
v1
}
// stmt.74
84 => {
let [v1] = take(rhs);
v1
}
// stmt.75
85 => {
let [v1] = take(rhs);
v1
}
// stmt.76
86 => {
let [v1] = take(rhs);
v1
}
// stmt.77
87 => {
let [v1] = take(rhs);
v1
}
// stmt.78
88 => {
let [v1] = take(rhs);
v1
}
// stmt.79
89 => {
let [v1] = take(rhs);
v1
}
// stmt.80
90 => {
let [v1] = take(rhs);
v1
}
// stmt.81
91 => {
let [v1] = take(rhs);
v1
}
// stmt.82
92 => {
let [v1] = take(rhs);
v1
}
// stmt.83
93 => {
let [v1] = take(rhs);
v1
}
// stmt.84
94 => {
let [v1] = take(rhs);
v1
}
// stmt.85
95 => {
let [v1] = take(rhs);
v1
}
// stmt.86
96 => {
let [v1] = take(rhs);
v1
}
// stmt.87
97 => {
let [v1] = take(rhs);
v1
}
// stmt.88
98 => {
let [v1] = take(rhs);
v1
}
// stmt.89
99 => {
let [v1] = take(rhs);
v1
}
// stmt.90
100 => {
let [v1] = take(rhs);
v1
}
// stmt.91
101 => {
let [v1] = take(rhs);
v1
}
// stmt.92
102 => {
let [v1] = take(rhs);
v1
}
// stmt.93
103 => {
let [v1] = take(rhs);
v1
}
// stmt.94
104 => {
let [v1] = take(rhs);
v1
}
// stmt.95
105 => {
let [v1] = take(rhs);
v1
}
// stmt.96
106 => {
let [v1] = take(rhs);
v1
}
// stmt.97
107 => {
let [v1] = take(rhs);
v1
}
// stmt.98
108 => {
let [v1] = take(rhs);
v1
}
// stmt.99
109 => {
let [v1] = take(rhs);
v1
}
// stmt.100
110 => {
let [v1] = take(rhs);
v1
}
// stmt.101
111 => {
let [v1] = take(rhs);
v1
}
// stmt.102
112 => {
let [v1] = take(rhs);
v1
}
// stmt.103
113 => {
let [v1] = take(rhs);
v1
}
// stmt.104
114 => {
let [v1] = take(rhs);
v1
}
// stmt.105
115 => {
let [v1] = take(rhs);
v1
}
// stmt.106
116 => {
let [v1] = take(rhs);
v1
}
// stmt.107
117 => {
let [v1] = take(rhs);
v1
}
// stmt.108
118 => {
let [v1] = take(rhs);
v1
}
// stmt.109
119 => {
let [v1] = take(rhs);
v1
}
// stmt.110
120 => {
let [v1] = take(rhs);
v1
}
// stmt.111
121 => {
let [v1] = take(rhs);
v1
}
// stmt.112
122 => {
let [v1] = take(rhs);
v1
}
// stmt.113
123 => {
let [v1] = take(rhs);
v1
}
// stmt.114
124 => {
let [v1] = take(rhs);
v1
}
// stmt.115
125 => {
let [v1] = take(rhs);
v1
}
// stmt.116
126 => {
let [v1] = take(rhs);
v1
}
// stmt.117
127 => {
let [v1] = take(rhs);
v1
}
// stmt.118
128 => {
let [v1] = take(rhs);
v1
}
// stmt.119
129 => {
let [v1] = take(rhs);
v1
}
// stmt.120
130 => {
let [v1] = take(rhs);
v1
}
// stmt.121
131 => {
let [v1] = take(rhs);
v1
}
// stmt.122
132 => {
let [v1] = take(rhs);
v1
}
// stmt.123
133 => {
let [v1] = take(rhs);
v1
}
// stmt.124
134 => {
let [v1] = take(rhs);
v1
}
// stmt.125
135 => {
let [v1] = take(rhs);
v1
}
// stmt.126
136 => Value::node(None),
// opt_single_name.1
137 => {
let [v1] = take(rhs);
v1
}
// opt_single_name.2
138 => Value::str(None),
// opt_qualified_name.1
139 => {
let [v1] = take(rhs);
v1
}
// opt_qualified_name.2
140 => Value::list(List::new()),
// opt_concurrently.1
141 => Value::boolean(true),
// opt_concurrently.2
142 => Value::boolean(false),
// opt_usingindex.1
143 => Value::boolean(true),
// opt_usingindex.2
144 => Value::boolean(false),
// opt_drop_behavior.1
145 => Value::dbehavior(DropBehavior::DROP_CASCADE),
// opt_drop_behavior.2
146 => Value::dbehavior(DropBehavior::DROP_RESTRICT),
// opt_drop_behavior.3
147 => Value::dbehavior(DropBehavior::DROP_RESTRICT),
// opt_utility_option_list.1
148 => {
let [_, v2, _] = take(rhs);
v2
}
// opt_utility_option_list.2
149 => Value::list(List::new()),
// utility_option_list.1
150 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// utility_option_list.2
151 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// utility_option_elem.1
152 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v2, at[0]))))
}
// utility_option_name.1
153 => {
let [v1] = take(rhs);
v1
}
// utility_option_name.2
154 => Value::str(Some("analyze".into())),
// utility_option_name.3
155 => Value::str(Some("format".into())),
// utility_option_arg.1
156 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// utility_option_arg.2
157 => {
let [v1] = take(rhs);
v1
}
// utility_option_arg.3
158 => Value::node(None),
// CallStmt.1
159 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = CallStmt { funccall: crate::actions::castNode::<FuncCall>(v2)?, ..Default::default() };
Value::node(Some(n.into()))
}
// CreateRoleStmt.1
160 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = CreateRoleStmt { stmt_type: RoleStmtType::ROLESTMT_ROLE, role: v3, options: v5 };
Value::node(Some(n.into()))
}
// opt_with.1
161 => Value::None,
// opt_with.2
162 => Value::None,
// opt_with.3
163 => Value::None,
// OptRoleList.1
164 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// OptRoleList.2
165 => Value::list(List::new()),
// AlterOptRoleList.1
166 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// AlterOptRoleList.2
167 => Value::list(List::new()),
// AlterOptRoleElem.1
168 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("password".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// AlterOptRoleElem.2
169 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("password".into()), None, at[0])))),
// AlterOptRoleElem.3
170 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("password".into()), Some(crate::actions::makeString(v3)), at[0]))))
}
// AlterOptRoleElem.4
171 => return Err(Error { hint: Some("Remove UNENCRYPTED to store the password in encrypted form instead."), ..p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "UNENCRYPTED PASSWORD is no longer supported", at[0]) }),
// AlterOptRoleElem.5
172 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("inherit".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// AlterOptRoleElem.6
173 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_ival()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("connectionlimit".into()), Some(crate::actions::makeInteger(v3)), at[0]))))
}
// AlterOptRoleElem.7
174 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("validUntil".into()), Some(crate::actions::makeString(v3)), at[0]))))
}
// AlterOptRoleElem.8
175 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("rolemembers".into()), crate::actions::listNode(v2), at[0]))))
}
// AlterOptRoleElem.9
176 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::defelt(if v1.as_deref() == Some("superuser") {
Some(Box::new(crate::actions::makeDefElem(Some("superuser".into()), Some(crate::actions::makeBoolean(true)), at[0])))
} else if v1.as_deref() == Some("nosuperuser") {
Some(Box::new(crate::actions::makeDefElem(Some("superuser".into()), Some(crate::actions::makeBoolean(false)), at[0])))
} else if v1.as_deref() == Some("createrole") {
Some(Box::new(crate::actions::makeDefElem(Some("createrole".into()), Some(crate::actions::makeBoolean(true)), at[0])))
} else if v1.as_deref() == Some("nocreaterole") {
Some(Box::new(crate::actions::makeDefElem(Some("createrole".into()), Some(crate::actions::makeBoolean(false)), at[0])))
} else if v1.as_deref() == Some("replication") {
Some(Box::new(crate::actions::makeDefElem(Some("isreplication".into()), Some(crate::actions::makeBoolean(true)), at[0])))
} else if v1.as_deref() == Some("noreplication") {
Some(Box::new(crate::actions::makeDefElem(Some("isreplication".into()), Some(crate::actions::makeBoolean(false)), at[0])))
} else if v1.as_deref() == Some("createdb") {
Some(Box::new(crate::actions::makeDefElem(Some("createdb".into()), Some(crate::actions::makeBoolean(true)), at[0])))
} else if v1.as_deref() == Some("nocreatedb") {
Some(Box::new(crate::actions::makeDefElem(Some("createdb".into()), Some(crate::actions::makeBoolean(false)), at[0])))
} else if v1.as_deref() == Some("login") {
Some(Box::new(crate::actions::makeDefElem(Some("canlogin".into()), Some(crate::actions::makeBoolean(true)), at[0])))
} else if v1.as_deref() == Some("nologin") {
Some(Box::new(crate::actions::makeDefElem(Some("canlogin".into()), Some(crate::actions::makeBoolean(false)), at[0])))
} else if v1.as_deref() == Some("bypassrls") {
Some(Box::new(crate::actions::makeDefElem(Some("bypassrls".into()), Some(crate::actions::makeBoolean(true)), at[0])))
} else if v1.as_deref() == Some("nobypassrls") {
Some(Box::new(crate::actions::makeDefElem(Some("bypassrls".into()), Some(crate::actions::makeBoolean(false)), at[0])))
} else if v1.as_deref() == Some("noinherit") {
Some(Box::new(crate::actions::makeDefElem(Some("inherit".into()), Some(crate::actions::makeBoolean(false)), at[0])))
} else {
return Err(p.error(ERRCODE_SYNTAX_ERROR, &format!("unrecognized role option \"{}\"", v1.as_deref().unwrap_or_default()), at[0]));
})
}
// CreateOptRoleElem.1
177 => {
let [v1] = take(rhs);
v1
}
// CreateOptRoleElem.2
178 => {
let [_, v2] = take(rhs);
let v2 = v2.into_ival()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("sysid".into()), Some(crate::actions::makeInteger(v2)), at[0]))))
}
// CreateOptRoleElem.3
179 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("adminmembers".into()), crate::actions::listNode(v2), at[0]))))
}
// CreateOptRoleElem.4
180 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("rolemembers".into()), crate::actions::listNode(v2), at[0]))))
}
// CreateOptRoleElem.5
181 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("addroleto".into()), crate::actions::listNode(v3), at[0]))))
}
// CreateOptRoleElem.6
182 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("addroleto".into()), crate::actions::listNode(v3), at[0]))))
}
// CreateUserStmt.1
183 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = CreateRoleStmt { stmt_type: RoleStmtType::ROLESTMT_USER, role: v3, options: v5 };
Value::node(Some(n.into()))
}
// AlterRoleStmt.1
184 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_rolespec()?;
let v5 = v5.into_list()?;
let n = AlterRoleStmt { role: v3, action: 1, options: v5 };
Value::node(Some(n.into()))
}
// AlterRoleStmt.2
185 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_rolespec()?;
let v5 = v5.into_list()?;
let n = AlterRoleStmt { role: v3, action: 1, options: v5 };
Value::node(Some(n.into()))
}
// opt_in_database.1
186 => Value::str(None),
// opt_in_database.2
187 => {
let [_, _, v3] = take(rhs);
v3
}
// AlterRoleSetStmt.1
188 => {
let [_, _, v3, v4, v5] = take(rhs);
let v3 = v3.into_rolespec()?;
let v4 = v4.into_str()?;
let v5 = v5.into_vsetstmt()?;
let n = AlterRoleSetStmt { role: v3, database: v4, setstmt: v5 };
Value::node(Some(n.into()))
}
// AlterRoleSetStmt.2
189 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_str()?;
let v5 = v5.into_vsetstmt()?;
let n = AlterRoleSetStmt { role: None, database: v4, setstmt: v5 };
Value::node(Some(n.into()))
}
// AlterRoleSetStmt.3
190 => {
let [_, _, v3, v4, v5] = take(rhs);
let v3 = v3.into_rolespec()?;
let v4 = v4.into_str()?;
let v5 = v5.into_vsetstmt()?;
let n = AlterRoleSetStmt { role: v3, database: v4, setstmt: v5 };
Value::node(Some(n.into()))
}
// AlterRoleSetStmt.4
191 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_str()?;
let v5 = v5.into_vsetstmt()?;
let n = AlterRoleSetStmt { role: None, database: v4, setstmt: v5 };
Value::node(Some(n.into()))
}
// DropRoleStmt.1
192 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = DropRoleStmt { missing_ok: false, roles: v3 };
Value::node(Some(n.into()))
}
// DropRoleStmt.2
193 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = DropRoleStmt { missing_ok: true, roles: v5 };
Value::node(Some(n.into()))
}
// DropRoleStmt.3
194 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = DropRoleStmt { missing_ok: false, roles: v3 };
Value::node(Some(n.into()))
}
// DropRoleStmt.4
195 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = DropRoleStmt { roles: v5, missing_ok: true };
Value::node(Some(n.into()))
}
// DropRoleStmt.5
196 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = DropRoleStmt { missing_ok: false, roles: v3 };
Value::node(Some(n.into()))
}
// DropRoleStmt.6
197 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = DropRoleStmt { missing_ok: true, roles: v5 };
Value::node(Some(n.into()))
}
// CreateGroupStmt.1
198 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = CreateRoleStmt { stmt_type: RoleStmtType::ROLESTMT_GROUP, role: v3, options: v5 };
Value::node(Some(n.into()))
}
// AlterGroupStmt.1
199 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_rolespec()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_list()?;
let n = AlterRoleStmt { role: v3, action: v4, options: vec![Some(crate::actions::makeDefElem(Some("rolemembers".into()), crate::actions::listNode(v6), at[5]).into())] };
Value::node(Some(n.into()))
}
// add_drop.1
200 => Value::ival(1),
// add_drop.2
201 => Value::ival(-1),
// CreateSchemaStmt.1
202 => {
let [_, _, v3, _, v5, v6] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_rolespec()?;
let v6 = v6.into_list()?;
let n = CreateSchemaStmt { schemaname: v3, authrole: v5, schemaElts: v6, if_not_exists: false };
Value::node(Some(n.into()))
}
// CreateSchemaStmt.2
203 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let n = CreateSchemaStmt { schemaname: v3, authrole: None, schemaElts: v4, if_not_exists: false };
Value::node(Some(n.into()))
}
// CreateSchemaStmt.3
204 => {
let [_, _, _, _, _, v6, _, v8, v9] = take(rhs);
let v6 = v6.into_str()?;
let v8 = v8.into_rolespec()?;
let v9 = v9.into_list()?;
let mut n = CreateSchemaStmt { schemaname: v6, authrole: v8, ..Default::default() };
if !v9.is_empty() {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "CREATE SCHEMA IF NOT EXISTS cannot include schema elements", at[8]));
}
n.schemaElts = v9;
n.if_not_exists = true;
Value::node(Some(n.into()))
}
// CreateSchemaStmt.4
205 => {
let [_, _, _, _, _, v6, v7] = take(rhs);
let v6 = v6.into_str()?;
let v7 = v7.into_list()?;
let mut n = CreateSchemaStmt { schemaname: v6, authrole: None, ..Default::default() };
if !v7.is_empty() {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "CREATE SCHEMA IF NOT EXISTS cannot include schema elements", at[6]));
}
n.schemaElts = v7;
n.if_not_exists = true;
Value::node(Some(n.into()))
}
// OptSchemaEltList.1
206 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// OptSchemaEltList.2
207 => Value::list(List::new()),
// schema_stmt.1
208 => {
let [v1] = take(rhs);
v1
}
// schema_stmt.2
209 => {
let [v1] = take(rhs);
v1
}
// schema_stmt.3
210 => {
let [v1] = take(rhs);
v1
}
// schema_stmt.4
211 => {
let [v1] = take(rhs);
v1
}
// schema_stmt.5
212 => {
let [v1] = take(rhs);
v1
}
// schema_stmt.6
213 => {
let [v1] = take(rhs);
v1
}
// VariableSetStmt.1
214 => {
let [_, v2] = take(rhs);
let v2 = v2.into_vsetstmt()?;
let mut n = crate::actions::pointer(v2)?;
n.is_local = false;
Value::node(Some(n.into_node()))
}
// VariableSetStmt.2
215 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_vsetstmt()?;
let mut n = crate::actions::pointer(v3)?;
n.is_local = true;
Value::node(Some(n.into_node()))
}
// VariableSetStmt.3
216 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_vsetstmt()?;
let mut n = crate::actions::pointer(v3)?;
n.is_local = false;
Value::node(Some(n.into_node()))
}
// set_rest.1
217 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_MULTI, name: Some("TRANSACTION".into()), args: v2, jumble_args: true, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest.2
218 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_MULTI, name: Some("SESSION CHARACTERISTICS".into()), args: v5, jumble_args: true, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest.3
219 => {
let [v1] = take(rhs);
v1
}
// generic_set.1
220 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_list()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: v1, args: v3, location: at[2], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// generic_set.2
221 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_list()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: v1, args: v3, location: at[2], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// generic_set.3
222 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: v1, args: vec![Some(crate::actions::makeNullAConst(at[2]))], location: at[2], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// generic_set.4
223 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: v1, args: vec![Some(crate::actions::makeNullAConst(at[2]))], location: at[2], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// generic_set.5
224 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_DEFAULT, name: v1, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// generic_set.6
225 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_DEFAULT, name: v1, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.1
226 => {
let [v1] = take(rhs);
v1
}
// set_rest_more.2
227 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_CURRENT, name: v1, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.3
228 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
let mut n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: Some("timezone".into()), location: -1, jumble_args: true, ..Default::default() };
if v3.is_some() {
n.args = vec![v3];
} else {
n.kind = VariableSetKind::VAR_SET_DEFAULT;
}
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.4
229 => return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "current database cannot be changed", at[1])),
// set_rest_more.5
230 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: Some("search_path".into()), args: vec![Some(crate::actions::makeStringConst(v2, at[1]))], location: at[1], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.6
231 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let mut n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: Some("client_encoding".into()), location: at[1], ..Default::default() };
if v2.is_some() {
n.args = vec![Some(crate::actions::makeStringConst(v2, at[1]))];
} else {
n.kind = VariableSetKind::VAR_SET_DEFAULT;
}
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.7
232 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: Some("role".into()), args: vec![Some(crate::actions::makeStringConst(v2, at[1]))], location: at[1], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.8
233 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: Some("session_authorization".into()), args: vec![Some(crate::actions::makeStringConst(v3, at[2]))], location: at[2], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.9
234 => {
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_DEFAULT, name: Some("session_authorization".into()), location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.10
235 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_ival()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_VALUE, name: Some("xmloption".into()), args: vec![Some(crate::actions::makeStringConst(Some(if v3 == XmlOptionType::XMLOPTION_DOCUMENT.0 { "DOCUMENT" } else { "CONTENT" }.into()), at[2]))], jumble_args: true, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// set_rest_more.11
236 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_SET_MULTI, name: Some("TRANSACTION SNAPSHOT".into()), args: vec![Some(crate::actions::makeStringConst(v3, at[2]))], location: at[2], ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// var_name.1
237 => {
let [v1] = take(rhs);
v1
}
// var_name.2
238 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_str()?;
Value::str(Some(format!("{}.{}", v1.as_deref().unwrap_or_default(), v3.as_deref().unwrap_or_default()).into()))
}
// var_list.1
239 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// var_list.2
240 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// var_value.1
241 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeStringConst(v1, at[0])))
}
// var_value.2
242 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
Value::node(crate::actions::makeAConst(v1, at[0]))
}
// iso_level.1
243 => Value::str(Some("read uncommitted".into())),
// iso_level.2
244 => Value::str(Some("read committed".into())),
// iso_level.3
245 => Value::str(Some("repeatable read".into())),
// iso_level.4
246 => Value::str(Some("serializable".into())),
// opt_boolean_or_string.1
247 => Value::str(Some("true".into())),
// opt_boolean_or_string.2
248 => Value::str(Some("false".into())),
// opt_boolean_or_string.3
249 => Value::str(Some("on".into())),
// opt_boolean_or_string.4
250 => {
let [v1] = take(rhs);
v1
}
// zone_value.1
251 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeStringConst(v1, at[0])))
}
// zone_value.2
252 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeStringConst(v1, at[0])))
}
// zone_value.3
253 => {
let [v1, v2, v3] = take(rhs);
Value::node(rules::zone_value::zone_value_3(p, v1.into_typnam()?, v2.into_str()?, v3.into_list()?, at[1], at[2])?)
}
// zone_value.4
254 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_typnam()?;
let v3 = v3.into_ival()?;
let v5 = v5.into_str()?;
let mut t = crate::actions::pointer(v1)?;
t.typmods = vec![Some(crate::actions::makeIntConst(INTERVAL_FULL_RANGE, -1)), Some(crate::actions::makeIntConst(v3, at[2]))];
Value::node(Some(crate::actions::makeStringConstCast(v5, at[4], Some(t))))
}
// zone_value.5
255 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
Value::node(crate::actions::makeAConst(v1, at[0]))
}
// zone_value.6
256 => Value::node(None),
// zone_value.7
257 => Value::node(None),
// opt_encoding.1
258 => {
let [v1] = take(rhs);
v1
}
// opt_encoding.2
259 => Value::str(None),
// opt_encoding.3
260 => Value::str(None),
// NonReservedWord_or_Sconst.1
261 => {
let [v1] = take(rhs);
v1
}
// NonReservedWord_or_Sconst.2
262 => {
let [v1] = take(rhs);
v1
}
// VariableResetStmt.1
263 => {
let [_, v2] = take(rhs);
Value::node(v2.into_node()?)
}
// reset_rest.1
264 => {
let [v1] = take(rhs);
v1
}
// reset_rest.2
265 => {
let n = VariableSetStmt { kind: VariableSetKind::VAR_RESET, name: Some("timezone".into()), location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// reset_rest.3
266 => {
let n = VariableSetStmt { kind: VariableSetKind::VAR_RESET, name: Some("transaction_isolation".into()), location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// reset_rest.4
267 => {
let n = VariableSetStmt { kind: VariableSetKind::VAR_RESET, name: Some("session_authorization".into()), location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// generic_reset.1
268 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
let n = VariableSetStmt { kind: VariableSetKind::VAR_RESET, name: v1, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// generic_reset.2
269 => {
let n = VariableSetStmt { kind: VariableSetKind::VAR_RESET_ALL, location: -1, ..Default::default() };
Value::vsetstmt(Some(Box::new(n)))
}
// SetResetClause.1
270 => {
let [_, v2] = take(rhs);
v2
}
// SetResetClause.2
271 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
Value::vsetstmt(crate::actions::castNode::<VariableSetStmt>(v1)?)
}
// FunctionSetResetClause.1
272 => {
let [_, v2] = take(rhs);
v2
}
// FunctionSetResetClause.2
273 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
Value::vsetstmt(crate::actions::castNode::<VariableSetStmt>(v1)?)
}
// VariableShowStmt.1
274 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = VariableShowStmt { name: v2 };
Value::node(Some(n.into()))
}
// VariableShowStmt.2
275 => {
let n = VariableShowStmt { name: Some("timezone".into()) };
Value::node(Some(n.into()))
}
// VariableShowStmt.3
276 => {
let n = VariableShowStmt { name: Some("transaction_isolation".into()) };
Value::node(Some(n.into()))
}
// VariableShowStmt.4
277 => {
let n = VariableShowStmt { name: Some("session_authorization".into()) };
Value::node(Some(n.into()))
}
// VariableShowStmt.5
278 => {
let n = VariableShowStmt { name: Some("all".into()) };
Value::node(Some(n.into()))
}
// ConstraintsSetStmt.1
279 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_boolean()?;
let n = ConstraintsSetStmt { constraints: v3, deferred: v4 };
Value::node(Some(n.into()))
}
// constraints_set_list.1
280 => Value::list(List::new()),
// constraints_set_list.2
281 => {
let [v1] = take(rhs);
v1
}
// constraints_set_mode.1
282 => Value::boolean(true),
// constraints_set_mode.2
283 => Value::boolean(false),
// CheckPointStmt.1
284 => {
let [_, v2] = take(rhs);
Value::node(rules::CheckPointStmt::CheckPointStmt_1(p, v2.into_list()?)?)
}
// DiscardStmt.1
285 => {
let n = DiscardStmt { target: DiscardMode::DISCARD_ALL };
Value::node(Some(n.into()))
}
// DiscardStmt.2
286 => {
let n = DiscardStmt { target: DiscardMode::DISCARD_TEMP };
Value::node(Some(n.into()))
}
// DiscardStmt.3
287 => {
let n = DiscardStmt { target: DiscardMode::DISCARD_TEMP };
Value::node(Some(n.into()))
}
// DiscardStmt.4
288 => {
let n = DiscardStmt { target: DiscardMode::DISCARD_PLANS };
Value::node(Some(n.into()))
}
// DiscardStmt.5
289 => {
let n = DiscardStmt { target: DiscardMode::DISCARD_SEQUENCES };
Value::node(Some(n.into()))
}
// AlterTableStmt.1
290 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let n = AlterTableStmt { relation: v3, cmds: v4, objtype: ObjectType::OBJECT_TABLE, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.2
291 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_range()?;
let v6 = v6.into_list()?;
let n = AlterTableStmt { relation: v5, cmds: v6, objtype: ObjectType::OBJECT_TABLE, missing_ok: true };
Value::node(Some(n.into()))
}
// AlterTableStmt.3
292 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_node()?;
let n = AlterTableStmt { relation: v3, cmds: vec![v4], objtype: ObjectType::OBJECT_TABLE, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.4
293 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_range()?;
let v6 = v6.into_node()?;
let n = AlterTableStmt { relation: v5, cmds: vec![v6], objtype: ObjectType::OBJECT_TABLE, missing_ok: true };
Value::node(Some(n.into()))
}
// AlterTableStmt.5
294 => {
let [_, _, _, _, _, v6, _, _, v9, v10] = take(rhs);
let v6 = v6.into_str()?;
let v9 = v9.into_str()?;
let v10 = v10.into_boolean()?;
let n = AlterTableMoveAllStmt { orig_tablespacename: v6, objtype: ObjectType::OBJECT_TABLE, roles: List::new(), new_tablespacename: v9, nowait: v10 };
Value::node(Some(n.into()))
}
// AlterTableStmt.6
295 => {
let [_, _, _, _, _, v6, _, _, v9, _, _, v12, v13] = take(rhs);
let v6 = v6.into_str()?;
let v9 = v9.into_list()?;
let v12 = v12.into_str()?;
let v13 = v13.into_boolean()?;
let n = AlterTableMoveAllStmt { orig_tablespacename: v6, objtype: ObjectType::OBJECT_TABLE, roles: v9, new_tablespacename: v12, nowait: v13 };
Value::node(Some(n.into()))
}
// AlterTableStmt.7
296 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let n = AlterTableStmt { relation: v3, cmds: v4, objtype: ObjectType::OBJECT_INDEX, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.8
297 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_range()?;
let v6 = v6.into_list()?;
let n = AlterTableStmt { relation: v5, cmds: v6, objtype: ObjectType::OBJECT_INDEX, missing_ok: true };
Value::node(Some(n.into()))
}
// AlterTableStmt.9
298 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_node()?;
let n = AlterTableStmt { relation: v3, cmds: vec![v4], objtype: ObjectType::OBJECT_INDEX, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.10
299 => {
let [_, _, _, _, _, v6, _, _, v9, v10] = take(rhs);
let v6 = v6.into_str()?;
let v9 = v9.into_str()?;
let v10 = v10.into_boolean()?;
let n = AlterTableMoveAllStmt { orig_tablespacename: v6, objtype: ObjectType::OBJECT_INDEX, roles: List::new(), new_tablespacename: v9, nowait: v10 };
Value::node(Some(n.into()))
}
// AlterTableStmt.11
300 => {
let [_, _, _, _, _, v6, _, _, v9, _, _, v12, v13] = take(rhs);
let v6 = v6.into_str()?;
let v9 = v9.into_list()?;
let v12 = v12.into_str()?;
let v13 = v13.into_boolean()?;
let n = AlterTableMoveAllStmt { orig_tablespacename: v6, objtype: ObjectType::OBJECT_INDEX, roles: v9, new_tablespacename: v12, nowait: v13 };
Value::node(Some(n.into()))
}
// AlterTableStmt.12
301 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let n = AlterTableStmt { relation: v3, cmds: v4, objtype: ObjectType::OBJECT_SEQUENCE, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.13
302 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_range()?;
let v6 = v6.into_list()?;
let n = AlterTableStmt { relation: v5, cmds: v6, objtype: ObjectType::OBJECT_SEQUENCE, missing_ok: true };
Value::node(Some(n.into()))
}
// AlterTableStmt.14
303 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let n = AlterTableStmt { relation: v3, cmds: v4, objtype: ObjectType::OBJECT_VIEW, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.15
304 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_range()?;
let v6 = v6.into_list()?;
let n = AlterTableStmt { relation: v5, cmds: v6, objtype: ObjectType::OBJECT_VIEW, missing_ok: true };
Value::node(Some(n.into()))
}
// AlterTableStmt.16
305 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_range()?;
let v5 = v5.into_list()?;
let n = AlterTableStmt { relation: v4, cmds: v5, objtype: ObjectType::OBJECT_MATVIEW, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.17
306 => {
let [_, _, _, _, _, v6, v7] = take(rhs);
let v6 = v6.into_range()?;
let v7 = v7.into_list()?;
let n = AlterTableStmt { relation: v6, cmds: v7, objtype: ObjectType::OBJECT_MATVIEW, missing_ok: true };
Value::node(Some(n.into()))
}
// AlterTableStmt.18
307 => {
let [_, _, _, _, _, _, v7, _, _, v10, v11] = take(rhs);
let v7 = v7.into_str()?;
let v10 = v10.into_str()?;
let v11 = v11.into_boolean()?;
let n = AlterTableMoveAllStmt { orig_tablespacename: v7, objtype: ObjectType::OBJECT_MATVIEW, roles: List::new(), new_tablespacename: v10, nowait: v11 };
Value::node(Some(n.into()))
}
// AlterTableStmt.19
308 => {
let [_, _, _, _, _, _, v7, _, _, v10, _, _, v13, v14] = take(rhs);
let v7 = v7.into_str()?;
let v10 = v10.into_list()?;
let v13 = v13.into_str()?;
let v14 = v14.into_boolean()?;
let n = AlterTableMoveAllStmt { orig_tablespacename: v7, objtype: ObjectType::OBJECT_MATVIEW, roles: v10, new_tablespacename: v13, nowait: v14 };
Value::node(Some(n.into()))
}
// AlterTableStmt.20
309 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_range()?;
let v5 = v5.into_list()?;
let n = AlterTableStmt { relation: v4, cmds: v5, objtype: ObjectType::OBJECT_FOREIGN_TABLE, missing_ok: false };
Value::node(Some(n.into()))
}
// AlterTableStmt.21
310 => {
let [_, _, _, _, _, v6, v7] = take(rhs);
let v6 = v6.into_range()?;
let v7 = v7.into_list()?;
let n = AlterTableStmt { relation: v6, cmds: v7, objtype: ObjectType::OBJECT_FOREIGN_TABLE, missing_ok: true };
Value::node(Some(n.into()))
}
// alter_table_cmds.1
311 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// alter_table_cmds.2
312 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// partition_cmd.1
313 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_partboundspec()?;
let mut n = AlterTableCmd::default();
let mut cmd = PartitionCmd::default();
n.subtype = AlterTableType::AT_AttachPartition;
cmd.name = v3;
cmd.bound = v4;
cmd.concurrent = false;
n.def = Some(cmd.into());
Value::node(Some(n.into()))
}
// partition_cmd.2
314 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_boolean()?;
let mut n = AlterTableCmd::default();
let mut cmd = PartitionCmd::default();
n.subtype = AlterTableType::AT_DetachPartition;
cmd.name = v3;
cmd.bound = None;
cmd.concurrent = v4;
n.def = Some(cmd.into());
Value::node(Some(n.into()))
}
// partition_cmd.3
315 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_range()?;
let mut n = AlterTableCmd::default();
let mut cmd = PartitionCmd::default();
n.subtype = AlterTableType::AT_DetachPartitionFinalize;
cmd.name = v3;
cmd.bound = None;
cmd.concurrent = false;
n.def = Some(cmd.into());
Value::node(Some(n.into()))
}
// index_partition_cmd.1
316 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_range()?;
let mut n = AlterTableCmd::default();
let mut cmd = PartitionCmd::default();
n.subtype = AlterTableType::AT_AttachPartition;
cmd.name = v3;
cmd.bound = None;
cmd.concurrent = false;
n.def = Some(cmd.into());
Value::node(Some(n.into()))
}
// alter_table_cmd.1
317 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AddColumn, def: v2, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.2
318 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AddColumn, def: v5, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.3
319 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AddColumn, def: v3, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.4
320 => {
let [_, _, _, _, _, v6] = take(rhs);
let v6 = v6.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AddColumn, def: v6, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.5
321 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_ColumnDefault, name: v3, def: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.6
322 => {
let [_, _, v3, _, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropNotNull, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.7
323 => {
let [_, _, v3, _, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetNotNull, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.8
324 => {
let [_, _, v3, _, _, _, _, v8, _] = take(rhs);
let v3 = v3.into_str()?;
let v8 = v8.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetExpression, name: v3, def: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.9
325 => {
let [_, _, v3, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropExpression, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.10
326 => {
let [_, _, v3, _, _, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropExpression, name: v3, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.11
327 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetStatistics, name: v3, def: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.12
328 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_ival()?;
let v6 = v6.into_node()?;
let mut n = AlterTableCmd::default();
if v3 <= 0 || v3 > PG_INT16_MAX {
return Err(p.error(ERRCODE_INVALID_PARAMETER_VALUE, &format!("column number must be in range from 1 to {}", PG_INT16_MAX), at[2]));
}
n.subtype = AlterTableType::AT_SetStatistics;
n.num = v3 as i16;
n.def = v6;
Value::node(Some(n.into()))
}
// alter_table_cmd.13
329 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetOptions, name: v3, def: crate::actions::listNode(v5), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.14
330 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_ResetOptions, name: v3, def: crate::actions::listNode(v5), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.15
331 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetStorage, name: v3, def: Some(crate::actions::makeString(v5)), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.16
332 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetCompression, name: v3, def: Some(crate::actions::makeString(v5)), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.17
333 => {
let [_, _, v3, _, _, v6, _, _, v9] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_ival()?;
let v9 = v9.into_list()?;
let mut n = AlterTableCmd::default();
let c = Constraint { contype: ConstrType::CONSTR_IDENTITY, generated_when: v6 as u8, options: v9, location: at[4], ..Default::default() };
n.subtype = AlterTableType::AT_AddIdentity;
n.name = v3;
n.def = Some(c.into());
Value::node(Some(n.into()))
}
// alter_table_cmd.18
334 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetIdentity, name: v3, def: crate::actions::listNode(v4), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.19
335 => {
let [_, _, v3, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropIdentity, name: v3, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.20
336 => {
let [_, _, v3, _, _, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropIdentity, name: v3, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.21
337 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_str()?;
let v6 = v6.into_dbehavior()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropColumn, name: v5, behavior: v6, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.22
338 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_dbehavior()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropColumn, name: v3, behavior: v4, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.23
339 => {
let [_, _, v3, _, _, v6, v7, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_typnam()?;
let v7 = v7.into_node()?;
let v8 = v8.into_node()?;
let mut n = AlterTableCmd::default();
let def = ColumnDef::default();
n.subtype = AlterTableType::AT_AlterColumnType;
n.name = v3;
n.def = Some(def.into());
crate::actions::castMut::<ColumnDef>(&mut n.def)?.typeName = v6;
crate::actions::castMut::<ColumnDef>(&mut n.def)?.collClause = crate::actions::castNode::<CollateClause>(v7)?;
crate::actions::castMut::<ColumnDef>(&mut n.def)?.raw_default = v8;
crate::actions::castMut::<ColumnDef>(&mut n.def)?.location = at[2];
Value::node(Some(n.into()))
}
// alter_table_cmd.24
340 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AlterColumnGenericOptions, name: v3, def: crate::actions::listNode(v4), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.25
341 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AddConstraint, def: v2, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.26
342 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let mut n = AlterTableCmd::default();
let c = ATAlterConstraint::default();
n.subtype = AlterTableType::AT_AlterConstraint;
n.def = Some(c.into());
crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?.conname = v3;
if v4 & (CAS_NOT_ENFORCED | CAS_ENFORCED) != 0 {
crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?.alterEnforceability = true;
}
if v4 & (CAS_DEFERRABLE | CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED | CAS_INITIALLY_IMMEDIATE) != 0 {
crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?.alterDeferrability = true;
}
if v4 & CAS_NO_INHERIT != 0 {
crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?.alterInheritability = true;
}
if v4 & CAS_NOT_VALID != 0 {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "constraints cannot be altered to be NOT VALID", at[3]));
}
{ let place0 = crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?; crate::actions::processCASbits(v4, at[3], "FOREIGN KEY", Some(&mut place0.deferrable), Some(&mut place0.initdeferred), Some(&mut place0.is_enforced), None, Some(&mut place0.noinherit), p)? };
Value::node(Some(n.into()))
}
// alter_table_cmd.27
343 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_str()?;
let mut n = AlterTableCmd::default();
let c = ATAlterConstraint::default();
n.subtype = AlterTableType::AT_AlterConstraint;
n.def = Some(c.into());
crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?.conname = v3;
crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?.alterInheritability = true;
crate::actions::castMut::<ATAlterConstraint>(&mut n.def)?.noinherit = false;
Value::node(Some(n.into()))
}
// alter_table_cmd.28
344 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_ValidateConstraint, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.29
345 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_str()?;
let v6 = v6.into_dbehavior()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropConstraint, name: v5, behavior: v6, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.30
346 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_dbehavior()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropConstraint, name: v3, behavior: v4, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.31
347 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_DropOids, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.32
348 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_ClusterOn, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.33
349 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_DropCluster, name: None, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.34
350 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_SetLogged, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.35
351 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_SetUnLogged, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.36
352 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableTrig, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.37
353 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableAlwaysTrig, name: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.38
354 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableReplicaTrig, name: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.39
355 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableTrigAll, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.40
356 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableTrigUser, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.41
357 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DisableTrig, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.42
358 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_DisableTrigAll, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.43
359 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_DisableTrigUser, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.44
360 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableRule, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.45
361 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableAlwaysRule, name: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.46
362 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableReplicaRule, name: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.47
363 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DisableRule, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.48
364 => {
let [_, v2] = take(rhs);
let v2 = v2.into_range()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AddInherit, def: v2.map(NodeType::into_node), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.49
365 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_range()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropInherit, def: v3.map(NodeType::into_node), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.50
366 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let mut n = AlterTableCmd::default();
let mut def = crate::actions::makeTypeNameFromNameList(v2);
def.location = at[1];
n.subtype = AlterTableType::AT_AddOf;
n.def = Some(def.into());
Value::node(Some(n.into()))
}
// alter_table_cmd.51
367 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_DropOf, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.52
368 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_rolespec()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_ChangeOwner, newowner: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.53
369 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetAccessMethod, name: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.54
370 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetTableSpace, name: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.55
371 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_SetRelOptions, def: crate::actions::listNode(v2), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.56
372 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_ResetRelOptions, def: crate::actions::listNode(v2), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.57
373 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_ReplicaIdentity, def: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.58
374 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_EnableRowSecurity, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.59
375 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_DisableRowSecurity, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.60
376 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_ForceRowSecurity, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.61
377 => {
let n = AlterTableCmd { subtype: AlterTableType::AT_NoForceRowSecurity, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_table_cmd.62
378 => {
let [v1] = take(rhs);
let v1 = v1.into_list()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_GenericOptions, def: crate::actions::listNode(v1), ..Default::default() };
Value::node(Some(n.into()))
}
// alter_column_default.1
379 => {
let [_, _, v3] = take(rhs);
v3
}
// alter_column_default.2
380 => Value::node(None),
// opt_collate_clause.1
381 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = CollateClause { arg: None, collname: v2, location: at[0] };
Value::node(Some(n.into()))
}
// opt_collate_clause.2
382 => Value::node(None),
// alter_using.1
383 => {
let [_, v2] = take(rhs);
v2
}
// alter_using.2
384 => Value::node(None),
// replica_identity.1
385 => {
let n = ReplicaIdentityStmt { identity_type: REPLICA_IDENTITY_NOTHING, name: None };
Value::node(Some(n.into()))
}
// replica_identity.2
386 => {
let n = ReplicaIdentityStmt { identity_type: REPLICA_IDENTITY_FULL, name: None };
Value::node(Some(n.into()))
}
// replica_identity.3
387 => {
let n = ReplicaIdentityStmt { identity_type: REPLICA_IDENTITY_DEFAULT, name: None };
Value::node(Some(n.into()))
}
// replica_identity.4
388 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = ReplicaIdentityStmt { identity_type: REPLICA_IDENTITY_INDEX, name: v3 };
Value::node(Some(n.into()))
}
// reloptions.1
389 => {
let [_, v2, _] = take(rhs);
v2
}
// opt_reloptions.1
390 => {
let [_, v2] = take(rhs);
v2
}
// opt_reloptions.2
391 => Value::list(List::new()),
// reloption_list.1
392 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// reloption_list.2
393 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// reloption_elem.1
394 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v3, at[0]))))
}
// reloption_elem.2
395 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, None, at[0]))))
}
// reloption_elem.3
396 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_str()?;
let v5 = v5.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElemExtended(v1, v3, v5, DefElemAction::DEFELEM_UNSPEC, at[0]))))
}
// reloption_elem.4
397 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElemExtended(v1, v3, None, DefElemAction::DEFELEM_UNSPEC, at[0]))))
}
// alter_identity_column_option_list.1
398 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// alter_identity_column_option_list.2
399 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// alter_identity_column_option.1
400 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("restart".into()), None, at[0])))),
// alter_identity_column_option.2
401 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("restart".into()), v3, at[0]))))
}
// alter_identity_column_option.3
402 => {
let [_, v2] = take(rhs);
let v2 = v2.into_defelt()?;
if crate::actions::pointee(&v2)?.defname.as_deref() == Some("as") || crate::actions::pointee(&v2)?.defname.as_deref() == Some("restart") || crate::actions::pointee(&v2)?.defname.as_deref() == Some("owned_by") {
return Err(p.error(ERRCODE_SYNTAX_ERROR, &format!("sequence option \"{}\" not supported here", crate::actions::pointee(&v2)?.defname.as_deref().unwrap_or_default()), at[1]));
}
Value::defelt(v2)
}
// alter_identity_column_option.4
403 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_ival()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("generated".into()), Some(crate::actions::makeInteger(v3)), at[0]))))
}
// set_statistics_value.1
404 => {
let [v1] = take(rhs);
let v1 = v1.into_ival()?;
Value::node(Some(crate::actions::makeInteger(v1)))
}
// set_statistics_value.2
405 => Value::node(None),
// set_access_method_name.1
406 => {
let [v1] = take(rhs);
v1
}
// set_access_method_name.2
407 => Value::str(None),
// PartitionBoundSpec.1
408 => {
let [_, _, _, _, v5, _] = take(rhs);
Value::partboundspec(rules::PartitionBoundSpec::PartitionBoundSpec_1(p, v5.into_list()?, at[2])?)
}
// PartitionBoundSpec.2
409 => {
let [_, _, _, _, v5, _] = take(rhs);
let v5 = v5.into_list()?;
let n = PartitionBoundSpec { strategy: PartitionStrategy::PARTITION_STRATEGY_LIST.0 as u8, is_default: false, listdatums: v5, location: at[2], ..Default::default() };
Value::partboundspec(Some(Box::new(n)))
}
// PartitionBoundSpec.3
410 => {
let [_, _, _, _, v5, _, _, _, v9, _] = take(rhs);
let v5 = v5.into_list()?;
let v9 = v9.into_list()?;
let n = PartitionBoundSpec { strategy: PartitionStrategy::PARTITION_STRATEGY_RANGE.0 as u8, is_default: false, lowerdatums: v5, upperdatums: v9, location: at[2], ..Default::default() };
Value::partboundspec(Some(Box::new(n)))
}
// PartitionBoundSpec.4
411 => {
let n = PartitionBoundSpec { is_default: true, location: at[0], ..Default::default() };
Value::partboundspec(Some(Box::new(n)))
}
// hash_partbound_elem.1
412 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_ival()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, Some(crate::actions::makeInteger(v2)), at[0]))))
}
// hash_partbound.1
413 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// hash_partbound.2
414 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// AlterCompositeTypeStmt.1
415 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let n = AlterTableStmt { relation: Some(Box::new(crate::actions::makeRangeVarFromAnyName(v3, at[2], p)?)), cmds: v4, objtype: ObjectType::OBJECT_TYPE, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_type_cmds.1
416 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// alter_type_cmds.2
417 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// alter_type_cmd.1
418 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_dbehavior()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_AddColumn, def: v3, behavior: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_type_cmd.2
419 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_str()?;
let v6 = v6.into_dbehavior()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropColumn, name: v5, behavior: v6, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_type_cmd.3
420 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_dbehavior()?;
let n = AlterTableCmd { subtype: AlterTableType::AT_DropColumn, name: v3, behavior: v4, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// alter_type_cmd.4
421 => {
let [_, _, v3, _, _, v6, v7, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_typnam()?;
let v7 = v7.into_node()?;
let v8 = v8.into_dbehavior()?;
let mut n = AlterTableCmd::default();
let def = ColumnDef::default();
n.subtype = AlterTableType::AT_AlterColumnType;
n.name = v3;
n.def = Some(def.into());
n.behavior = v8;
crate::actions::castMut::<ColumnDef>(&mut n.def)?.typeName = v6;
crate::actions::castMut::<ColumnDef>(&mut n.def)?.collClause = crate::actions::castNode::<CollateClause>(v7)?;
crate::actions::castMut::<ColumnDef>(&mut n.def)?.raw_default = None;
crate::actions::castMut::<ColumnDef>(&mut n.def)?.location = at[2];
Value::node(Some(n.into()))
}
// ClosePortalStmt.1
422 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = ClosePortalStmt { portalname: v2 };
Value::node(Some(n.into()))
}
// ClosePortalStmt.2
423 => {
let n = ClosePortalStmt { portalname: None };
Value::node(Some(n.into()))
}
// CopyStmt.1
424 => {
let [_, v2, v3, v4, v5, v6, v7, v8, _, v10, v11] = take(rhs);
let v2 = v2.into_defelt()?;
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let v5 = v5.into_boolean()?;
let v6 = v6.into_boolean()?;
let v7 = v7.into_str()?;
let v8 = v8.into_defelt()?;
let v10 = v10.into_list()?;
let v11 = v11.into_node()?;
let mut n = CopyStmt { relation: v3, query: None, attlist: v4, is_from: v5, is_program: v6, filename: v7, whereClause: v11, ..Default::default() };
if n.is_program && n.filename.is_none() {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "STDIN/STDOUT not allowed with PROGRAM", at[7]));
}
if !n.is_from && n.whereClause.is_some() {
return Err(Error { hint: Some("Try the COPY (SELECT ... WHERE ...) TO variant."), ..p.error(ERRCODE_SYNTAX_ERROR, "WHERE clause not allowed with COPY TO", at[10]) });
}
n.options = List::new();
if v2.is_some() {
n.options = crate::actions::lappend(std::mem::take(&mut n.options), v2.map(NodeType::into_node));
}
if v8.is_some() {
n.options = crate::actions::lappend(std::mem::take(&mut n.options), v8.map(NodeType::into_node));
}
if !v10.is_empty() {
n.options = crate::actions::list_concat(std::mem::take(&mut n.options), v10);
}
Value::node(Some(n.into()))
}
// CopyStmt.2
425 => {
let [_, _, v3, _, _, v6, v7, _, v9] = take(rhs);
let v3 = v3.into_node()?;
let v6 = v6.into_boolean()?;
let v7 = v7.into_str()?;
let v9 = v9.into_list()?;
let n = CopyStmt { relation: None, query: v3, attlist: List::new(), is_from: false, is_program: v6, filename: v7, options: v9, ..Default::default() };
if n.is_program && n.filename.is_none() {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "STDIN/STDOUT not allowed with PROGRAM", at[4]));
}
Value::node(Some(n.into()))
}
// copy_from.1
426 => Value::boolean(true),
// copy_from.2
427 => Value::boolean(false),
// opt_program.1
428 => Value::boolean(true),
// opt_program.2
429 => Value::boolean(false),
// copy_file_name.1
430 => {
let [v1] = take(rhs);
v1
}
// copy_file_name.2
431 => Value::str(None),
// copy_file_name.3
432 => Value::str(None),
// copy_options.1
433 => {
let [v1] = take(rhs);
v1
}
// copy_options.2
434 => {
let [_, v2, _] = take(rhs);
v2
}
// copy_opt_list.1
435 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// copy_opt_list.2
436 => Value::list(List::new()),
// copy_opt_item.1
437 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("format".into()), Some(crate::actions::makeString(Some("binary".into()))), at[0])))),
// copy_opt_item.2
438 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("freeze".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// copy_opt_item.3
439 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("delimiter".into()), Some(crate::actions::makeString(v3)), at[0]))))
}
// copy_opt_item.4
440 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("null".into()), Some(crate::actions::makeString(v3)), at[0]))))
}
// copy_opt_item.5
441 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("format".into()), Some(crate::actions::makeString(Some("csv".into()))), at[0])))),
// copy_opt_item.6
442 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("format".into()), Some(crate::actions::makeString(Some("json".into()))), at[0])))),
// copy_opt_item.7
443 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("header".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// copy_opt_item.8
444 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("quote".into()), Some(crate::actions::makeString(v3)), at[0]))))
}
// copy_opt_item.9
445 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("escape".into()), Some(crate::actions::makeString(v3)), at[0]))))
}
// copy_opt_item.10
446 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("force_quote".into()), crate::actions::listNode(v3), at[0]))))
}
// copy_opt_item.11
447 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("force_quote".into()), Some(A_Star::default().into()), at[0])))),
// copy_opt_item.12
448 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("force_not_null".into()), crate::actions::listNode(v4), at[0]))))
}
// copy_opt_item.13
449 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("force_not_null".into()), Some(A_Star::default().into()), at[0])))),
// copy_opt_item.14
450 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("force_null".into()), crate::actions::listNode(v3), at[0]))))
}
// copy_opt_item.15
451 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("force_null".into()), Some(A_Star::default().into()), at[0])))),
// copy_opt_item.16
452 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("encoding".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// opt_binary.1
453 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("format".into()), Some(crate::actions::makeString(Some("binary".into()))), at[0])))),
// opt_binary.2
454 => Value::defelt(None),
// copy_delimiter.1
455 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("delimiter".into()), Some(crate::actions::makeString(v3)), at[1]))))
}
// copy_delimiter.2
456 => Value::defelt(None),
// opt_using.1
457 => Value::None,
// opt_using.2
458 => Value::None,
// copy_generic_opt_list.1
459 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// copy_generic_opt_list.2
460 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// copy_generic_opt_elem.1
461 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v2, at[0]))))
}
// copy_generic_opt_elem.2
462 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("format".into()), v2, at[0]))))
}
// copy_generic_opt_arg.1
463 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// copy_generic_opt_arg.2
464 => {
let [v1] = take(rhs);
v1
}
// copy_generic_opt_arg.3
465 => Value::node(Some(A_Star::default().into())),
// copy_generic_opt_arg.4
466 => Value::node(Some(crate::actions::makeString(Some("default".into())))),
// copy_generic_opt_arg.5
467 => {
let [_, v2, _] = take(rhs);
Value::node(v2.into_node()?)
}
// copy_generic_opt_arg.6
468 => Value::node(None),
// copy_generic_opt_arg_list.1
469 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// copy_generic_opt_arg_list.2
470 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// copy_generic_opt_arg_list_item.1
471 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// CreateStmt.1
472 => {
let [_, v2, _, v4, _, v6, _, v8, v9, v10, v11, v12, v13] = take(rhs);
let v2 = v2.into_ival()?;
let mut v4 = v4.into_range()?;
let v6 = v6.into_list()?;
let v8 = v8.into_list()?;
let v9 = v9.into_partspec()?;
let v10 = v10.into_str()?;
let v11 = v11.into_list()?;
let v12 = v12.into_oncommit()?;
let v13 = v13.into_str()?;
let mut n = CreateStmt::default();
crate::actions::pointee_mut(&mut v4)?.relpersistence = v2 as u8;
n.relation = v4;
n.tableElts = v6;
n.inhRelations = v8;
n.partspec = v9;
n.ofTypename = None;
n.constraints = List::new();
n.accessMethod = v10;
n.options = v11;
n.oncommit = v12;
n.tablespacename = v13;
n.if_not_exists = false;
Value::node(Some(n.into()))
}
// CreateStmt.2
473 => {
let [_, v2, _, _, _, _, v7, _, v9, _, v11, v12, v13, v14, v15, v16] = take(rhs);
let v2 = v2.into_ival()?;
let mut v7 = v7.into_range()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let v12 = v12.into_partspec()?;
let v13 = v13.into_str()?;
let v14 = v14.into_list()?;
let v15 = v15.into_oncommit()?;
let v16 = v16.into_str()?;
let mut n = CreateStmt::default();
crate::actions::pointee_mut(&mut v7)?.relpersistence = v2 as u8;
n.relation = v7;
n.tableElts = v9;
n.inhRelations = v11;
n.partspec = v12;
n.ofTypename = None;
n.constraints = List::new();
n.accessMethod = v13;
n.options = v14;
n.oncommit = v15;
n.tablespacename = v16;
n.if_not_exists = true;
Value::node(Some(n.into()))
}
// CreateStmt.3
474 => {
let [_, v2, _, v4, _, v6, v7, v8, v9, v10, v11, v12] = take(rhs);
let v2 = v2.into_ival()?;
let mut v4 = v4.into_range()?;
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let v8 = v8.into_partspec()?;
let v9 = v9.into_str()?;
let v10 = v10.into_list()?;
let v11 = v11.into_oncommit()?;
let v12 = v12.into_str()?;
let mut n = CreateStmt::default();
crate::actions::pointee_mut(&mut v4)?.relpersistence = v2 as u8;
n.relation = v4;
n.tableElts = v7;
n.inhRelations = List::new();
n.partspec = v8;
n.ofTypename = Some(Box::new(crate::actions::makeTypeNameFromNameList(v6)));
crate::actions::pointee_mut(&mut n.ofTypename)?.location = at[5];
n.constraints = List::new();
n.accessMethod = v9;
n.options = v10;
n.oncommit = v11;
n.tablespacename = v12;
n.if_not_exists = false;
Value::node(Some(n.into()))
}
// CreateStmt.4
475 => {
let [_, v2, _, _, _, _, v7, _, v9, v10, v11, v12, v13, v14, v15] = take(rhs);
let v2 = v2.into_ival()?;
let mut v7 = v7.into_range()?;
let v9 = v9.into_list()?;
let v10 = v10.into_list()?;
let v11 = v11.into_partspec()?;
let v12 = v12.into_str()?;
let v13 = v13.into_list()?;
let v14 = v14.into_oncommit()?;
let v15 = v15.into_str()?;
let mut n = CreateStmt::default();
crate::actions::pointee_mut(&mut v7)?.relpersistence = v2 as u8;
n.relation = v7;
n.tableElts = v10;
n.inhRelations = List::new();
n.partspec = v11;
n.ofTypename = Some(Box::new(crate::actions::makeTypeNameFromNameList(v9)));
crate::actions::pointee_mut(&mut n.ofTypename)?.location = at[8];
n.constraints = List::new();
n.accessMethod = v12;
n.options = v13;
n.oncommit = v14;
n.tablespacename = v15;
n.if_not_exists = true;
Value::node(Some(n.into()))
}
// CreateStmt.5
476 => {
let [_, v2, _, v4, _, _, v7, v8, v9, v10, v11, v12, v13, v14] = take(rhs);
let v2 = v2.into_ival()?;
let mut v4 = v4.into_range()?;
let v7 = v7.into_range()?;
let v8 = v8.into_list()?;
let v9 = v9.into_partboundspec()?;
let v10 = v10.into_partspec()?;
let v11 = v11.into_str()?;
let v12 = v12.into_list()?;
let v13 = v13.into_oncommit()?;
let v14 = v14.into_str()?;
let mut n = CreateStmt::default();
crate::actions::pointee_mut(&mut v4)?.relpersistence = v2 as u8;
n.relation = v4;
n.tableElts = v8;
n.inhRelations = vec![v7.map(NodeType::into_node)];
n.partbound = v9;
n.partspec = v10;
n.ofTypename = None;
n.constraints = List::new();
n.accessMethod = v11;
n.options = v12;
n.oncommit = v13;
n.tablespacename = v14;
n.if_not_exists = false;
Value::node(Some(n.into()))
}
// CreateStmt.6
477 => {
let [_, v2, _, _, _, _, v7, _, _, v10, v11, v12, v13, v14, v15, v16, v17] = take(rhs);
let v2 = v2.into_ival()?;
let mut v7 = v7.into_range()?;
let v10 = v10.into_range()?;
let v11 = v11.into_list()?;
let v12 = v12.into_partboundspec()?;
let v13 = v13.into_partspec()?;
let v14 = v14.into_str()?;
let v15 = v15.into_list()?;
let v16 = v16.into_oncommit()?;
let v17 = v17.into_str()?;
let mut n = CreateStmt::default();
crate::actions::pointee_mut(&mut v7)?.relpersistence = v2 as u8;
n.relation = v7;
n.tableElts = v11;
n.inhRelations = vec![v10.map(NodeType::into_node)];
n.partbound = v12;
n.partspec = v13;
n.ofTypename = None;
n.constraints = List::new();
n.accessMethod = v14;
n.options = v15;
n.oncommit = v16;
n.tablespacename = v17;
n.if_not_exists = true;
Value::node(Some(n.into()))
}
// OptTemp.1
478 => Value::ival(i32::from(RELPERSISTENCE_TEMP)),
// OptTemp.2
479 => Value::ival(i32::from(RELPERSISTENCE_TEMP)),
// OptTemp.3
480 => Value::ival(i32::from(RELPERSISTENCE_TEMP)),
// OptTemp.4
481 => Value::ival(i32::from(RELPERSISTENCE_TEMP)),
// OptTemp.5
482 => {
p.warning("GLOBAL is deprecated in temporary table creation", at[0]);
Value::ival(i32::from(RELPERSISTENCE_TEMP))
}
// OptTemp.6
483 => {
p.warning("GLOBAL is deprecated in temporary table creation", at[0]);
Value::ival(i32::from(RELPERSISTENCE_TEMP))
}
// OptTemp.7
484 => Value::ival(i32::from(RELPERSISTENCE_UNLOGGED)),
// OptTemp.8
485 => Value::ival(i32::from(RELPERSISTENCE_PERMANENT)),
// OptTableElementList.1
486 => {
let [v1] = take(rhs);
v1
}
// OptTableElementList.2
487 => Value::list(List::new()),
// OptTypedTableElementList.1
488 => {
let [_, v2, _] = take(rhs);
v2
}
// OptTypedTableElementList.2
489 => Value::list(List::new()),
// TableElementList.1
490 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// TableElementList.2
491 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// TypedTableElementList.1
492 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// TypedTableElementList.2
493 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// TableElement.1
494 => {
let [v1] = take(rhs);
v1
}
// TableElement.2
495 => {
let [v1] = take(rhs);
v1
}
// TableElement.3
496 => {
let [v1] = take(rhs);
v1
}
// TypedTableElement.1
497 => {
let [v1] = take(rhs);
v1
}
// TypedTableElement.2
498 => {
let [v1] = take(rhs);
v1
}
// columnDef.1
499 => {
let [v1, v2, v3, v4, v5, v6] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let v3 = v3.into_str()?;
let v4 = v4.into_str()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let mut n = ColumnDef { colname: v1, typeName: v2, storage_name: v3, compression: v4, inhcount: 0, is_local: true, is_not_null: false, is_from_type: false, storage: 0, raw_default: None, cooked_default: None, collOid: InvalidOid, fdwoptions: v5, ..Default::default() };
crate::actions::SplitColQualList(v6, &mut n.constraints, &mut n.collClause, p)?;
n.location = at[0];
Value::node(Some(n.into()))
}
// columnOptions.1
500 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let mut n = ColumnDef { colname: v1, typeName: None, inhcount: 0, is_local: true, is_not_null: false, is_from_type: false, storage: 0, raw_default: None, cooked_default: None, collOid: InvalidOid, ..Default::default() };
crate::actions::SplitColQualList(v2, &mut n.constraints, &mut n.collClause, p)?;
n.location = at[0];
Value::node(Some(n.into()))
}
// columnOptions.2
501 => {
let [v1, _, _, v4] = take(rhs);
let v1 = v1.into_str()?;
let v4 = v4.into_list()?;
let mut n = ColumnDef { colname: v1, typeName: None, inhcount: 0, is_local: true, is_not_null: false, is_from_type: false, storage: 0, raw_default: None, cooked_default: None, collOid: InvalidOid, ..Default::default() };
crate::actions::SplitColQualList(v4, &mut n.constraints, &mut n.collClause, p)?;
n.location = at[0];
Value::node(Some(n.into()))
}
// column_compression.1
502 => {
let [_, v2] = take(rhs);
v2
}
// column_compression.2
503 => Value::str(Some("default".into())),
// opt_column_compression.1
504 => {
let [v1] = take(rhs);
v1
}
// opt_column_compression.2
505 => Value::str(None),
// column_storage.1
506 => {
let [_, v2] = take(rhs);
v2
}
// column_storage.2
507 => Value::str(Some("default".into())),
// opt_column_storage.1
508 => {
let [v1] = take(rhs);
v1
}
// opt_column_storage.2
509 => Value::str(None),
// ColQualList.1
510 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// ColQualList.2
511 => Value::list(List::new()),
// ColConstraint.1
512 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_node()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<Constraint>(v3)?)?;
n.conname = v2;
n.location = at[0];
Value::node(Some(n.into_node()))
}
// ColConstraint.2
513 => {
let [v1] = take(rhs);
v1
}
// ColConstraint.3
514 => {
let [v1] = take(rhs);
v1
}
// ColConstraint.4
515 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = CollateClause { arg: None, collname: v2, location: at[0] };
Value::node(Some(n.into()))
}
// ColConstraintElem.1
516 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_boolean()?;
let n = Constraint { contype: ConstrType::CONSTR_NOTNULL, location: at[0], is_no_inherit: v3, is_enforced: true, skip_validation: false, initially_valid: true, ..Default::default() };
Value::node(Some(n.into()))
}
// ColConstraintElem.2
517 => {
let n = Constraint { contype: ConstrType::CONSTR_NULL, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// ColConstraintElem.3
518 => {
let [_, v2, v3, v4] = take(rhs);
let v2 = v2.into_boolean()?;
let v3 = v3.into_list()?;
let v4 = v4.into_str()?;
let n = Constraint { contype: ConstrType::CONSTR_UNIQUE, location: at[0], nulls_not_distinct: !v2, keys: List::new(), options: v3, indexname: None, indexspace: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// ColConstraintElem.4
519 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_str()?;
let n = Constraint { contype: ConstrType::CONSTR_PRIMARY, location: at[0], keys: List::new(), options: v3, indexname: None, indexspace: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// ColConstraintElem.5
520 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_boolean()?;
let n = Constraint { contype: ConstrType::CONSTR_CHECK, location: at[0], is_no_inherit: v5, raw_expr: v3, cooked_expr: None, is_enforced: true, skip_validation: false, initially_valid: true, ..Default::default() };
Value::node(Some(n.into()))
}
// ColConstraintElem.6
521 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = Constraint { contype: ConstrType::CONSTR_DEFAULT, location: at[0], raw_expr: v2, cooked_expr: None, ..Default::default() };
Value::node(Some(n.into()))
}
// ColConstraintElem.7
522 => {
let [_, v2, _, _, v5] = take(rhs);
let v2 = v2.into_ival()?;
let v5 = v5.into_list()?;
let n = Constraint { contype: ConstrType::CONSTR_IDENTITY, generated_when: v2 as u8, options: v5, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// ColConstraintElem.8
523 => {
let [_, v2, _, _, v5, _, v7] = take(rhs);
let v2 = v2.into_ival()?;
let v5 = v5.into_node()?;
let v7 = v7.into_ival()?;
let n = Constraint { contype: ConstrType::CONSTR_GENERATED, generated_when: v2 as u8, raw_expr: v5, cooked_expr: None, generated_kind: v7 as u8, location: at[0], ..Default::default() };
if v2 != i32::from(ATTRIBUTE_IDENTITY_ALWAYS) {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "for a generated column, GENERATED ALWAYS must be specified", at[1]));
}
Value::node(Some(n.into()))
}
// ColConstraintElem.9
524 => {
let [_, v2, v3, v4, v5] = take(rhs);
let v2 = v2.into_range()?;
let v3 = v3.into_list()?;
let v4 = v4.into_ival()?;
let mut v5 = v5.into_keyactions()?;
let n = Constraint { contype: ConstrType::CONSTR_FOREIGN, location: at[0], pktable: v2, fk_attrs: List::new(), pk_attrs: v3, fk_matchtype: v4 as u8, fk_upd_action: crate::actions::pointee(&crate::actions::pointee(&v5)?.updateAction)?.action, fk_del_action: crate::actions::pointee(&crate::actions::pointee(&v5)?.deleteAction)?.action, fk_del_set_cols: std::mem::take(&mut crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut v5)?.deleteAction)?.cols), is_enforced: true, skip_validation: false, initially_valid: true, ..Default::default() };
Value::node(Some(n.into()))
}
// opt_unique_null_treatment.1
525 => Value::boolean(true),
// opt_unique_null_treatment.2
526 => Value::boolean(false),
// opt_unique_null_treatment.3
527 => Value::boolean(true),
// generated_when.1
528 => Value::ival(i32::from(ATTRIBUTE_IDENTITY_ALWAYS)),
// generated_when.2
529 => Value::ival(i32::from(ATTRIBUTE_IDENTITY_BY_DEFAULT)),
// opt_virtual_or_stored.1
530 => Value::ival(i32::from(ATTRIBUTE_GENERATED_STORED)),
// opt_virtual_or_stored.2
531 => Value::ival(i32::from(ATTRIBUTE_GENERATED_VIRTUAL)),
// opt_virtual_or_stored.3
532 => Value::ival(i32::from(ATTRIBUTE_GENERATED_VIRTUAL)),
// ConstraintAttr.1
533 => {
let n = Constraint { contype: ConstrType::CONSTR_ATTR_DEFERRABLE, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// ConstraintAttr.2
534 => {
let n = Constraint { contype: ConstrType::CONSTR_ATTR_NOT_DEFERRABLE, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// ConstraintAttr.3
535 => {
let n = Constraint { contype: ConstrType::CONSTR_ATTR_DEFERRED, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// ConstraintAttr.4
536 => {
let n = Constraint { contype: ConstrType::CONSTR_ATTR_IMMEDIATE, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// ConstraintAttr.5
537 => {
let n = Constraint { contype: ConstrType::CONSTR_ATTR_ENFORCED, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// ConstraintAttr.6
538 => {
let n = Constraint { contype: ConstrType::CONSTR_ATTR_NOT_ENFORCED, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// TableLikeClause.1
539 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_range()?;
let v3 = v3.into_ival()?;
let n = TableLikeClause { relation: v2, options: v3 as u32, relationOid: InvalidOid };
Value::node(Some(n.into()))
}
// TableLikeOptionList.1
540 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_ival()?;
let v3 = v3.into_ival()?;
Value::ival(v1 | v3)
}
// TableLikeOptionList.2
541 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_ival()?;
let v3 = v3.into_ival()?;
Value::ival(v1 & !v3)
}
// TableLikeOptionList.3
542 => Value::ival(0),
// TableLikeOption.1
543 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_COMMENTS.0),
// TableLikeOption.2
544 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_COMPRESSION.0),
// TableLikeOption.3
545 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_CONSTRAINTS.0),
// TableLikeOption.4
546 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_DEFAULTS.0),
// TableLikeOption.5
547 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_IDENTITY.0),
// TableLikeOption.6
548 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_GENERATED.0),
// TableLikeOption.7
549 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_INDEXES.0),
// TableLikeOption.8
550 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_STATISTICS.0),
// TableLikeOption.9
551 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_STORAGE.0),
// TableLikeOption.10
552 => Value::ival(TableLikeOption::CREATE_TABLE_LIKE_ALL.0),
// TableConstraint.1
553 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_node()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<Constraint>(v3)?)?;
n.conname = v2;
n.location = at[0];
Value::node(Some(n.into_node()))
}
// TableConstraint.2
554 => {
let [v1] = take(rhs);
v1
}
// ConstraintElem.1
555 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_CHECK, location: at[0], raw_expr: v3, cooked_expr: None, ..Default::default() };
crate::actions::processCASbits(v5, at[4], "CHECK", None, None, Some(&mut n.is_enforced), Some(&mut n.skip_validation), Some(&mut n.is_no_inherit), p)?;
n.initially_valid = !n.skip_validation;
Value::node(Some(n.into()))
}
// ConstraintElem.2
556 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_NOTNULL, location: at[0], keys: vec![Some(crate::actions::makeString(v3))], ..Default::default() };
crate::actions::processCASbits(v4, at[3], "NOT NULL", None, None, None, Some(&mut n.skip_validation), Some(&mut n.is_no_inherit), p)?;
n.initially_valid = !n.skip_validation;
Value::node(Some(n.into()))
}
// ConstraintElem.3
557 => {
let [_, v2, _, v4, v5, _, v7, v8, v9, v10] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v5 = v5.into_boolean()?;
let v7 = v7.into_list()?;
let v8 = v8.into_list()?;
let v9 = v9.into_str()?;
let v10 = v10.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_UNIQUE, location: at[0], nulls_not_distinct: !v2, keys: v4, without_overlaps: v5, including: v7, options: v8, indexname: None, indexspace: v9, ..Default::default() };
crate::actions::processCASbits(v10, at[9], "UNIQUE", Some(&mut n.deferrable), Some(&mut n.initdeferred), None, None, None, p)?;
Value::node(Some(n.into()))
}
// ConstraintElem.4
558 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_UNIQUE, location: at[0], keys: List::new(), including: List::new(), options: List::new(), indexname: v2, indexspace: None, ..Default::default() };
crate::actions::processCASbits(v3, at[2], "UNIQUE", Some(&mut n.deferrable), Some(&mut n.initdeferred), None, None, None, p)?;
Value::node(Some(n.into()))
}
// ConstraintElem.5
559 => {
let [_, _, _, v4, v5, _, v7, v8, v9, v10] = take(rhs);
let v4 = v4.into_list()?;
let v5 = v5.into_boolean()?;
let v7 = v7.into_list()?;
let v8 = v8.into_list()?;
let v9 = v9.into_str()?;
let v10 = v10.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_PRIMARY, location: at[0], keys: v4, without_overlaps: v5, including: v7, options: v8, indexname: None, indexspace: v9, ..Default::default() };
crate::actions::processCASbits(v10, at[9], "PRIMARY KEY", Some(&mut n.deferrable), Some(&mut n.initdeferred), None, None, None, p)?;
Value::node(Some(n.into()))
}
// ConstraintElem.6
560 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_PRIMARY, location: at[0], keys: List::new(), including: List::new(), options: List::new(), indexname: v3, indexspace: None, ..Default::default() };
crate::actions::processCASbits(v4, at[3], "PRIMARY KEY", Some(&mut n.deferrable), Some(&mut n.initdeferred), None, None, None, p)?;
Value::node(Some(n.into()))
}
// ConstraintElem.7
561 => {
let [_, v2, _, v4, _, v6, v7, v8, v9, v10] = take(rhs);
let v2 = v2.into_str()?;
let v4 = v4.into_list()?;
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let v8 = v8.into_str()?;
let v9 = v9.into_node()?;
let v10 = v10.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_EXCLUSION, location: at[0], access_method: v2, exclusions: v4, including: v6, options: v7, indexname: None, indexspace: v8, where_clause: v9, ..Default::default() };
crate::actions::processCASbits(v10, at[9], "EXCLUDE", Some(&mut n.deferrable), Some(&mut n.initdeferred), None, None, None, p)?;
Value::node(Some(n.into()))
}
// ConstraintElem.8
562 => {
let [_, _, _, v4, v5, _, _, v8, v9, v10, v11, v12] = take(rhs);
let v4 = v4.into_list()?;
let v5 = v5.into_node()?;
let v8 = v8.into_range()?;
let v9 = v9.into_list()?;
let v10 = v10.into_ival()?;
let mut v11 = v11.into_keyactions()?;
let v12 = v12.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_FOREIGN, location: at[0], pktable: v8, fk_attrs: v4, ..Default::default() };
if v5.is_some() {
n.fk_attrs = crate::actions::lappend(std::mem::take(&mut n.fk_attrs), v5);
n.fk_with_period = true;
}
n.pk_attrs = crate::actions::castList(crate::actions::linitial(&v9).cloned())?;
if crate::actions::lsecond(&v9).is_some() {
n.pk_attrs = crate::actions::lappend(std::mem::take(&mut n.pk_attrs), crate::actions::lsecond(&v9).cloned());
n.pk_with_period = true;
}
n.fk_matchtype = v10 as u8;
n.fk_upd_action = crate::actions::pointee(&crate::actions::pointee(&v11)?.updateAction)?.action;
n.fk_del_action = crate::actions::pointee(&crate::actions::pointee(&v11)?.deleteAction)?.action;
n.fk_del_set_cols = std::mem::take(&mut crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut v11)?.deleteAction)?.cols);
crate::actions::processCASbits(v12, at[11], "FOREIGN KEY", Some(&mut n.deferrable), Some(&mut n.initdeferred), Some(&mut n.is_enforced), Some(&mut n.skip_validation), None, p)?;
n.initially_valid = !n.skip_validation;
Value::node(Some(n.into()))
}
// DomainConstraint.1
563 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_node()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<Constraint>(v3)?)?;
n.conname = v2;
n.location = at[0];
Value::node(Some(n.into_node()))
}
// DomainConstraint.2
564 => {
let [v1] = take(rhs);
v1
}
// DomainConstraintElem.1
565 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_CHECK, location: at[0], raw_expr: v3, cooked_expr: None, ..Default::default() };
crate::actions::processCASbits(v5, at[4], "CHECK", None, None, None, Some(&mut n.skip_validation), Some(&mut n.is_no_inherit), p)?;
n.is_enforced = true;
n.initially_valid = !n.skip_validation;
Value::node(Some(n.into()))
}
// DomainConstraintElem.2
566 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_ival()?;
let mut n = Constraint { contype: ConstrType::CONSTR_NOTNULL, location: at[0], keys: vec![Some(crate::actions::makeString(Some("value".into())))], ..Default::default() };
crate::actions::processCASbits(v3, at[2], "NOT NULL", None, None, None, None, None, p)?;
n.initially_valid = true;
Value::node(Some(n.into()))
}
// opt_no_inherit.1
567 => Value::boolean(true),
// opt_no_inherit.2
568 => Value::boolean(false),
// opt_without_overlaps.1
569 => Value::boolean(true),
// opt_without_overlaps.2
570 => Value::boolean(false),
// opt_column_list.1
571 => {
let [_, v2, _] = take(rhs);
v2
}
// opt_column_list.2
572 => Value::list(List::new()),
// columnList.1
573 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// columnList.2
574 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// optionalPeriodName.1
575 => {
let [_, _, v3] = take(rhs);
v3
}
// optionalPeriodName.2
576 => Value::node(None),
// opt_column_and_period_list.1
577 => {
let [_, v2, v3, _] = take(rhs);
Value::list(vec![v2.into_node()?, v3.into_node()?])
}
// opt_column_and_period_list.2
578 => Value::list(vec![None, None]),
// columnElem.1
579 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// opt_c_include.1
580 => {
let [_, _, v3, _] = take(rhs);
v3
}
// opt_c_include.2
581 => Value::list(List::new()),
// key_match.1
582 => Value::ival(i32::from(FKCONSTR_MATCH_FULL)),
// key_match.2
583 => return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "MATCH PARTIAL not yet implemented", at[0])),
// key_match.3
584 => Value::ival(i32::from(FKCONSTR_MATCH_SIMPLE)),
// key_match.4
585 => Value::ival(i32::from(FKCONSTR_MATCH_SIMPLE)),
// ExclusionConstraintList.1
586 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// ExclusionConstraintList.2
587 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// ExclusionConstraintElem.1
588 => {
let [v1, _, v3] = take(rhs);
Value::list(vec![v1.into_node()?, v3.into_node()?])
}
// ExclusionConstraintElem.2
589 => {
let [v1, _, _, _, v5, _] = take(rhs);
Value::list(vec![v1.into_node()?, v5.into_node()?])
}
// OptWhereClause.1
590 => {
let [_, _, v3, _] = take(rhs);
v3
}
// OptWhereClause.2
591 => Value::node(None),
// key_actions.1
592 => {
let [v1] = take(rhs);
let v1 = v1.into_keyaction()?;
let mut n = KeyActions { updateAction: v1, deleteAction: Some(Box::new(KeyAction::default())) };
crate::actions::pointee_mut(&mut n.deleteAction)?.action = FKCONSTR_ACTION_NOACTION;
crate::actions::pointee_mut(&mut n.deleteAction)?.cols = List::new();
Value::keyactions(Some(Box::new(n)))
}
// key_actions.2
593 => {
let [v1] = take(rhs);
let v1 = v1.into_keyaction()?;
let mut n = KeyActions { updateAction: Some(Box::new(KeyAction::default())), ..Default::default() };
crate::actions::pointee_mut(&mut n.updateAction)?.action = FKCONSTR_ACTION_NOACTION;
crate::actions::pointee_mut(&mut n.updateAction)?.cols = List::new();
n.deleteAction = v1;
Value::keyactions(Some(Box::new(n)))
}
// key_actions.3
594 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_keyaction()?;
let v2 = v2.into_keyaction()?;
let n = KeyActions { updateAction: v1, deleteAction: v2 };
Value::keyactions(Some(Box::new(n)))
}
// key_actions.4
595 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_keyaction()?;
let v2 = v2.into_keyaction()?;
let n = KeyActions { updateAction: v2, deleteAction: v1 };
Value::keyactions(Some(Box::new(n)))
}
// key_actions.5
596 => {
let mut n = KeyActions { updateAction: Some(Box::new(KeyAction::default())), ..Default::default() };
crate::actions::pointee_mut(&mut n.updateAction)?.action = FKCONSTR_ACTION_NOACTION;
crate::actions::pointee_mut(&mut n.updateAction)?.cols = List::new();
n.deleteAction = Some(Box::new(KeyAction::default()));
crate::actions::pointee_mut(&mut n.deleteAction)?.action = FKCONSTR_ACTION_NOACTION;
crate::actions::pointee_mut(&mut n.deleteAction)?.cols = List::new();
Value::keyactions(Some(Box::new(n)))
}
// key_update.1
597 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_keyaction()?;
if !crate::actions::pointee(&v3)?.cols.is_empty() {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, &format!("a column list with {} is only supported for ON DELETE actions", if crate::actions::pointee(&v3)?.action == FKCONSTR_ACTION_SETNULL { "SET NULL" } else { "SET DEFAULT" }), at[0]));
}
Value::keyaction(v3)
}
// key_delete.1
598 => {
let [_, _, v3] = take(rhs);
v3
}
// key_action.1
599 => {
let n = KeyAction { action: FKCONSTR_ACTION_NOACTION, cols: List::new() };
Value::keyaction(Some(Box::new(n)))
}
// key_action.2
600 => {
let n = KeyAction { action: FKCONSTR_ACTION_RESTRICT, cols: List::new() };
Value::keyaction(Some(Box::new(n)))
}
// key_action.3
601 => {
let n = KeyAction { action: FKCONSTR_ACTION_CASCADE, cols: List::new() };
Value::keyaction(Some(Box::new(n)))
}
// key_action.4
602 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = KeyAction { action: FKCONSTR_ACTION_SETNULL, cols: v3 };
Value::keyaction(Some(Box::new(n)))
}
// key_action.5
603 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = KeyAction { action: FKCONSTR_ACTION_SETDEFAULT, cols: v3 };
Value::keyaction(Some(Box::new(n)))
}
// OptInherit.1
604 => {
let [_, _, v3, _] = take(rhs);
v3
}
// OptInherit.2
605 => Value::list(List::new()),
// OptPartitionSpec.1
606 => {
let [v1] = take(rhs);
v1
}
// OptPartitionSpec.2
607 => Value::partspec(None),
// PartitionSpec.1
608 => {
let [_, _, v3, _, v5, _] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = PartitionSpec { strategy: crate::actions::parsePartitionStrategy(v3, at[2], p)?, partParams: v5, location: at[0] };
Value::partspec(Some(Box::new(n)))
}
// part_params.1
609 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// part_params.2
610 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// part_elem.1
611 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let n = PartitionElem { name: v1, expr: None, collation: v2, opclass: v3, location: at[0] };
Value::partelem(Some(Box::new(n)))
}
// part_elem.2
612 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let n = PartitionElem { name: None, expr: v1, collation: v2, opclass: v3, location: at[0] };
Value::partelem(Some(Box::new(n)))
}
// part_elem.3
613 => {
let [_, v2, _, v4, v5] = take(rhs);
let v2 = v2.into_node()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let n = PartitionElem { name: None, expr: v2, collation: v4, opclass: v5, location: at[0] };
Value::partelem(Some(Box::new(n)))
}
// table_access_method_clause.1
614 => {
let [_, v2] = take(rhs);
v2
}
// table_access_method_clause.2
615 => Value::str(None),
// OptWith.1
616 => {
let [_, v2] = take(rhs);
v2
}
// OptWith.2
617 => Value::list(List::new()),
// OptWith.3
618 => Value::list(List::new()),
// OnCommitOption.1
619 => Value::oncommit(OnCommitAction::ONCOMMIT_DROP),
// OnCommitOption.2
620 => Value::oncommit(OnCommitAction::ONCOMMIT_DELETE_ROWS),
// OnCommitOption.3
621 => Value::oncommit(OnCommitAction::ONCOMMIT_PRESERVE_ROWS),
// OnCommitOption.4
622 => Value::oncommit(OnCommitAction::ONCOMMIT_NOOP),
// OptTableSpace.1
623 => {
let [_, v2] = take(rhs);
v2
}
// OptTableSpace.2
624 => Value::str(None),
// OptConsTableSpace.1
625 => {
let [_, _, _, v4] = take(rhs);
v4
}
// OptConsTableSpace.2
626 => Value::str(None),
// ExistingIndex.1
627 => {
let [_, _, v3] = take(rhs);
v3
}
// CreateStatsStmt.1
628 => {
let [_, _, v3, v4, _, v6, _, v8] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let v6 = v6.into_list()?;
let v8 = v8.into_list()?;
let n = CreateStatsStmt { defnames: v3, stat_types: v4, exprs: v6, relations: v8, stxcomment: None, if_not_exists: false, ..Default::default() };
Value::node(Some(n.into()))
}
// CreateStatsStmt.2
629 => {
let [_, _, _, _, _, v6, v7, _, v9, _, v11] = take(rhs);
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let n = CreateStatsStmt { defnames: v6, stat_types: v7, exprs: v9, relations: v11, stxcomment: None, if_not_exists: true, ..Default::default() };
Value::node(Some(n.into()))
}
// stats_params.1
630 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// stats_params.2
631 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// stats_param.1
632 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
let mut result: Option<Box<StatsElem>>;
result = Some(Box::new(StatsElem::default()));
crate::actions::pointee_mut(&mut result)?.name = v1;
crate::actions::pointee_mut(&mut result)?.expr = None;
Value::selem(result)
}
// stats_param.2
633 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
let mut result: Option<Box<StatsElem>>;
result = Some(Box::new(StatsElem::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.expr = v1;
Value::selem(result)
}
// stats_param.3
634 => {
let [_, v2, _] = take(rhs);
let v2 = v2.into_node()?;
let mut result: Option<Box<StatsElem>>;
result = Some(Box::new(StatsElem::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.expr = v2;
Value::selem(result)
}
// AlterStatsStmt.1
635 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_node()?;
let n = AlterStatsStmt { defnames: v3, missing_ok: false, stxstattarget: v6 };
Value::node(Some(n.into()))
}
// AlterStatsStmt.2
636 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_node()?;
let n = AlterStatsStmt { defnames: v5, missing_ok: true, stxstattarget: v8 };
Value::node(Some(n.into()))
}
// CreateAsStmt.1
637 => {
let [_, v2, _, v4, _, v6, v7] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_into()?;
let v6 = v6.into_node()?;
let v7 = v7.into_boolean()?;
let mut ctas = CreateTableAsStmt { query: v6, into: v4, objtype: ObjectType::OBJECT_TABLE, is_select_into: false, if_not_exists: false };
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut ctas.into)?.rel)?.relpersistence = v2 as u8;
crate::actions::pointee_mut(&mut ctas.into)?.skipData = !v7;
Value::node(Some(ctas.into()))
}
// CreateAsStmt.2
638 => {
let [_, v2, _, _, _, _, v7, _, v9, v10] = take(rhs);
let v2 = v2.into_ival()?;
let v7 = v7.into_into()?;
let v9 = v9.into_node()?;
let v10 = v10.into_boolean()?;
let mut ctas = CreateTableAsStmt { query: v9, into: v7, objtype: ObjectType::OBJECT_TABLE, is_select_into: false, if_not_exists: true };
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut ctas.into)?.rel)?.relpersistence = v2 as u8;
crate::actions::pointee_mut(&mut ctas.into)?.skipData = !v10;
Value::node(Some(ctas.into()))
}
// create_as_target.1
639 => {
let [v1, v2, v3, v4, v5, v6] = take(rhs);
let v1 = v1.into_range()?;
let v2 = v2.into_list()?;
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let v5 = v5.into_oncommit()?;
let v6 = v6.into_str()?;
let mut result: Option<Box<IntoClause>>;
result = Some(Box::new(IntoClause::default()));
crate::actions::pointee_mut(&mut result)?.rel = v1;
crate::actions::pointee_mut(&mut result)?.colNames = v2;
crate::actions::pointee_mut(&mut result)?.accessMethod = v3;
crate::actions::pointee_mut(&mut result)?.options = v4;
crate::actions::pointee_mut(&mut result)?.onCommit = v5;
crate::actions::pointee_mut(&mut result)?.tableSpaceName = v6;
crate::actions::pointee_mut(&mut result)?.viewQuery = None;
crate::actions::pointee_mut(&mut result)?.skipData = false;
Value::into(result)
}
// opt_with_data.1
640 => Value::boolean(true),
// opt_with_data.2
641 => Value::boolean(false),
// opt_with_data.3
642 => Value::boolean(true),
// CreateMatViewStmt.1
643 => {
let [_, v2, _, _, v5, _, v7, v8] = take(rhs);
let v2 = v2.into_ival()?;
let v5 = v5.into_into()?;
let v7 = v7.into_node()?;
let v8 = v8.into_boolean()?;
let mut ctas = CreateTableAsStmt { query: v7, into: v5, objtype: ObjectType::OBJECT_MATVIEW, is_select_into: false, if_not_exists: false };
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut ctas.into)?.rel)?.relpersistence = v2 as u8;
crate::actions::pointee_mut(&mut ctas.into)?.skipData = !v8;
Value::node(Some(ctas.into()))
}
// CreateMatViewStmt.2
644 => {
let [_, v2, _, _, _, _, _, v8, _, v10, v11] = take(rhs);
let v2 = v2.into_ival()?;
let v8 = v8.into_into()?;
let v10 = v10.into_node()?;
let v11 = v11.into_boolean()?;
let mut ctas = CreateTableAsStmt { query: v10, into: v8, objtype: ObjectType::OBJECT_MATVIEW, is_select_into: false, if_not_exists: true };
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut ctas.into)?.rel)?.relpersistence = v2 as u8;
crate::actions::pointee_mut(&mut ctas.into)?.skipData = !v11;
Value::node(Some(ctas.into()))
}
// create_mv_target.1
645 => {
let [v1, v2, v3, v4, v5] = take(rhs);
let v1 = v1.into_range()?;
let v2 = v2.into_list()?;
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let v5 = v5.into_str()?;
let mut result: Option<Box<IntoClause>>;
result = Some(Box::new(IntoClause::default()));
crate::actions::pointee_mut(&mut result)?.rel = v1;
crate::actions::pointee_mut(&mut result)?.colNames = v2;
crate::actions::pointee_mut(&mut result)?.accessMethod = v3;
crate::actions::pointee_mut(&mut result)?.options = v4;
crate::actions::pointee_mut(&mut result)?.onCommit = OnCommitAction::ONCOMMIT_NOOP;
crate::actions::pointee_mut(&mut result)?.tableSpaceName = v5;
crate::actions::pointee_mut(&mut result)?.viewQuery = None;
crate::actions::pointee_mut(&mut result)?.skipData = false;
Value::into(result)
}
// OptNoLog.1
646 => Value::ival(i32::from(RELPERSISTENCE_UNLOGGED)),
// OptNoLog.2
647 => Value::ival(i32::from(RELPERSISTENCE_PERMANENT)),
// RefreshMatViewStmt.1
648 => {
let [_, _, _, v4, v5, v6] = take(rhs);
let v4 = v4.into_boolean()?;
let v5 = v5.into_range()?;
let v6 = v6.into_boolean()?;
let n = RefreshMatViewStmt { concurrent: v4, relation: v5, skipData: !v6 };
Value::node(Some(n.into()))
}
// CreateSeqStmt.1
649 => {
let [_, v2, _, v4, v5] = take(rhs);
let v2 = v2.into_ival()?;
let mut v4 = v4.into_range()?;
let v5 = v5.into_list()?;
let mut n = CreateSeqStmt::default();
crate::actions::pointee_mut(&mut v4)?.relpersistence = v2 as u8;
n.sequence = v4;
n.options = v5;
n.ownerId = InvalidOid;
n.if_not_exists = false;
Value::node(Some(n.into()))
}
// CreateSeqStmt.2
650 => {
let [_, v2, _, _, _, _, v7, v8] = take(rhs);
let v2 = v2.into_ival()?;
let mut v7 = v7.into_range()?;
let v8 = v8.into_list()?;
let mut n = CreateSeqStmt::default();
crate::actions::pointee_mut(&mut v7)?.relpersistence = v2 as u8;
n.sequence = v7;
n.options = v8;
n.ownerId = InvalidOid;
n.if_not_exists = true;
Value::node(Some(n.into()))
}
// AlterSeqStmt.1
651 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let n = AlterSeqStmt { sequence: v3, options: v4, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSeqStmt.2
652 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_range()?;
let v6 = v6.into_list()?;
let n = AlterSeqStmt { sequence: v5, options: v6, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// OptSeqOptList.1
653 => {
let [v1] = take(rhs);
v1
}
// OptSeqOptList.2
654 => Value::list(List::new()),
// OptParenthesizedSeqOptList.1
655 => {
let [_, v2, _] = take(rhs);
v2
}
// OptParenthesizedSeqOptList.2
656 => Value::list(List::new()),
// SeqOptList.1
657 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// SeqOptList.2
658 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// SeqOptElem.1
659 => {
let [_, v2] = take(rhs);
let v2 = v2.into_typnam()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("as".into()), v2.map(NodeType::into_node), at[0]))))
}
// SeqOptElem.2
660 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("cache".into()), v2, at[0]))))
}
// SeqOptElem.3
661 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("cycle".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// SeqOptElem.4
662 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("cycle".into()), Some(crate::actions::makeBoolean(false)), at[0])))),
// SeqOptElem.5
663 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("increment".into()), v3, at[0]))))
}
// SeqOptElem.6
664 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("logged".into()), None, at[0])))),
// SeqOptElem.7
665 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("maxvalue".into()), v2, at[0]))))
}
// SeqOptElem.8
666 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("minvalue".into()), v2, at[0]))))
}
// SeqOptElem.9
667 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("maxvalue".into()), None, at[0])))),
// SeqOptElem.10
668 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("minvalue".into()), None, at[0])))),
// SeqOptElem.11
669 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("owned_by".into()), crate::actions::listNode(v3), at[0]))))
}
// SeqOptElem.12
670 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("sequence_name".into()), crate::actions::listNode(v3), at[0]))))
}
// SeqOptElem.13
671 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("start".into()), v3, at[0]))))
}
// SeqOptElem.14
672 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("restart".into()), None, at[0])))),
// SeqOptElem.15
673 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("restart".into()), v3, at[0]))))
}
// SeqOptElem.16
674 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("unlogged".into()), None, at[0])))),
// opt_by.1
675 => Value::None,
// opt_by.2
676 => Value::None,
// NumericOnly.1
677 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeFloat(v1)))
}
// NumericOnly.2
678 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::node(Some(crate::actions::makeFloat(v2)))
}
// NumericOnly.3
679 => {
let [_, v2] = take(rhs);
Value::node(rules::NumericOnly::NumericOnly_3(p, v2.into_str()?)?)
}
// NumericOnly.4
680 => {
let [v1] = take(rhs);
let v1 = v1.into_ival()?;
Value::node(Some(crate::actions::makeInteger(v1)))
}
// NumericOnly_list.1
681 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// NumericOnly_list.2
682 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// CreatePLangStmt.1
683 => {
let [_, v2, _, _, _, v6] = take(rhs);
let v2 = v2.into_boolean()?;
let v6 = v6.into_str()?;
let n = CreateExtensionStmt { if_not_exists: v2, extname: v6, options: List::new() };
Value::node(Some(n.into()))
}
// CreatePLangStmt.2
684 => {
let [_, v2, v3, _, _, v6, _, v8, v9, v10] = take(rhs);
let v2 = v2.into_boolean()?;
let v3 = v3.into_boolean()?;
let v6 = v6.into_str()?;
let v8 = v8.into_list()?;
let v9 = v9.into_list()?;
let v10 = v10.into_list()?;
let n = CreatePLangStmt { replace: v2, plname: v6, plhandler: v8, plinline: v9, plvalidator: v10, pltrusted: v3 };
Value::node(Some(n.into()))
}
// opt_trusted.1
685 => Value::boolean(true),
// opt_trusted.2
686 => Value::boolean(false),
// handler_name.1
687 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// handler_name.2
688 => {
let [v1, v2] = take(rhs);
let mut list = v2.into_list()?;
list.insert(0, Some(crate::actions::makeString(v1.into_str()?)));
Value::list(list)
}
// opt_inline_handler.1
689 => {
let [_, v2] = take(rhs);
v2
}
// opt_inline_handler.2
690 => Value::list(List::new()),
// validator_clause.1
691 => {
let [_, v2] = take(rhs);
v2
}
// validator_clause.2
692 => Value::list(List::new()),
// opt_validator.1
693 => {
let [v1] = take(rhs);
v1
}
// opt_validator.2
694 => Value::list(List::new()),
// opt_procedural.1
695 => Value::None,
// opt_procedural.2
696 => Value::None,
// CreateTableSpaceStmt.1
697 => {
let [_, _, v3, v4, _, v6, v7] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_rolespec()?;
let v6 = v6.into_str()?;
let v7 = v7.into_list()?;
let n = CreateTableSpaceStmt { tablespacename: v3, owner: v4, location: v6, options: v7 };
Value::node(Some(n.into()))
}
// OptTableSpaceOwner.1
698 => {
let [_, v2] = take(rhs);
v2
}
// OptTableSpaceOwner.2
699 => Value::rolespec(None),
// DropTableSpaceStmt.1
700 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = DropTableSpaceStmt { tablespacename: v3, missing_ok: false };
Value::node(Some(n.into()))
}
// DropTableSpaceStmt.2
701 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_str()?;
let n = DropTableSpaceStmt { tablespacename: v5, missing_ok: true };
Value::node(Some(n.into()))
}
// CreateExtensionStmt.1
702 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = CreateExtensionStmt { extname: v3, if_not_exists: false, options: v5 };
Value::node(Some(n.into()))
}
// CreateExtensionStmt.2
703 => {
let [_, _, _, _, _, v6, _, v8] = take(rhs);
let v6 = v6.into_str()?;
let v8 = v8.into_list()?;
let n = CreateExtensionStmt { extname: v6, if_not_exists: true, options: v8 };
Value::node(Some(n.into()))
}
// create_extension_opt_list.1
704 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// create_extension_opt_list.2
705 => Value::list(List::new()),
// create_extension_opt_item.1
706 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("schema".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// create_extension_opt_item.2
707 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("new_version".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// create_extension_opt_item.3
708 => return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "CREATE EXTENSION ... FROM is no longer supported", at[0])),
// create_extension_opt_item.4
709 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("cascade".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// AlterExtensionStmt.1
710 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterExtensionStmt { extname: v3, options: v5 };
Value::node(Some(n.into()))
}
// alter_extension_opt_list.1
711 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// alter_extension_opt_list.2
712 => Value::list(List::new()),
// alter_extension_opt_item.1
713 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("new_version".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// AlterExtensionContentsStmt.1
714 => {
let [_, _, v3, v4, v5, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v5 = v5.into_objtype()?;
let v6 = v6.into_str()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: v5, object: Some(crate::actions::makeString(v6)) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.2
715 => {
let [_, _, v3, v4, v5, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v5 = v5.into_objtype()?;
let v6 = v6.into_list()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: v5, object: crate::actions::listNode(v6) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.3
716 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_objwithargs()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_AGGREGATE, object: v6.map(NodeType::into_node) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.4
717 => {
let [_, _, v3, v4, _, _, v7, _, v9, _] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v7 = v7.into_typnam()?;
let v9 = v9.into_typnam()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_CAST, object: crate::actions::listNode(vec![v7.map(NodeType::into_node), v9.map(NodeType::into_node)]) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.5
718 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_typnam()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_DOMAIN, object: v6.map(NodeType::into_node) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.6
719 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_objwithargs()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_FUNCTION, object: v6.map(NodeType::into_node) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.7
720 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_objwithargs()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_OPERATOR, object: v6.map(NodeType::into_node) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.8
721 => {
let [_, _, v3, v4, _, _, v7, _, v9] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v7 = v7.into_list()?;
let v9 = v9.into_str()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_OPCLASS, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v9)), v7)) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.9
722 => {
let [_, _, v3, v4, _, _, v7, _, v9] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v7 = v7.into_list()?;
let v9 = v9.into_str()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_OPFAMILY, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v9)), v7)) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.10
723 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_objwithargs()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_PROCEDURE, object: v6.map(NodeType::into_node) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.11
724 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_objwithargs()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_ROUTINE, object: v6.map(NodeType::into_node) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.12
725 => {
let [_, _, v3, v4, _, _, v7, _, v9] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v7 = v7.into_typnam()?;
let v9 = v9.into_str()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_TRANSFORM, object: crate::actions::listNode(vec![v7.map(NodeType::into_node), Some(crate::actions::makeString(v9))]) };
Value::node(Some(n.into()))
}
// AlterExtensionContentsStmt.13
726 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_typnam()?;
let n = AlterExtensionContentsStmt { extname: v3, action: v4, objtype: ObjectType::OBJECT_TYPE, object: v6.map(NodeType::into_node) };
Value::node(Some(n.into()))
}
// CreateFdwStmt.1
727 => {
let [_, _, _, _, v5, v6, v7] = take(rhs);
let v5 = v5.into_str()?;
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let n = CreateFdwStmt { fdwname: v5, func_options: v6, options: v7 };
Value::node(Some(n.into()))
}
// fdw_option.1
728 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("handler".into()), crate::actions::listNode(v2), at[0]))))
}
// fdw_option.2
729 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("handler".into()), None, at[0])))),
// fdw_option.3
730 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("validator".into()), crate::actions::listNode(v2), at[0]))))
}
// fdw_option.4
731 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("validator".into()), None, at[0])))),
// fdw_option.5
732 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("connection".into()), crate::actions::listNode(v2), at[0]))))
}
// fdw_option.6
733 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("connection".into()), None, at[0])))),
// fdw_options.1
734 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// fdw_options.2
735 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// opt_fdw_options.1
736 => {
let [v1] = take(rhs);
v1
}
// opt_fdw_options.2
737 => Value::list(List::new()),
// AlterFdwStmt.1
738 => {
let [_, _, _, _, v5, v6, v7] = take(rhs);
let v5 = v5.into_str()?;
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let n = AlterFdwStmt { fdwname: v5, func_options: v6, options: v7 };
Value::node(Some(n.into()))
}
// AlterFdwStmt.2
739 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_str()?;
let v6 = v6.into_list()?;
let n = AlterFdwStmt { fdwname: v5, func_options: v6, options: List::new() };
Value::node(Some(n.into()))
}
// create_generic_options.1
740 => {
let [_, _, v3, _] = take(rhs);
v3
}
// create_generic_options.2
741 => Value::list(List::new()),
// generic_option_list.1
742 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// generic_option_list.2
743 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// alter_generic_options.1
744 => {
let [_, _, v3, _] = take(rhs);
v3
}
// alter_generic_option_list.1
745 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// alter_generic_option_list.2
746 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// alter_generic_option_elem.1
747 => {
let [v1] = take(rhs);
v1
}
// alter_generic_option_elem.2
748 => {
let [_, v2] = take(rhs);
let v2 = v2.into_defelt()?;
let mut result: Option<Box<DefElem>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.defaction = DefElemAction::DEFELEM_SET;
Value::defelt(result)
}
// alter_generic_option_elem.3
749 => {
let [_, v2] = take(rhs);
let v2 = v2.into_defelt()?;
let mut result: Option<Box<DefElem>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.defaction = DefElemAction::DEFELEM_ADD;
Value::defelt(result)
}
// alter_generic_option_elem.4
750 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElemExtended(None, v2, None, DefElemAction::DEFELEM_DROP, at[1]))))
}
// generic_option_elem.1
751 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v2, at[0]))))
}
// generic_option_name.1
752 => {
let [v1] = take(rhs);
v1
}
// generic_option_arg.1
753 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// CreateForeignServerStmt.1
754 => {
let [_, _, v3, v4, v5, _, _, _, v9, v10] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_str()?;
let v5 = v5.into_str()?;
let v9 = v9.into_str()?;
let v10 = v10.into_list()?;
let n = CreateForeignServerStmt { servername: v3, servertype: v4, version: v5, fdwname: v9, options: v10, if_not_exists: false };
Value::node(Some(n.into()))
}
// CreateForeignServerStmt.2
755 => {
let [_, _, _, _, _, v6, v7, v8, _, _, _, v12, v13] = take(rhs);
let v6 = v6.into_str()?;
let v7 = v7.into_str()?;
let v8 = v8.into_str()?;
let v12 = v12.into_str()?;
let v13 = v13.into_list()?;
let n = CreateForeignServerStmt { servername: v6, servertype: v7, version: v8, fdwname: v12, options: v13, if_not_exists: true };
Value::node(Some(n.into()))
}
// opt_type.1
756 => {
let [_, v2] = take(rhs);
v2
}
// opt_type.2
757 => Value::str(None),
// foreign_server_version.1
758 => {
let [_, v2] = take(rhs);
v2
}
// foreign_server_version.2
759 => Value::str(None),
// opt_foreign_server_version.1
760 => {
let [v1] = take(rhs);
v1
}
// opt_foreign_server_version.2
761 => Value::str(None),
// AlterForeignServerStmt.1
762 => {
let [_, _, v3, v4, v5] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_str()?;
let v5 = v5.into_list()?;
let n = AlterForeignServerStmt { servername: v3, version: v4, options: v5, has_version: true };
Value::node(Some(n.into()))
}
// AlterForeignServerStmt.2
763 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_str()?;
let n = AlterForeignServerStmt { servername: v3, version: v4, has_version: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterForeignServerStmt.3
764 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let n = AlterForeignServerStmt { servername: v3, options: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// CreateForeignTableStmt.1
765 => {
let [_, _, _, v4, _, v6, _, v8, _, v10, v11] = take(rhs);
let mut v4 = v4.into_range()?;
let v6 = v6.into_list()?;
let v8 = v8.into_list()?;
let v10 = v10.into_str()?;
let v11 = v11.into_list()?;
let mut n = CreateForeignTableStmt::default();
crate::actions::pointee_mut(&mut v4)?.relpersistence = RELPERSISTENCE_PERMANENT;
n.base.relation = v4;
n.base.tableElts = v6;
n.base.inhRelations = v8;
n.base.ofTypename = None;
n.base.constraints = List::new();
n.base.options = List::new();
n.base.oncommit = OnCommitAction::ONCOMMIT_NOOP;
n.base.tablespacename = None;
n.base.if_not_exists = false;
n.servername = v10;
n.options = v11;
Value::node(Some(n.into()))
}
// CreateForeignTableStmt.2
766 => {
let [_, _, _, _, _, _, v7, _, v9, _, v11, _, v13, v14] = take(rhs);
let mut v7 = v7.into_range()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let v13 = v13.into_str()?;
let v14 = v14.into_list()?;
let mut n = CreateForeignTableStmt::default();
crate::actions::pointee_mut(&mut v7)?.relpersistence = RELPERSISTENCE_PERMANENT;
n.base.relation = v7;
n.base.tableElts = v9;
n.base.inhRelations = v11;
n.base.ofTypename = None;
n.base.constraints = List::new();
n.base.options = List::new();
n.base.oncommit = OnCommitAction::ONCOMMIT_NOOP;
n.base.tablespacename = None;
n.base.if_not_exists = true;
n.servername = v13;
n.options = v14;
Value::node(Some(n.into()))
}
// CreateForeignTableStmt.3
767 => {
let [_, _, _, v4, _, _, v7, v8, v9, _, v11, v12] = take(rhs);
let mut v4 = v4.into_range()?;
let v7 = v7.into_range()?;
let v8 = v8.into_list()?;
let v9 = v9.into_partboundspec()?;
let v11 = v11.into_str()?;
let v12 = v12.into_list()?;
let mut n = CreateForeignTableStmt::default();
crate::actions::pointee_mut(&mut v4)?.relpersistence = RELPERSISTENCE_PERMANENT;
n.base.relation = v4;
n.base.inhRelations = vec![v7.map(NodeType::into_node)];
n.base.tableElts = v8;
n.base.partbound = v9;
n.base.ofTypename = None;
n.base.constraints = List::new();
n.base.options = List::new();
n.base.oncommit = OnCommitAction::ONCOMMIT_NOOP;
n.base.tablespacename = None;
n.base.if_not_exists = false;
n.servername = v11;
n.options = v12;
Value::node(Some(n.into()))
}
// CreateForeignTableStmt.4
768 => {
let [_, _, _, _, _, _, v7, _, _, v10, v11, v12, _, v14, v15] = take(rhs);
let mut v7 = v7.into_range()?;
let v10 = v10.into_range()?;
let v11 = v11.into_list()?;
let v12 = v12.into_partboundspec()?;
let v14 = v14.into_str()?;
let v15 = v15.into_list()?;
let mut n = CreateForeignTableStmt::default();
crate::actions::pointee_mut(&mut v7)?.relpersistence = RELPERSISTENCE_PERMANENT;
n.base.relation = v7;
n.base.inhRelations = vec![v10.map(NodeType::into_node)];
n.base.tableElts = v11;
n.base.partbound = v12;
n.base.ofTypename = None;
n.base.constraints = List::new();
n.base.options = List::new();
n.base.oncommit = OnCommitAction::ONCOMMIT_NOOP;
n.base.tablespacename = None;
n.base.if_not_exists = true;
n.servername = v14;
n.options = v15;
Value::node(Some(n.into()))
}
// ImportForeignSchemaStmt.1
769 => {
let [_, _, _, v4, v5, _, _, v8, _, v10, v11] = take(rhs);
let v4 = v4.into_str()?;
let mut v5 = v5.into_importqual()?;
let v8 = v8.into_str()?;
let v10 = v10.into_str()?;
let v11 = v11.into_list()?;
let n = ImportForeignSchemaStmt { server_name: v8, remote_schema: v4, local_schema: v10, list_type: crate::actions::pointee(&v5)?.r#type, table_list: std::mem::take(&mut crate::actions::pointee_mut(&mut v5)?.table_names), options: v11 };
Value::node(Some(n.into()))
}
// import_qualification_type.1
770 => Value::ival(ImportForeignSchemaType::FDW_IMPORT_SCHEMA_LIMIT_TO.0),
// import_qualification_type.2
771 => Value::ival(ImportForeignSchemaType::FDW_IMPORT_SCHEMA_EXCEPT.0),
// import_qualification.1
772 => {
let [v1, _, v3, _] = take(rhs);
let v1 = v1.into_ival()?;
let v3 = v3.into_list()?;
let n = ImportQual { r#type: ImportForeignSchemaType(v1), table_names: v3 };
Value::importqual(Some(Box::new(n)))
}
// import_qualification.2
773 => {
let n = ImportQual { r#type: ImportForeignSchemaType::FDW_IMPORT_SCHEMA_ALL, table_names: List::new() };
Value::importqual(Some(Box::new(n)))
}
// CreateUserMappingStmt.1
774 => {
let [_, _, _, _, v5, _, v7, v8] = take(rhs);
let v5 = v5.into_rolespec()?;
let v7 = v7.into_str()?;
let v8 = v8.into_list()?;
let n = CreateUserMappingStmt { user: v5, servername: v7, options: v8, if_not_exists: false };
Value::node(Some(n.into()))
}
// CreateUserMappingStmt.2
775 => {
let [_, _, _, _, _, _, _, v8, _, v10, v11] = take(rhs);
let v8 = v8.into_rolespec()?;
let v10 = v10.into_str()?;
let v11 = v11.into_list()?;
let n = CreateUserMappingStmt { user: v8, servername: v10, options: v11, if_not_exists: true };
Value::node(Some(n.into()))
}
// auth_ident.1
776 => {
let [v1] = take(rhs);
v1
}
// auth_ident.2
777 => Value::rolespec(Some(Box::new(crate::actions::makeRoleSpec(RoleSpecType::ROLESPEC_CURRENT_USER, at[0])))),
// DropUserMappingStmt.1
778 => {
let [_, _, _, _, v5, _, v7] = take(rhs);
let v5 = v5.into_rolespec()?;
let v7 = v7.into_str()?;
let n = DropUserMappingStmt { user: v5, servername: v7, missing_ok: false };
Value::node(Some(n.into()))
}
// DropUserMappingStmt.2
779 => {
let [_, _, _, _, _, _, v7, _, v9] = take(rhs);
let v7 = v7.into_rolespec()?;
let v9 = v9.into_str()?;
let n = DropUserMappingStmt { user: v7, servername: v9, missing_ok: true };
Value::node(Some(n.into()))
}
// AlterUserMappingStmt.1
780 => {
let [_, _, _, _, v5, _, v7, v8] = take(rhs);
let v5 = v5.into_rolespec()?;
let v7 = v7.into_str()?;
let v8 = v8.into_list()?;
let n = AlterUserMappingStmt { user: v5, servername: v7, options: v8 };
Value::node(Some(n.into()))
}
// CreatePolicyStmt.1
781 => {
let [_, _, v3, _, v5, v6, v7, v8, v9, v10] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_range()?;
let v6 = v6.into_boolean()?;
let v7 = v7.into_str()?;
let v8 = v8.into_list()?;
let v9 = v9.into_node()?;
let v10 = v10.into_node()?;
let n = CreatePolicyStmt { policy_name: v3, table: v5, permissive: v6, cmd_name: v7, roles: v8, qual: v9, with_check: v10 };
Value::node(Some(n.into()))
}
// AlterPolicyStmt.1
782 => {
let [_, _, v3, _, v5, v6, v7, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_range()?;
let v6 = v6.into_list()?;
let v7 = v7.into_node()?;
let v8 = v8.into_node()?;
let n = AlterPolicyStmt { policy_name: v3, table: v5, roles: v6, qual: v7, with_check: v8 };
Value::node(Some(n.into()))
}
// RowSecurityOptionalExpr.1
783 => {
let [_, _, v3, _] = take(rhs);
v3
}
// RowSecurityOptionalExpr.2
784 => Value::node(None),
// RowSecurityOptionalWithCheck.1
785 => {
let [_, _, _, v4, _] = take(rhs);
v4
}
// RowSecurityOptionalWithCheck.2
786 => Value::node(None),
// RowSecurityDefaultToRole.1
787 => {
let [_, v2] = take(rhs);
v2
}
// RowSecurityDefaultToRole.2
788 => Value::list(vec![Some(crate::actions::makeRoleSpec(RoleSpecType::ROLESPEC_PUBLIC, -1).into())]),
// RowSecurityOptionalToRole.1
789 => {
let [_, v2] = take(rhs);
v2
}
// RowSecurityOptionalToRole.2
790 => Value::list(List::new()),
// RowSecurityDefaultPermissive.1
791 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::boolean(if v2.as_deref() == Some("permissive") {
true
} else if v2.as_deref() == Some("restrictive") {
false
} else {
return Err(Error { hint: Some("Only PERMISSIVE or RESTRICTIVE policies are supported currently."), ..p.error(ERRCODE_SYNTAX_ERROR, &format!("unrecognized row security option \"{}\"", v2.as_deref().unwrap_or_default()), at[1]) });
})
}
// RowSecurityDefaultPermissive.2
792 => Value::boolean(true),
// RowSecurityDefaultForCmd.1
793 => {
let [_, v2] = take(rhs);
v2
}
// RowSecurityDefaultForCmd.2
794 => Value::str(Some("all".into())),
// row_security_cmd.1
795 => Value::str(Some("all".into())),
// row_security_cmd.2
796 => Value::str(Some("select".into())),
// row_security_cmd.3
797 => Value::str(Some("insert".into())),
// row_security_cmd.4
798 => Value::str(Some("update".into())),
// row_security_cmd.5
799 => Value::str(Some("delete".into())),
// CreateAmStmt.1
800 => {
let [_, _, _, v4, _, v6, _, v8] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_chr()?;
let v8 = v8.into_list()?;
let n = CreateAmStmt { amname: v4, handler_name: v8, amtype: v6 };
Value::node(Some(n.into()))
}
// am_type.1
801 => Value::chr(AMTYPE_INDEX),
// am_type.2
802 => Value::chr(AMTYPE_TABLE),
// CreateTrigStmt.1
803 => {
let [_, v2, _, v4, v5, v6, _, v8, v9, v10, v11, _, _, v14, _, v16, _] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_str()?;
let v5 = v5.into_ival()?;
let v6 = v6.into_list()?;
let v8 = v8.into_range()?;
let v9 = v9.into_list()?;
let v10 = v10.into_boolean()?;
let v11 = v11.into_node()?;
let v14 = v14.into_list()?;
let v16 = v16.into_list()?;
let n = CreateTrigStmt { replace: v2, isconstraint: false, trigname: v4, relation: v8, funcname: v14, args: v16, row: v10, timing: v5 as i16, events: crate::actions::intVal(crate::actions::linitial(&v6))? as i16, columns: crate::actions::castList(crate::actions::lsecond(&v6).cloned())?, whenClause: v11, transitionRels: v9, deferrable: false, initdeferred: false, constrrel: None };
Value::node(Some(n.into()))
}
// CreateTrigStmt.2
804 => {
let [_, v2, _, _, v5, _, v7, _, v9, v10, v11, _, _, _, v15, _, _, v18, _, v20, _] = take(rhs);
let v2 = v2.into_boolean()?;
let v5 = v5.into_str()?;
let v7 = v7.into_list()?;
let v9 = v9.into_range()?;
let v10 = v10.into_range()?;
let v11 = v11.into_ival()?;
let v15 = v15.into_node()?;
let v18 = v18.into_list()?;
let v20 = v20.into_list()?;
let mut n = CreateTrigStmt::default();
let mut dummy = false;
if v11 & CAS_NOT_VALID != 0 {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, &format!("constraint triggers cannot be marked {}", "NOT VALID"), at[10]));
}
if v11 & CAS_NO_INHERIT != 0 {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, &format!("constraint triggers cannot be marked {}", "NO INHERIT"), at[10]));
}
if v11 & CAS_NOT_ENFORCED != 0 {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, &format!("constraint triggers cannot be marked {}", "NOT ENFORCED"), at[10]));
}
n.replace = v2;
if n.replace {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported", at[0]));
}
n.isconstraint = true;
n.trigname = v5;
n.relation = v9;
n.funcname = v18;
n.args = v20;
n.row = true;
n.timing = TRIGGER_TYPE_AFTER as i16;
n.events = crate::actions::intVal(crate::actions::linitial(&v7))? as i16;
n.columns = crate::actions::castList(crate::actions::lsecond(&v7).cloned())?;
n.whenClause = v15;
n.transitionRels = List::new();
crate::actions::processCASbits(v11, at[10], "TRIGGER", Some(&mut n.deferrable), Some(&mut n.initdeferred), Some(&mut dummy), None, None, p)?;
n.constrrel = v10;
Value::node(Some(n.into()))
}
// TriggerActionTime.1
805 => Value::ival(TRIGGER_TYPE_BEFORE),
// TriggerActionTime.2
806 => Value::ival(TRIGGER_TYPE_AFTER),
// TriggerActionTime.3
807 => Value::ival(TRIGGER_TYPE_INSTEAD),
// TriggerEvents.1
808 => {
let [v1] = take(rhs);
v1
}
// TriggerEvents.2
809 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_list()?;
let events1 = crate::actions::intVal(crate::actions::linitial(&v1))?;
let events2 = crate::actions::intVal(crate::actions::linitial(&v3))?;
let columns1 = crate::actions::castList(crate::actions::lsecond(&v1).cloned())?;
let columns2 = crate::actions::castList(crate::actions::lsecond(&v3).cloned())?;
if events1 & events2 != 0 {
return Err(p.yyerror("duplicate trigger events specified"));
}
Value::list(vec![Some(crate::actions::makeInteger(events1 | events2)), crate::actions::listNode(crate::actions::list_concat(columns1, columns2))])
}
// TriggerOneEvent.1
810 => Value::list(vec![Some(crate::actions::makeInteger(TRIGGER_TYPE_INSERT)), None]),
// TriggerOneEvent.2
811 => Value::list(vec![Some(crate::actions::makeInteger(TRIGGER_TYPE_DELETE)), None]),
// TriggerOneEvent.3
812 => Value::list(vec![Some(crate::actions::makeInteger(TRIGGER_TYPE_UPDATE)), None]),
// TriggerOneEvent.4
813 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::list(vec![Some(crate::actions::makeInteger(TRIGGER_TYPE_UPDATE)), crate::actions::listNode(v3)])
}
// TriggerOneEvent.5
814 => Value::list(vec![Some(crate::actions::makeInteger(TRIGGER_TYPE_TRUNCATE)), None]),
// TriggerReferencing.1
815 => {
let [_, v2] = take(rhs);
v2
}
// TriggerReferencing.2
816 => Value::list(List::new()),
// TriggerTransitions.1
817 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// TriggerTransitions.2
818 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// TriggerTransition.1
819 => {
let [v1, v2, _, v4] = take(rhs);
let v1 = v1.into_boolean()?;
let v2 = v2.into_boolean()?;
let v4 = v4.into_str()?;
let n = TriggerTransition { name: v4, isNew: v1, isTable: v2 };
Value::node(Some(n.into()))
}
// TransitionOldOrNew.1
820 => Value::boolean(true),
// TransitionOldOrNew.2
821 => Value::boolean(false),
// TransitionRowOrTable.1
822 => Value::boolean(true),
// TransitionRowOrTable.2
823 => Value::boolean(false),
// TransitionRelName.1
824 => {
let [v1] = take(rhs);
v1
}
// TriggerForSpec.1
825 => {
let [_, _, v3] = take(rhs);
v3
}
// TriggerForSpec.2
826 => Value::boolean(false),
// TriggerForOptEach.1
827 => Value::None,
// TriggerForOptEach.2
828 => Value::None,
// TriggerForType.1
829 => Value::boolean(true),
// TriggerForType.2
830 => Value::boolean(false),
// TriggerWhen.1
831 => {
let [_, _, v3, _] = take(rhs);
v3
}
// TriggerWhen.2
832 => Value::node(None),
// FUNCTION_or_PROCEDURE.1
833 => Value::None,
// FUNCTION_or_PROCEDURE.2
834 => Value::None,
// TriggerFuncArgs.1
835 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// TriggerFuncArgs.2
836 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// TriggerFuncArgs.3
837 => Value::list(List::new()),
// TriggerFuncArg.1
838 => {
let [v1] = take(rhs);
let v1 = v1.into_ival()?;
Value::node(Some(crate::actions::makeString(Some(format!("{}", v1).into()))))
}
// TriggerFuncArg.2
839 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// TriggerFuncArg.3
840 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// TriggerFuncArg.4
841 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// OptConstrFromTable.1
842 => {
let [_, v2] = take(rhs);
v2
}
// OptConstrFromTable.2
843 => Value::range(None),
// ConstraintAttributeSpec.1
844 => Value::ival(0),
// ConstraintAttributeSpec.2
845 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_ival()?;
let v2 = v2.into_ival()?;
let newspec = v1 | v2;
if newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED) == CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "constraint declared INITIALLY DEFERRED must be DEFERRABLE", at[1]));
}
if newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) == CAS_NOT_DEFERRABLE | CAS_DEFERRABLE || newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED) == CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED || newspec & (CAS_NOT_ENFORCED | CAS_ENFORCED) == CAS_NOT_ENFORCED | CAS_ENFORCED {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "conflicting constraint properties", at[1]));
}
Value::ival(newspec)
}
// ConstraintAttributeElem.1
846 => Value::ival(CAS_NOT_DEFERRABLE),
// ConstraintAttributeElem.2
847 => Value::ival(CAS_DEFERRABLE),
// ConstraintAttributeElem.3
848 => Value::ival(CAS_INITIALLY_IMMEDIATE),
// ConstraintAttributeElem.4
849 => Value::ival(CAS_INITIALLY_DEFERRED),
// ConstraintAttributeElem.5
850 => Value::ival(CAS_NOT_VALID),
// ConstraintAttributeElem.6
851 => Value::ival(CAS_NO_INHERIT),
// ConstraintAttributeElem.7
852 => Value::ival(CAS_NOT_ENFORCED),
// ConstraintAttributeElem.8
853 => Value::ival(CAS_ENFORCED),
// CreateEventTrigStmt.1
854 => {
let [_, _, _, v4, _, v6, _, _, v9, _, _] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_str()?;
let v9 = v9.into_list()?;
let n = CreateEventTrigStmt { trigname: v4, eventname: v6, whenclause: List::new(), funcname: v9 };
Value::node(Some(n.into()))
}
// CreateEventTrigStmt.2
855 => {
let [_, _, _, v4, _, v6, _, v8, _, _, v11, _, _] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_str()?;
let v8 = v8.into_list()?;
let v11 = v11.into_list()?;
let n = CreateEventTrigStmt { trigname: v4, eventname: v6, whenclause: v8, funcname: v11 };
Value::node(Some(n.into()))
}
// event_trigger_when_list.1
856 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// event_trigger_when_list.2
857 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// event_trigger_when_item.1
858 => {
let [v1, _, _, v4, _] = take(rhs);
let v1 = v1.into_str()?;
let v4 = v4.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, crate::actions::listNode(v4), at[0]))))
}
// event_trigger_value_list.1
859 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// event_trigger_value_list.2
860 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(Some(crate::actions::makeString(v3.into_str()?)));
Value::list(list)
}
// AlterEventTrigStmt.1
861 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_str()?;
let v5 = v5.into_chr()?;
let n = AlterEventTrigStmt { trigname: v4, tgenabled: v5 };
Value::node(Some(n.into()))
}
// enable_trigger.1
862 => Value::chr(TRIGGER_FIRES_ON_ORIGIN),
// enable_trigger.2
863 => Value::chr(TRIGGER_FIRES_ON_REPLICA),
// enable_trigger.3
864 => Value::chr(TRIGGER_FIRES_ALWAYS),
// enable_trigger.4
865 => Value::chr(TRIGGER_DISABLED),
// CreateAssertionStmt.1
866 => return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "CREATE ASSERTION is not yet implemented", at[0])),
// DefineStmt.1
867 => {
let [_, v2, _, v4, v5, v6] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_AGGREGATE, oldstyle: false, replace: v2, defnames: v4, args: v5, definition: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.2
868 => {
let [_, v2, _, v4, v5] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_AGGREGATE, oldstyle: true, replace: v2, defnames: v4, args: List::new(), definition: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.3
869 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_OPERATOR, oldstyle: false, defnames: v3, args: List::new(), definition: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.4
870 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_TYPE, oldstyle: false, defnames: v3, args: List::new(), definition: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.5
871 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_TYPE, oldstyle: false, defnames: v3, args: List::new(), definition: List::new(), ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.6
872 => {
let [_, _, v3, _, _, v6, _] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_list()?;
let n = CompositeTypeStmt { typevar: Some(Box::new(crate::actions::makeRangeVarFromAnyName(v3, at[2], p)?)), coldeflist: v6 };
Value::node(Some(n.into()))
}
// DefineStmt.7
873 => {
let [_, _, v3, _, _, _, v7, _] = take(rhs);
let v3 = v3.into_list()?;
let v7 = v7.into_list()?;
let n = CreateEnumStmt { typeName: v3, vals: v7 };
Value::node(Some(n.into()))
}
// DefineStmt.8
874 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_list()?;
let n = CreateRangeStmt { typeName: v3, params: v6 };
Value::node(Some(n.into()))
}
// DefineStmt.9
875 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_TSPARSER, args: List::new(), defnames: v5, definition: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.10
876 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_TSDICTIONARY, args: List::new(), defnames: v5, definition: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.11
877 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_TSTEMPLATE, args: List::new(), defnames: v5, definition: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.12
878 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_TSCONFIGURATION, args: List::new(), defnames: v5, definition: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.13
879 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_COLLATION, args: List::new(), defnames: v3, definition: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.14
880 => {
let [_, _, _, _, _, v6, v7] = take(rhs);
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_COLLATION, args: List::new(), defnames: v6, definition: v7, if_not_exists: true, ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.15
881 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_COLLATION, args: List::new(), defnames: v3, definition: vec![Some(crate::actions::makeDefElem(Some("from".into()), crate::actions::listNode(v5), at[4]).into())], ..Default::default() };
Value::node(Some(n.into()))
}
// DefineStmt.16
882 => {
let [_, _, _, _, _, v6, _, v8] = take(rhs);
let v6 = v6.into_list()?;
let v8 = v8.into_list()?;
let n = DefineStmt { kind: ObjectType::OBJECT_COLLATION, args: List::new(), defnames: v6, definition: vec![Some(crate::actions::makeDefElem(Some("from".into()), crate::actions::listNode(v8), at[7]).into())], if_not_exists: true, ..Default::default() };
Value::node(Some(n.into()))
}
// definition.1
883 => {
let [_, v2, _] = take(rhs);
v2
}
// def_list.1
884 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// def_list.2
885 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// def_elem.1
886 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v3, at[0]))))
}
// def_elem.2
887 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, None, at[0]))))
}
// def_arg.1
888 => {
let [v1] = take(rhs);
Value::node(v1.into_node()?)
}
// def_arg.2
889 => {
let [v1] = take(rhs);
let v1 = v1.into_keyword()?;
Value::node(Some(crate::actions::makeString(Some(v1.into()))))
}
// def_arg.3
890 => {
let [v1] = take(rhs);
Value::node(v1.into_node()?)
}
// def_arg.4
891 => {
let [v1] = take(rhs);
v1
}
// def_arg.5
892 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// def_arg.6
893 => {
let [v1] = take(rhs);
let v1 = v1.into_keyword()?;
Value::node(Some(crate::actions::makeString(Some(v1.into()))))
}
// old_aggr_definition.1
894 => {
let [_, v2, _] = take(rhs);
v2
}
// old_aggr_list.1
895 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// old_aggr_list.2
896 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// old_aggr_elem.1
897 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v3, at[0]))))
}
// opt_enum_val_list.1
898 => {
let [v1] = take(rhs);
v1
}
// opt_enum_val_list.2
899 => Value::list(List::new()),
// enum_val_list.1
900 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// enum_val_list.2
901 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(Some(crate::actions::makeString(v3.into_str()?)));
Value::list(list)
}
// AlterEnumStmt.1
902 => {
let [_, _, v3, _, _, v6, v7] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_boolean()?;
let v7 = v7.into_str()?;
let n = AlterEnumStmt { typeName: v3, oldVal: None, newVal: v7, newValNeighbor: None, newValIsAfter: true, skipIfNewValExists: v6 };
Value::node(Some(n.into()))
}
// AlterEnumStmt.2
903 => {
let [_, _, v3, _, _, v6, v7, _, v9] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_boolean()?;
let v7 = v7.into_str()?;
let v9 = v9.into_str()?;
let n = AlterEnumStmt { typeName: v3, oldVal: None, newVal: v7, newValNeighbor: v9, newValIsAfter: false, skipIfNewValExists: v6 };
Value::node(Some(n.into()))
}
// AlterEnumStmt.3
904 => {
let [_, _, v3, _, _, v6, v7, _, v9] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_boolean()?;
let v7 = v7.into_str()?;
let v9 = v9.into_str()?;
let n = AlterEnumStmt { typeName: v3, oldVal: None, newVal: v7, newValNeighbor: v9, newValIsAfter: true, skipIfNewValExists: v6 };
Value::node(Some(n.into()))
}
// AlterEnumStmt.4
905 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let n = AlterEnumStmt { typeName: v3, oldVal: v6, newVal: v8, newValNeighbor: None, newValIsAfter: false, skipIfNewValExists: false };
Value::node(Some(n.into()))
}
// AlterEnumStmt.5
906 => return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "dropping an enum value is not implemented", at[3])),
// opt_if_not_exists.1
907 => Value::boolean(true),
// opt_if_not_exists.2
908 => Value::boolean(false),
// CreateOpClassStmt.1
909 => {
let [_, _, _, v4, v5, _, _, v8, _, v10, v11, _, v13] = take(rhs);
let v4 = v4.into_list()?;
let v5 = v5.into_boolean()?;
let v8 = v8.into_typnam()?;
let v10 = v10.into_str()?;
let v11 = v11.into_list()?;
let v13 = v13.into_list()?;
let n = CreateOpClassStmt { opclassname: v4, isDefault: v5, datatype: v8, amname: v10, opfamilyname: v11, items: v13 };
Value::node(Some(n.into()))
}
// opclass_item_list.1
910 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// opclass_item_list.2
911 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// opclass_item.1
912 => {
let [_, v2, v3, v4] = take(rhs);
let v2 = v2.into_ival()?;
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let mut n = CreateOpClassItem::default();
let owa = ObjectWithArgs { objname: v3, objargs: List::new(), ..Default::default() };
n.itemtype = OPCLASS_ITEM_OPERATOR;
n.name = Some(Box::new(owa));
n.number = v2;
n.order_family = v4;
Value::node(Some(n.into()))
}
// opclass_item.2
913 => {
let [_, v2, v3, v4] = take(rhs);
let v2 = v2.into_ival()?;
let v3 = v3.into_objwithargs()?;
let v4 = v4.into_list()?;
let n = CreateOpClassItem { itemtype: OPCLASS_ITEM_OPERATOR, name: v3, number: v2, order_family: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// opclass_item.3
914 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_ival()?;
let v3 = v3.into_objwithargs()?;
let n = CreateOpClassItem { itemtype: OPCLASS_ITEM_FUNCTION, name: v3, number: v2, ..Default::default() };
Value::node(Some(n.into()))
}
// opclass_item.4
915 => {
let [_, v2, _, v4, _, v6] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_list()?;
let v6 = v6.into_objwithargs()?;
let n = CreateOpClassItem { itemtype: OPCLASS_ITEM_FUNCTION, name: v6, number: v2, class_args: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// opclass_item.5
916 => {
let [_, v2] = take(rhs);
let v2 = v2.into_typnam()?;
let n = CreateOpClassItem { itemtype: OPCLASS_ITEM_STORAGETYPE, storedtype: v2, ..Default::default() };
Value::node(Some(n.into()))
}
// opt_default.1
917 => Value::boolean(true),
// opt_default.2
918 => Value::boolean(false),
// opt_opfamily.1
919 => {
let [_, v2] = take(rhs);
v2
}
// opt_opfamily.2
920 => Value::list(List::new()),
// opclass_purpose.1
921 => Value::list(List::new()),
// opclass_purpose.2
922 => {
let [_, _, _, v4] = take(rhs);
v4
}
// opclass_purpose.3
923 => Value::list(List::new()),
// CreateOpFamilyStmt.1
924 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let n = CreateOpFamilyStmt { opfamilyname: v4, amname: v6 };
Value::node(Some(n.into()))
}
// AlterOpFamilyStmt.1
925 => {
let [_, _, _, v4, _, v6, _, v8] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v8 = v8.into_list()?;
let n = AlterOpFamilyStmt { opfamilyname: v4, amname: v6, isDrop: false, items: v8 };
Value::node(Some(n.into()))
}
// AlterOpFamilyStmt.2
926 => {
let [_, _, _, v4, _, v6, _, v8] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v8 = v8.into_list()?;
let n = AlterOpFamilyStmt { opfamilyname: v4, amname: v6, isDrop: true, items: v8 };
Value::node(Some(n.into()))
}
// opclass_drop_list.1
927 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// opclass_drop_list.2
928 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// opclass_drop.1
929 => {
let [_, v2, _, v4, _] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_list()?;
let n = CreateOpClassItem { itemtype: OPCLASS_ITEM_OPERATOR, number: v2, class_args: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// opclass_drop.2
930 => {
let [_, v2, _, v4, _] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_list()?;
let n = CreateOpClassItem { itemtype: OPCLASS_ITEM_FUNCTION, number: v2, class_args: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// DropOpClassStmt.1
931 => {
let [_, _, _, v4, _, v6, v7] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v7 = v7.into_dbehavior()?;
let n = DropStmt { objects: vec![crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4))], removeType: ObjectType::OBJECT_OPCLASS, behavior: v7, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// DropOpClassStmt.2
932 => {
let [_, _, _, _, _, v6, _, v8, v9] = take(rhs);
let v6 = v6.into_list()?;
let v8 = v8.into_str()?;
let v9 = v9.into_dbehavior()?;
let n = DropStmt { objects: vec![crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v8)), v6))], removeType: ObjectType::OBJECT_OPCLASS, behavior: v9, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// DropOpFamilyStmt.1
933 => {
let [_, _, _, v4, _, v6, v7] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v7 = v7.into_dbehavior()?;
let n = DropStmt { objects: vec![crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4))], removeType: ObjectType::OBJECT_OPFAMILY, behavior: v7, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// DropOpFamilyStmt.2
934 => {
let [_, _, _, _, _, v6, _, v8, v9] = take(rhs);
let v6 = v6.into_list()?;
let v8 = v8.into_str()?;
let v9 = v9.into_dbehavior()?;
let n = DropStmt { objects: vec![crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v8)), v6))], removeType: ObjectType::OBJECT_OPFAMILY, behavior: v9, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// DropOwnedStmt.1
935 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_list()?;
let v5 = v5.into_dbehavior()?;
let n = DropOwnedStmt { roles: v4, behavior: v5 };
Value::node(Some(n.into()))
}
// ReassignOwnedStmt.1
936 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_rolespec()?;
let n = ReassignOwnedStmt { roles: v4, newrole: v6 };
Value::node(Some(n.into()))
}
// DropStmt.1
937 => {
let [_, v2, _, _, v5, v6] = take(rhs);
let v2 = v2.into_objtype()?;
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: v2, missing_ok: true, objects: v5, behavior: v6, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.2
938 => {
let [_, v2, v3, v4] = take(rhs);
let v2 = v2.into_objtype()?;
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: v2, missing_ok: false, objects: v3, behavior: v4, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.3
939 => {
let [_, v2, _, _, v5, v6] = take(rhs);
let v2 = v2.into_objtype()?;
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: v2, missing_ok: true, objects: v5, behavior: v6, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.4
940 => {
let [_, v2, v3, v4] = take(rhs);
let v2 = v2.into_objtype()?;
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: v2, missing_ok: false, objects: v3, behavior: v4, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.5
941 => {
let [_, v2, v3, _, v5, v6] = take(rhs);
let v2 = v2.into_objtype()?;
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: v2, objects: vec![crate::actions::listNode(crate::actions::lappend(v5, Some(crate::actions::makeString(v3))))], behavior: v6, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.6
942 => {
let [_, v2, _, _, v5, _, v7, v8] = take(rhs);
let v2 = v2.into_objtype()?;
let v5 = v5.into_str()?;
let v7 = v7.into_list()?;
let v8 = v8.into_dbehavior()?;
let n = DropStmt { removeType: v2, objects: vec![crate::actions::listNode(crate::actions::lappend(v7, Some(crate::actions::makeString(v5))))], behavior: v8, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.7
943 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_TYPE, missing_ok: false, objects: v3, behavior: v4, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.8
944 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_TYPE, missing_ok: true, objects: v5, behavior: v6, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.9
945 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_DOMAIN, missing_ok: false, objects: v3, behavior: v4, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.10
946 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_DOMAIN, missing_ok: true, objects: v5, behavior: v6, concurrent: false };
Value::node(Some(n.into()))
}
// DropStmt.11
947 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_list()?;
let v5 = v5.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_INDEX, missing_ok: false, objects: v4, behavior: v5, concurrent: true };
Value::node(Some(n.into()))
}
// DropStmt.12
948 => {
let [_, _, _, _, _, v6, v7] = take(rhs);
let v6 = v6.into_list()?;
let v7 = v7.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_INDEX, missing_ok: true, objects: v6, behavior: v7, concurrent: true };
Value::node(Some(n.into()))
}
// object_type_any_name.1
949 => Value::objtype(ObjectType::OBJECT_TABLE),
// object_type_any_name.2
950 => Value::objtype(ObjectType::OBJECT_SEQUENCE),
// object_type_any_name.3
951 => Value::objtype(ObjectType::OBJECT_VIEW),
// object_type_any_name.4
952 => Value::objtype(ObjectType::OBJECT_MATVIEW),
// object_type_any_name.5
953 => Value::objtype(ObjectType::OBJECT_INDEX),
// object_type_any_name.6
954 => Value::objtype(ObjectType::OBJECT_FOREIGN_TABLE),
// object_type_any_name.7
955 => Value::objtype(ObjectType::OBJECT_COLLATION),
// object_type_any_name.8
956 => Value::objtype(ObjectType::OBJECT_CONVERSION),
// object_type_any_name.9
957 => Value::objtype(ObjectType::OBJECT_STATISTIC_EXT),
// object_type_any_name.10
958 => Value::objtype(ObjectType::OBJECT_TSPARSER),
// object_type_any_name.11
959 => Value::objtype(ObjectType::OBJECT_TSDICTIONARY),
// object_type_any_name.12
960 => Value::objtype(ObjectType::OBJECT_TSTEMPLATE),
// object_type_any_name.13
961 => Value::objtype(ObjectType::OBJECT_TSCONFIGURATION),
// object_type_name.1
962 => {
let [v1] = take(rhs);
v1
}
// object_type_name.2
963 => Value::objtype(ObjectType::OBJECT_DATABASE),
// object_type_name.3
964 => Value::objtype(ObjectType::OBJECT_ROLE),
// object_type_name.4
965 => Value::objtype(ObjectType::OBJECT_SUBSCRIPTION),
// object_type_name.5
966 => Value::objtype(ObjectType::OBJECT_TABLESPACE),
// drop_type_name.1
967 => Value::objtype(ObjectType::OBJECT_ACCESS_METHOD),
// drop_type_name.2
968 => Value::objtype(ObjectType::OBJECT_EVENT_TRIGGER),
// drop_type_name.3
969 => Value::objtype(ObjectType::OBJECT_EXTENSION),
// drop_type_name.4
970 => Value::objtype(ObjectType::OBJECT_FDW),
// drop_type_name.5
971 => Value::objtype(ObjectType::OBJECT_LANGUAGE),
// drop_type_name.6
972 => Value::objtype(ObjectType::OBJECT_PUBLICATION),
// drop_type_name.7
973 => Value::objtype(ObjectType::OBJECT_SCHEMA),
// drop_type_name.8
974 => Value::objtype(ObjectType::OBJECT_FOREIGN_SERVER),
// object_type_name_on_any_name.1
975 => Value::objtype(ObjectType::OBJECT_POLICY),
// object_type_name_on_any_name.2
976 => Value::objtype(ObjectType::OBJECT_RULE),
// object_type_name_on_any_name.3
977 => Value::objtype(ObjectType::OBJECT_TRIGGER),
// any_name_list.1
978 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// any_name_list.2
979 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// any_name.1
980 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// any_name.2
981 => {
let [v1, v2] = take(rhs);
let mut list = v2.into_list()?;
list.insert(0, Some(crate::actions::makeString(v1.into_str()?)));
Value::list(list)
}
// attrs.1
982 => {
let [_, v2] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v2.into_str()?))])
}
// attrs.2
983 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(Some(crate::actions::makeString(v3.into_str()?)));
Value::list(list)
}
// type_name_list.1
984 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// type_name_list.2
985 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// TruncateStmt.1
986 => {
let [_, _, v3, v4, v5] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_dbehavior()?;
let n = TruncateStmt { relations: v3, restart_seqs: v4, behavior: v5 };
Value::node(Some(n.into()))
}
// opt_restart_seqs.1
987 => Value::boolean(false),
// opt_restart_seqs.2
988 => Value::boolean(true),
// opt_restart_seqs.3
989 => Value::boolean(false),
// CommentStmt.1
990 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_objtype()?;
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: v3, object: crate::actions::listNode(v4), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.2
991 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_COLUMN, object: crate::actions::listNode(v4), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.3
992 => {
let [_, _, v3, v4, _, v6] = take(rhs);
let v3 = v3.into_objtype()?;
let v4 = v4.into_str()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: v3, object: Some(crate::actions::makeString(v4)), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.4
993 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_typnam()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_TYPE, object: v4.map(NodeType::into_node), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.5
994 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_typnam()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_DOMAIN, object: v4.map(NodeType::into_node), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.6
995 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_AGGREGATE, object: v4.map(NodeType::into_node), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.7
996 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_FUNCTION, object: v4.map(NodeType::into_node), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.8
997 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_OPERATOR, object: v4.map(NodeType::into_node), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.9
998 => {
let [_, _, _, v4, _, v6, _, v8] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_list()?;
let v8 = v8.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_TABCONSTRAINT, object: crate::actions::listNode(crate::actions::lappend(v6, Some(crate::actions::makeString(v4)))), comment: v8 };
Value::node(Some(n.into()))
}
// CommentStmt.10
999 => {
let [_, _, _, v4, _, _, v7, _, v9] = take(rhs);
let v4 = v4.into_str()?;
let v7 = v7.into_list()?;
let v9 = v9.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_DOMCONSTRAINT, object: crate::actions::listNode(vec![Some(crate::actions::makeTypeNameFromNameList(v7).into()), Some(crate::actions::makeString(v4))]), comment: v9 };
Value::node(Some(n.into()))
}
// CommentStmt.11
1000 => {
let [_, _, v3, v4, _, v6, _, v8] = take(rhs);
let v3 = v3.into_objtype()?;
let v4 = v4.into_str()?;
let v6 = v6.into_list()?;
let v8 = v8.into_str()?;
let n = CommentStmt { objtype: v3, object: crate::actions::listNode(crate::actions::lappend(v6, Some(crate::actions::makeString(v4)))), comment: v8 };
Value::node(Some(n.into()))
}
// CommentStmt.12
1001 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_PROCEDURE, object: v4.map(NodeType::into_node), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.13
1002 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_ROUTINE, object: v4.map(NodeType::into_node), comment: v6 };
Value::node(Some(n.into()))
}
// CommentStmt.14
1003 => {
let [_, _, _, _, v5, _, v7, _, v9] = take(rhs);
let v5 = v5.into_typnam()?;
let v7 = v7.into_str()?;
let v9 = v9.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_TRANSFORM, object: crate::actions::listNode(vec![v5.map(NodeType::into_node), Some(crate::actions::makeString(v7))]), comment: v9 };
Value::node(Some(n.into()))
}
// CommentStmt.15
1004 => {
let [_, _, _, _, v5, _, v7, _, v9] = take(rhs);
let v5 = v5.into_list()?;
let v7 = v7.into_str()?;
let v9 = v9.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_OPCLASS, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v7)), v5)), comment: v9 };
Value::node(Some(n.into()))
}
// CommentStmt.16
1005 => {
let [_, _, _, _, v5, _, v7, _, v9] = take(rhs);
let v5 = v5.into_list()?;
let v7 = v7.into_str()?;
let v9 = v9.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_OPFAMILY, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v7)), v5)), comment: v9 };
Value::node(Some(n.into()))
}
// CommentStmt.17
1006 => {
let [_, _, _, _, v5, _, v7] = take(rhs);
let v5 = v5.into_node()?;
let v7 = v7.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_LARGEOBJECT, object: v5, comment: v7 };
Value::node(Some(n.into()))
}
// CommentStmt.18
1007 => {
let [_, _, _, _, v5, _, v7, _, _, v10] = take(rhs);
let v5 = v5.into_typnam()?;
let v7 = v7.into_typnam()?;
let v10 = v10.into_str()?;
let n = CommentStmt { objtype: ObjectType::OBJECT_CAST, object: crate::actions::listNode(vec![v5.map(NodeType::into_node), v7.map(NodeType::into_node)]), comment: v10 };
Value::node(Some(n.into()))
}
// comment_text.1
1008 => {
let [v1] = take(rhs);
v1
}
// comment_text.2
1009 => Value::str(None),
// SecLabelStmt.1
1010 => {
let [_, _, v3, _, v5, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_objtype()?;
let v6 = v6.into_list()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: v5, object: crate::actions::listNode(v6), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.2
1011 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_list()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_COLUMN, object: crate::actions::listNode(v6), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.3
1012 => {
let [_, _, v3, _, v5, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_objtype()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: v5, object: Some(crate::actions::makeString(v6)), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.4
1013 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_typnam()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_TYPE, object: v6.map(NodeType::into_node), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.5
1014 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_typnam()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_DOMAIN, object: v6.map(NodeType::into_node), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.6
1015 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_objwithargs()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_AGGREGATE, object: v6.map(NodeType::into_node), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.7
1016 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_objwithargs()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_FUNCTION, object: v6.map(NodeType::into_node), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.8
1017 => {
let [_, _, v3, _, _, _, v7, _, v9] = take(rhs);
let v3 = v3.into_str()?;
let v7 = v7.into_node()?;
let v9 = v9.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_LARGEOBJECT, object: v7, label: v9 };
Value::node(Some(n.into()))
}
// SecLabelStmt.9
1018 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_objwithargs()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_PROCEDURE, object: v6.map(NodeType::into_node), label: v8 };
Value::node(Some(n.into()))
}
// SecLabelStmt.10
1019 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_objwithargs()?;
let v8 = v8.into_str()?;
let n = SecLabelStmt { provider: v3, objtype: ObjectType::OBJECT_ROUTINE, object: v6.map(NodeType::into_node), label: v8 };
Value::node(Some(n.into()))
}
// opt_provider.1
1020 => {
let [_, v2] = take(rhs);
v2
}
// opt_provider.2
1021 => Value::str(None),
// security_label.1
1022 => {
let [v1] = take(rhs);
v1
}
// security_label.2
1023 => Value::str(None),
// FetchStmt.1
1024 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<FetchStmt>(v2)?)?;
n.ismove = false;
Value::node(Some(n.into_node()))
}
// FetchStmt.2
1025 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<FetchStmt>(v2)?)?;
n.ismove = true;
Value::node(Some(n.into_node()))
}
// fetch_args.1
1026 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
let n = FetchStmt { portalname: v1, direction: FetchDirection::FETCH_FORWARD, howMany: 1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_NONE, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.2
1027 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = FetchStmt { portalname: v2, direction: FetchDirection::FETCH_FORWARD, howMany: 1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_NONE, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.3
1028 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_ival()?;
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_FORWARD, howMany: i64::from(v1), location: at[0], direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_NONE, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.4
1029 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_FORWARD, howMany: 1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_NEXT, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.5
1030 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_BACKWARD, howMany: 1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_PRIOR, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.6
1031 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_ABSOLUTE, howMany: 1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_FIRST, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.7
1032 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_ABSOLUTE, howMany: -1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_LAST, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.8
1033 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_str()?;
let n = FetchStmt { portalname: v4, direction: FetchDirection::FETCH_ABSOLUTE, howMany: i64::from(v2), location: at[1], direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_ABSOLUTE, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.9
1034 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_str()?;
let n = FetchStmt { portalname: v4, direction: FetchDirection::FETCH_RELATIVE, howMany: i64::from(v2), location: at[1], direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_RELATIVE, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.10
1035 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_FORWARD, howMany: FETCH_ALL, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_ALL, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.11
1036 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_FORWARD, howMany: 1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_FORWARD, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.12
1037 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_str()?;
let n = FetchStmt { portalname: v4, direction: FetchDirection::FETCH_FORWARD, howMany: i64::from(v2), location: at[1], direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_FORWARD, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.13
1038 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = FetchStmt { portalname: v4, direction: FetchDirection::FETCH_FORWARD, howMany: FETCH_ALL, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_FORWARD_ALL, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.14
1039 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = FetchStmt { portalname: v3, direction: FetchDirection::FETCH_BACKWARD, howMany: 1, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_BACKWARD, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.15
1040 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_str()?;
let n = FetchStmt { portalname: v4, direction: FetchDirection::FETCH_BACKWARD, howMany: i64::from(v2), location: at[1], direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_BACKWARD, ..Default::default() };
Value::node(Some(n.into()))
}
// fetch_args.16
1041 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = FetchStmt { portalname: v4, direction: FetchDirection::FETCH_BACKWARD, howMany: FETCH_ALL, location: -1, direction_keyword: FetchDirectionKeywords::FETCH_KEYWORD_BACKWARD_ALL, ..Default::default() };
Value::node(Some(n.into()))
}
// from_in.1
1042 => Value::None,
// from_in.2
1043 => Value::None,
// opt_from_in.1
1044 => Value::None,
// opt_from_in.2
1045 => Value::None,
// GrantStmt.1
1046 => {
let [_, v2, _, v4, _, v6, v7, v8] = take(rhs);
let v2 = v2.into_list()?;
let mut v4 = v4.into_privtarget()?;
let v6 = v6.into_list()?;
let v7 = v7.into_boolean()?;
let v8 = v8.into_rolespec()?;
let n = GrantStmt { is_grant: true, privileges: v2, targtype: crate::actions::pointee(&v4)?.targtype, objtype: crate::actions::pointee(&v4)?.objtype, objects: std::mem::take(&mut crate::actions::pointee_mut(&mut v4)?.objs), grantees: v6, grant_option: v7, grantor: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// RevokeStmt.1
1047 => {
let [_, v2, _, v4, _, v6, v7, v8] = take(rhs);
let v2 = v2.into_list()?;
let mut v4 = v4.into_privtarget()?;
let v6 = v6.into_list()?;
let v7 = v7.into_rolespec()?;
let v8 = v8.into_dbehavior()?;
let n = GrantStmt { is_grant: false, grant_option: false, privileges: v2, targtype: crate::actions::pointee(&v4)?.targtype, objtype: crate::actions::pointee(&v4)?.objtype, objects: std::mem::take(&mut crate::actions::pointee_mut(&mut v4)?.objs), grantees: v6, grantor: v7, behavior: v8 };
Value::node(Some(n.into()))
}
// RevokeStmt.2
1048 => {
let [_, _, _, _, v5, _, v7, _, v9, v10, v11] = take(rhs);
let v5 = v5.into_list()?;
let mut v7 = v7.into_privtarget()?;
let v9 = v9.into_list()?;
let v10 = v10.into_rolespec()?;
let v11 = v11.into_dbehavior()?;
let n = GrantStmt { is_grant: false, grant_option: true, privileges: v5, targtype: crate::actions::pointee(&v7)?.targtype, objtype: crate::actions::pointee(&v7)?.objtype, objects: std::mem::take(&mut crate::actions::pointee_mut(&mut v7)?.objs), grantees: v9, grantor: v10, behavior: v11 };
Value::node(Some(n.into()))
}
// privileges.1
1049 => {
let [v1] = take(rhs);
v1
}
// privileges.2
1050 => Value::list(List::new()),
// privileges.3
1051 => Value::list(List::new()),
// privileges.4
1052 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
let n = AccessPriv { priv_name: None, cols: v3 };
Value::list(vec![Some(n.into())])
}
// privileges.5
1053 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_list()?;
let n = AccessPriv { priv_name: None, cols: v4 };
Value::list(vec![Some(n.into())])
}
// privilege_list.1
1054 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// privilege_list.2
1055 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// privilege.1
1056 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_keyword()?;
let v2 = v2.into_list()?;
let n = AccessPriv { priv_name: Some(v1.into()), cols: v2 };
Value::accesspriv(Some(Box::new(n)))
}
// privilege.2
1057 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_keyword()?;
let v2 = v2.into_list()?;
let n = AccessPriv { priv_name: Some(v1.into()), cols: v2 };
Value::accesspriv(Some(Box::new(n)))
}
// privilege.3
1058 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_keyword()?;
let v2 = v2.into_list()?;
let n = AccessPriv { priv_name: Some(v1.into()), cols: v2 };
Value::accesspriv(Some(Box::new(n)))
}
// privilege.4
1059 => {
let n = AccessPriv { priv_name: Some("alter system".into()), cols: List::new() };
Value::accesspriv(Some(Box::new(n)))
}
// privilege.5
1060 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let n = AccessPriv { priv_name: v1, cols: v2 };
Value::accesspriv(Some(Box::new(n)))
}
// parameter_name_list.1
1061 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// parameter_name_list.2
1062 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(Some(crate::actions::makeString(v3.into_str()?)));
Value::list(list)
}
// parameter_name.1
1063 => {
let [v1] = take(rhs);
v1
}
// parameter_name.2
1064 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_str()?;
Value::str(Some(format!("{}.{}", v1.as_deref().unwrap_or_default(), v3.as_deref().unwrap_or_default()).into()))
}
// privilege_target.1
1065 => {
let [v1] = take(rhs);
let v1 = v1.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_TABLE, objs: v1 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.2
1066 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_TABLE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.3
1067 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_SEQUENCE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.4
1068 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_FDW, objs: v4 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.5
1069 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_FOREIGN_SERVER, objs: v3 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.6
1070 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_FUNCTION, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.7
1071 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_PROCEDURE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.8
1072 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_ROUTINE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.9
1073 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_DATABASE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.10
1074 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_DOMAIN, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.11
1075 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_LANGUAGE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.12
1076 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_LARGEOBJECT, objs: v3 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.13
1077 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_PARAMETER_ACL, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.14
1078 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_SCHEMA, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.15
1079 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_TABLESPACE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.16
1080 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_OBJECT, objtype: ObjectType::OBJECT_TYPE, objs: v2 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.17
1081 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_ALL_IN_SCHEMA, objtype: ObjectType::OBJECT_TABLE, objs: v5 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.18
1082 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_ALL_IN_SCHEMA, objtype: ObjectType::OBJECT_SEQUENCE, objs: v5 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.19
1083 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_ALL_IN_SCHEMA, objtype: ObjectType::OBJECT_FUNCTION, objs: v5 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.20
1084 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_ALL_IN_SCHEMA, objtype: ObjectType::OBJECT_PROCEDURE, objs: v5 };
Value::privtarget(Some(Box::new(n)))
}
// privilege_target.21
1085 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_list()?;
let n = PrivTarget { targtype: GrantTargetType::ACL_TARGET_ALL_IN_SCHEMA, objtype: ObjectType::OBJECT_ROUTINE, objs: v5 };
Value::privtarget(Some(Box::new(n)))
}
// grantee_list.1
1086 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// grantee_list.2
1087 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// grantee.1
1088 => {
let [v1] = take(rhs);
v1
}
// grantee.2
1089 => {
let [_, v2] = take(rhs);
v2
}
// opt_grant_grant_option.1
1090 => Value::boolean(true),
// opt_grant_grant_option.2
1091 => Value::boolean(false),
// GrantRoleStmt.1
1092 => {
let [_, v2, _, v4, v5] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_list()?;
let v5 = v5.into_rolespec()?;
let n = GrantRoleStmt { is_grant: true, granted_roles: v2, grantee_roles: v4, opt: List::new(), grantor: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// GrantRoleStmt.2
1093 => {
let [_, v2, _, v4, _, v6, v7] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_list()?;
let v6 = v6.into_list()?;
let v7 = v7.into_rolespec()?;
let n = GrantRoleStmt { is_grant: true, granted_roles: v2, grantee_roles: v4, opt: v6, grantor: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// RevokeRoleStmt.1
1094 => {
let [_, v2, _, v4, v5, v6] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_list()?;
let v5 = v5.into_rolespec()?;
let v6 = v6.into_dbehavior()?;
let n = GrantRoleStmt { is_grant: false, opt: List::new(), granted_roles: v2, grantee_roles: v4, grantor: v5, behavior: v6 };
Value::node(Some(n.into()))
}
// RevokeRoleStmt.2
1095 => {
let [_, v2, _, _, v5, _, v7, v8, v9] = take(rhs);
let v2 = v2.into_str()?;
let v5 = v5.into_list()?;
let v7 = v7.into_list()?;
let v8 = v8.into_rolespec()?;
let v9 = v9.into_dbehavior()?;
let mut n = GrantRoleStmt::default();
let opt = crate::actions::makeDefElem(v2, Some(crate::actions::makeBoolean(false)), at[1]);
n.is_grant = false;
n.opt = vec![Some(opt.into())];
n.granted_roles = v5;
n.grantee_roles = v7;
n.grantor = v8;
n.behavior = v9;
Value::node(Some(n.into()))
}
// grant_role_opt_list.1
1096 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// grant_role_opt_list.2
1097 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// grant_role_opt.1
1098 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v2, at[0]))))
}
// grant_role_opt_value.1
1099 => Value::node(Some(crate::actions::makeBoolean(true))),
// grant_role_opt_value.2
1100 => Value::node(Some(crate::actions::makeBoolean(true))),
// grant_role_opt_value.3
1101 => Value::node(Some(crate::actions::makeBoolean(false))),
// opt_granted_by.1
1102 => {
let [_, _, v3] = take(rhs);
v3
}
// opt_granted_by.2
1103 => Value::rolespec(None),
// AlterDefaultPrivilegesStmt.1
1104 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_list()?;
let v5 = v5.into_node()?;
let n = AlterDefaultPrivilegesStmt { options: v4, action: crate::actions::castNode::<GrantStmt>(v5)? };
Value::node(Some(n.into()))
}
// DefACLOptionList.1
1105 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// DefACLOptionList.2
1106 => Value::list(List::new()),
// DefACLOption.1
1107 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("schemas".into()), crate::actions::listNode(v3), at[0]))))
}
// DefACLOption.2
1108 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("roles".into()), crate::actions::listNode(v3), at[0]))))
}
// DefACLOption.3
1109 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("roles".into()), crate::actions::listNode(v3), at[0]))))
}
// DefACLAction.1
1110 => {
let [_, v2, _, v4, _, v6, v7] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_list()?;
let v7 = v7.into_boolean()?;
let n = GrantStmt { is_grant: true, privileges: v2, targtype: GrantTargetType::ACL_TARGET_DEFAULTS, objtype: ObjectType(v4), objects: List::new(), grantees: v6, grant_option: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// DefACLAction.2
1111 => {
let [_, v2, _, v4, _, v6, v7] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_list()?;
let v7 = v7.into_dbehavior()?;
let n = GrantStmt { is_grant: false, grant_option: false, privileges: v2, targtype: GrantTargetType::ACL_TARGET_DEFAULTS, objtype: ObjectType(v4), objects: List::new(), grantees: v6, behavior: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// DefACLAction.3
1112 => {
let [_, _, _, _, v5, _, v7, _, v9, v10] = take(rhs);
let v5 = v5.into_list()?;
let v7 = v7.into_ival()?;
let v9 = v9.into_list()?;
let v10 = v10.into_dbehavior()?;
let n = GrantStmt { is_grant: false, grant_option: true, privileges: v5, targtype: GrantTargetType::ACL_TARGET_DEFAULTS, objtype: ObjectType(v7), objects: List::new(), grantees: v9, behavior: v10, ..Default::default() };
Value::node(Some(n.into()))
}
// defacl_privilege_target.1
1113 => Value::ival(ObjectType::OBJECT_TABLE.0),
// defacl_privilege_target.2
1114 => Value::ival(ObjectType::OBJECT_FUNCTION.0),
// defacl_privilege_target.3
1115 => Value::ival(ObjectType::OBJECT_FUNCTION.0),
// defacl_privilege_target.4
1116 => Value::ival(ObjectType::OBJECT_SEQUENCE.0),
// defacl_privilege_target.5
1117 => Value::ival(ObjectType::OBJECT_TYPE.0),
// defacl_privilege_target.6
1118 => Value::ival(ObjectType::OBJECT_SCHEMA.0),
// defacl_privilege_target.7
1119 => Value::ival(ObjectType::OBJECT_LARGEOBJECT.0),
// IndexStmt.1
1120 => {
let [_, v2, _, v4, v5, _, v7, v8, _, v10, _, v12, v13, v14, v15, v16] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_str()?;
let v7 = v7.into_range()?;
let v8 = v8.into_str()?;
let v10 = v10.into_list()?;
let v12 = v12.into_list()?;
let v13 = v13.into_boolean()?;
let v14 = v14.into_list()?;
let v15 = v15.into_str()?;
let v16 = v16.into_node()?;
let n = IndexStmt { unique: v2, concurrent: v4, idxname: v5, relation: v7, accessMethod: v8, indexParams: v10, indexIncludingParams: v12, nulls_not_distinct: !v13, options: v14, tableSpace: v15, whereClause: v16, excludeOpNames: List::new(), idxcomment: None, indexOid: InvalidOid, oldNumber: InvalidRelFileNumber, oldCreateSubid: InvalidSubTransactionId, oldFirstRelfilelocatorSubid: InvalidSubTransactionId, primary: false, isconstraint: false, deferrable: false, initdeferred: false, transformed: false, if_not_exists: false, reset_default_tblspc: false, ..Default::default() };
Value::node(Some(n.into()))
}
// IndexStmt.2
1121 => {
let [_, v2, _, v4, _, _, _, v8, _, v10, v11, _, v13, _, v15, v16, v17, v18, v19] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_boolean()?;
let v8 = v8.into_str()?;
let v10 = v10.into_range()?;
let v11 = v11.into_str()?;
let v13 = v13.into_list()?;
let v15 = v15.into_list()?;
let v16 = v16.into_boolean()?;
let v17 = v17.into_list()?;
let v18 = v18.into_str()?;
let v19 = v19.into_node()?;
let n = IndexStmt { unique: v2, concurrent: v4, idxname: v8, relation: v10, accessMethod: v11, indexParams: v13, indexIncludingParams: v15, nulls_not_distinct: !v16, options: v17, tableSpace: v18, whereClause: v19, excludeOpNames: List::new(), idxcomment: None, indexOid: InvalidOid, oldNumber: InvalidRelFileNumber, oldCreateSubid: InvalidSubTransactionId, oldFirstRelfilelocatorSubid: InvalidSubTransactionId, primary: false, isconstraint: false, deferrable: false, initdeferred: false, transformed: false, if_not_exists: true, reset_default_tblspc: false, ..Default::default() };
Value::node(Some(n.into()))
}
// opt_unique.1
1122 => Value::boolean(true),
// opt_unique.2
1123 => Value::boolean(false),
// access_method_clause.1
1124 => {
let [_, v2] = take(rhs);
v2
}
// access_method_clause.2
1125 => Value::str(Some(DEFAULT_INDEX_TYPE.into())),
// index_params.1
1126 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// index_params.2
1127 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// index_elem_options.1
1128 => {
let [v1, v2, v3, v4] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_list()?;
let v3 = v3.into_ival()?;
let v4 = v4.into_ival()?;
let mut result: Option<Box<IndexElem>>;
result = Some(Box::new(IndexElem::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.expr = None;
crate::actions::pointee_mut(&mut result)?.indexcolname = None;
crate::actions::pointee_mut(&mut result)?.collation = v1;
crate::actions::pointee_mut(&mut result)?.opclass = v2;
crate::actions::pointee_mut(&mut result)?.opclassopts = List::new();
crate::actions::pointee_mut(&mut result)?.ordering = SortByDir(v3);
crate::actions::pointee_mut(&mut result)?.nulls_ordering = SortByNulls(v4);
Value::ielem(result)
}
// index_elem_options.2
1129 => {
let [v1, v2, v3, v4, v5] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let v4 = v4.into_ival()?;
let v5 = v5.into_ival()?;
let mut result: Option<Box<IndexElem>>;
result = Some(Box::new(IndexElem::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.expr = None;
crate::actions::pointee_mut(&mut result)?.indexcolname = None;
crate::actions::pointee_mut(&mut result)?.collation = v1;
crate::actions::pointee_mut(&mut result)?.opclass = v2;
crate::actions::pointee_mut(&mut result)?.opclassopts = v3;
crate::actions::pointee_mut(&mut result)?.ordering = SortByDir(v4);
crate::actions::pointee_mut(&mut result)?.nulls_ordering = SortByNulls(v5);
Value::ielem(result)
}
// index_elem.1
1130 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_ielem()?;
let mut result: Option<Box<IndexElem>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.name = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::ielem(result)
}
// index_elem.2
1131 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_ielem()?;
let mut result: Option<Box<IndexElem>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.expr = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::ielem(result)
}
// index_elem.3
1132 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_node()?;
let v4 = v4.into_ielem()?;
let mut result: Option<Box<IndexElem>>;
result = v4;
crate::actions::pointee_mut(&mut result)?.expr = v2;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::ielem(result)
}
// opt_include.1
1133 => {
let [_, _, v3, _] = take(rhs);
v3
}
// opt_include.2
1134 => Value::list(List::new()),
// index_including_params.1
1135 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// index_including_params.2
1136 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// opt_collate.1
1137 => {
let [_, v2] = take(rhs);
v2
}
// opt_collate.2
1138 => Value::list(List::new()),
// opt_asc_desc.1
1139 => Value::ival(SortByDir::SORTBY_ASC.0),
// opt_asc_desc.2
1140 => Value::ival(SortByDir::SORTBY_DESC.0),
// opt_asc_desc.3
1141 => Value::ival(SortByDir::SORTBY_DEFAULT.0),
// opt_nulls_order.1
1142 => Value::ival(SortByNulls::SORTBY_NULLS_FIRST.0),
// opt_nulls_order.2
1143 => Value::ival(SortByNulls::SORTBY_NULLS_LAST.0),
// opt_nulls_order.3
1144 => Value::ival(SortByNulls::SORTBY_NULLS_DEFAULT.0),
// CreateFunctionStmt.1
1145 => {
let [_, v2, _, v4, v5, _, v7, v8, v9] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let v7 = v7.into_typnam()?;
let v8 = v8.into_list()?;
let v9 = v9.into_node()?;
let n = CreateFunctionStmt { is_procedure: false, replace: v2, funcname: v4, parameters: v5, returnType: v7, options: v8, sql_body: v9 };
Value::node(Some(n.into()))
}
// CreateFunctionStmt.2
1146 => {
let [_, v2, _, v4, v5, _, _, _, v9, _, v11, v12] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let v12 = v12.into_node()?;
let mut n = CreateFunctionStmt { is_procedure: false, replace: v2, funcname: v4, parameters: crate::actions::mergeTableFuncParameters(v5, v9.clone(), p)?, returnType: Some(Box::new(crate::actions::TableFuncTypeName(&v9)?)), ..Default::default() };
crate::actions::pointee_mut(&mut n.returnType)?.location = at[6];
n.options = v11;
n.sql_body = v12;
Value::node(Some(n.into()))
}
// CreateFunctionStmt.3
1147 => {
let [_, v2, _, v4, v5, v6, v7] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let v7 = v7.into_node()?;
let n = CreateFunctionStmt { is_procedure: false, replace: v2, funcname: v4, parameters: v5, returnType: None, options: v6, sql_body: v7 };
Value::node(Some(n.into()))
}
// CreateFunctionStmt.4
1148 => {
let [_, v2, _, v4, v5, v6, v7] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let v7 = v7.into_node()?;
let n = CreateFunctionStmt { is_procedure: true, replace: v2, funcname: v4, parameters: v5, returnType: None, options: v6, sql_body: v7 };
Value::node(Some(n.into()))
}
// opt_or_replace.1
1149 => Value::boolean(true),
// opt_or_replace.2
1150 => Value::boolean(false),
// func_args.1
1151 => {
let [_, v2, _] = take(rhs);
v2
}
// func_args.2
1152 => Value::list(List::new()),
// func_args_list.1
1153 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// func_args_list.2
1154 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// function_with_argtypes_list.1
1155 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// function_with_argtypes_list.2
1156 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// function_with_argtypes.1
1157 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_list()?;
let n = ObjectWithArgs { objname: v1, objargs: crate::actions::extractArgTypes(&v2)?, objfuncargs: v2, ..Default::default() };
Value::objwithargs(Some(Box::new(n)))
}
// function_with_argtypes.2
1158 => {
let [v1] = take(rhs);
let v1 = v1.into_keyword()?;
let n = ObjectWithArgs { objname: vec![Some(crate::actions::makeString(Some(v1.into())))], args_unspecified: true, ..Default::default() };
Value::objwithargs(Some(Box::new(n)))
}
// function_with_argtypes.3
1159 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
let n = ObjectWithArgs { objname: vec![Some(crate::actions::makeString(v1))], args_unspecified: true, ..Default::default() };
Value::objwithargs(Some(Box::new(n)))
}
// function_with_argtypes.4
1160 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let n = ObjectWithArgs { objname: crate::actions::check_func_name(crate::actions::lcons(Some(crate::actions::makeString(v1)), v2), p)?, args_unspecified: true, ..Default::default() };
Value::objwithargs(Some(Box::new(n)))
}
// func_args_with_defaults.1
1161 => {
let [_, v2, _] = take(rhs);
v2
}
// func_args_with_defaults.2
1162 => Value::list(List::new()),
// func_args_with_defaults_list.1
1163 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// func_args_with_defaults_list.2
1164 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// func_arg.1
1165 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_fun_param_mode()?;
let v2 = v2.into_str()?;
let v3 = v3.into_typnam()?;
let n = FunctionParameter { name: v2, argType: v3, mode: v1, defexpr: None, location: at[0] };
Value::fun_param(Some(Box::new(n)))
}
// func_arg.2
1166 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_fun_param_mode()?;
let v3 = v3.into_typnam()?;
let n = FunctionParameter { name: v1, argType: v3, mode: v2, defexpr: None, location: at[0] };
Value::fun_param(Some(Box::new(n)))
}
// func_arg.3
1167 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let n = FunctionParameter { name: v1, argType: v2, mode: FunctionParameterMode::FUNC_PARAM_DEFAULT, defexpr: None, location: at[0] };
Value::fun_param(Some(Box::new(n)))
}
// func_arg.4
1168 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_fun_param_mode()?;
let v2 = v2.into_typnam()?;
let n = FunctionParameter { name: None, argType: v2, mode: v1, defexpr: None, location: at[0] };
Value::fun_param(Some(Box::new(n)))
}
// func_arg.5
1169 => {
let [v1] = take(rhs);
let v1 = v1.into_typnam()?;
let n = FunctionParameter { name: None, argType: v1, mode: FunctionParameterMode::FUNC_PARAM_DEFAULT, defexpr: None, location: at[0] };
Value::fun_param(Some(Box::new(n)))
}
// arg_class.1
1170 => Value::fun_param_mode(FunctionParameterMode::FUNC_PARAM_IN),
// arg_class.2
1171 => Value::fun_param_mode(FunctionParameterMode::FUNC_PARAM_OUT),
// arg_class.3
1172 => Value::fun_param_mode(FunctionParameterMode::FUNC_PARAM_INOUT),
// arg_class.4
1173 => Value::fun_param_mode(FunctionParameterMode::FUNC_PARAM_INOUT),
// arg_class.5
1174 => Value::fun_param_mode(FunctionParameterMode::FUNC_PARAM_VARIADIC),
// param_name.1
1175 => {
let [v1] = take(rhs);
v1
}
// func_return.1
1176 => {
let [v1] = take(rhs);
v1
}
// func_type.1
1177 => {
let [v1] = take(rhs);
v1
}
// func_type.2
1178 => {
let [v1, v2, _, _] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::makeTypeNameFromNameList(crate::actions::lcons(Some(crate::actions::makeString(v1)), v2))));
crate::actions::pointee_mut(&mut result)?.pct_type = true;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// func_type.3
1179 => {
let [_, v2, v3, _, _] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_list()?;
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::makeTypeNameFromNameList(crate::actions::lcons(Some(crate::actions::makeString(v2)), v3))));
crate::actions::pointee_mut(&mut result)?.pct_type = true;
crate::actions::pointee_mut(&mut result)?.setof = true;
crate::actions::pointee_mut(&mut result)?.location = at[1];
Value::typnam(result)
}
// func_arg_with_default.1
1180 => {
let [v1] = take(rhs);
v1
}
// func_arg_with_default.2
1181 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_fun_param()?;
let v3 = v3.into_node()?;
let mut result: Option<Box<FunctionParameter>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.defexpr = v3;
Value::fun_param(result)
}
// func_arg_with_default.3
1182 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_fun_param()?;
let v3 = v3.into_node()?;
let mut result: Option<Box<FunctionParameter>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.defexpr = v3;
Value::fun_param(result)
}
// aggr_arg.1
1183 => {
let [v1] = take(rhs);
let v1 = v1.into_fun_param()?;
if crate::actions::pointee(&v1)?.mode != FunctionParameterMode::FUNC_PARAM_DEFAULT && crate::actions::pointee(&v1)?.mode != FunctionParameterMode::FUNC_PARAM_IN && crate::actions::pointee(&v1)?.mode != FunctionParameterMode::FUNC_PARAM_VARIADIC {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "aggregates cannot have output arguments", at[0]));
}
Value::fun_param(v1)
}
// aggr_args.1
1184 => Value::list(vec![None, Some(crate::actions::makeInteger(-1))]),
// aggr_args.2
1185 => {
let [_, v2, _] = take(rhs);
let v2 = v2.into_list()?;
Value::list(vec![crate::actions::listNode(v2), Some(crate::actions::makeInteger(-1))])
}
// aggr_args.3
1186 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_list()?;
Value::list(vec![crate::actions::listNode(v4), Some(crate::actions::makeInteger(0))])
}
// aggr_args.4
1187 => {
let [_, v2, _, _, v5, _] = take(rhs);
let v2 = v2.into_list()?;
let v5 = v5.into_list()?;
Value::list(crate::actions::makeOrderedSetArgs(v2, v5, p)?)
}
// aggr_args_list.1
1188 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// aggr_args_list.2
1189 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// aggregate_with_argtypes.1
1190 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_list()?;
let n = ObjectWithArgs { objname: v1, objargs: crate::actions::extractAggrArgTypes(&v2)?, objfuncargs: crate::actions::castList(crate::actions::linitial(&v2).cloned())?, ..Default::default() };
Value::objwithargs(Some(Box::new(n)))
}
// aggregate_with_argtypes_list.1
1191 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// aggregate_with_argtypes_list.2
1192 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// opt_createfunc_opt_list.1
1193 => {
let [v1] = take(rhs);
v1
}
// opt_createfunc_opt_list.2
1194 => Value::list(List::new()),
// createfunc_opt_list.1
1195 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// createfunc_opt_list.2
1196 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// common_func_opt_item.1
1197 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("strict".into()), Some(crate::actions::makeBoolean(false)), at[0])))),
// common_func_opt_item.2
1198 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("strict".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// common_func_opt_item.3
1199 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("strict".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// common_func_opt_item.4
1200 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("volatility".into()), Some(crate::actions::makeString(Some("immutable".into()))), at[0])))),
// common_func_opt_item.5
1201 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("volatility".into()), Some(crate::actions::makeString(Some("stable".into()))), at[0])))),
// common_func_opt_item.6
1202 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("volatility".into()), Some(crate::actions::makeString(Some("volatile".into()))), at[0])))),
// common_func_opt_item.7
1203 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("security".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// common_func_opt_item.8
1204 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("security".into()), Some(crate::actions::makeBoolean(false)), at[0])))),
// common_func_opt_item.9
1205 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("security".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// common_func_opt_item.10
1206 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("security".into()), Some(crate::actions::makeBoolean(false)), at[0])))),
// common_func_opt_item.11
1207 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("leakproof".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// common_func_opt_item.12
1208 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("leakproof".into()), Some(crate::actions::makeBoolean(false)), at[0])))),
// common_func_opt_item.13
1209 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("cost".into()), v2, at[0]))))
}
// common_func_opt_item.14
1210 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("rows".into()), v2, at[0]))))
}
// common_func_opt_item.15
1211 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("support".into()), crate::actions::listNode(v2), at[0]))))
}
// common_func_opt_item.16
1212 => {
let [v1] = take(rhs);
let v1 = v1.into_vsetstmt()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("set".into()), v1.map(NodeType::into_node), at[0]))))
}
// common_func_opt_item.17
1213 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("parallel".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// createfunc_opt_item.1
1214 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("as".into()), crate::actions::listNode(v2), at[0]))))
}
// createfunc_opt_item.2
1215 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("language".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// createfunc_opt_item.3
1216 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("transform".into()), crate::actions::listNode(v2), at[0]))))
}
// createfunc_opt_item.4
1217 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("window".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// createfunc_opt_item.5
1218 => {
let [v1] = take(rhs);
v1
}
// func_as.1
1219 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// func_as.2
1220 => {
let [v1, _, v3] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?)), Some(crate::actions::makeString(v3.into_str()?))])
}
// ReturnStmt.1
1221 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let r = ReturnStmt { returnval: v2 };
Value::node(Some(r.into()))
}
// opt_routine_body.1
1222 => {
let [v1] = take(rhs);
v1
}
// opt_routine_body.2
1223 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(crate::actions::listNode(vec![crate::actions::listNode(v3)]))
}
// opt_routine_body.3
1224 => Value::node(None),
// routine_body_stmt_list.1
1225 => {
let [v1, v2, _] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_node()?;
Value::list(if v2.is_some() {
crate::actions::lappend(v1, v2)
} else {
v1
})
}
// routine_body_stmt_list.2
1226 => Value::list(List::new()),
// routine_body_stmt.1
1227 => {
let [v1] = take(rhs);
v1
}
// routine_body_stmt.2
1228 => {
let [v1] = take(rhs);
v1
}
// transform_type_list.1
1229 => {
let [_, _, v3] = take(rhs);
Value::list(vec![v3.into_node()?])
}
// transform_type_list.2
1230 => {
let [v1, _, _, _, v5] = take(rhs);
let mut list = v1.into_list()?;
list.push(v5.into_node()?);
Value::list(list)
}
// opt_definition.1
1231 => {
let [_, v2] = take(rhs);
v2
}
// opt_definition.2
1232 => Value::list(List::new()),
// table_func_column.1
1233 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let n = FunctionParameter { name: v1, argType: v2, mode: FunctionParameterMode::FUNC_PARAM_TABLE, defexpr: None, location: at[0] };
Value::fun_param(Some(Box::new(n)))
}
// table_func_column_list.1
1234 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// table_func_column_list.2
1235 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// AlterFunctionStmt.1
1236 => {
let [_, _, v3, v4, _] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v4 = v4.into_list()?;
let n = AlterFunctionStmt { objtype: ObjectType::OBJECT_FUNCTION, func: v3, actions: v4 };
Value::node(Some(n.into()))
}
// AlterFunctionStmt.2
1237 => {
let [_, _, v3, v4, _] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v4 = v4.into_list()?;
let n = AlterFunctionStmt { objtype: ObjectType::OBJECT_PROCEDURE, func: v3, actions: v4 };
Value::node(Some(n.into()))
}
// AlterFunctionStmt.3
1238 => {
let [_, _, v3, v4, _] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v4 = v4.into_list()?;
let n = AlterFunctionStmt { objtype: ObjectType::OBJECT_ROUTINE, func: v3, actions: v4 };
Value::node(Some(n.into()))
}
// alterfunc_opt_list.1
1239 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// alterfunc_opt_list.2
1240 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// opt_restrict.1
1241 => Value::None,
// opt_restrict.2
1242 => Value::None,
// RemoveFuncStmt.1
1243 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_FUNCTION, objects: v3, behavior: v4, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveFuncStmt.2
1244 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_FUNCTION, objects: v5, behavior: v6, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveFuncStmt.3
1245 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_PROCEDURE, objects: v3, behavior: v4, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveFuncStmt.4
1246 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_PROCEDURE, objects: v5, behavior: v6, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveFuncStmt.5
1247 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_ROUTINE, objects: v3, behavior: v4, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveFuncStmt.6
1248 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_ROUTINE, objects: v5, behavior: v6, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveAggrStmt.1
1249 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_AGGREGATE, objects: v3, behavior: v4, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveAggrStmt.2
1250 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_AGGREGATE, objects: v5, behavior: v6, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveOperStmt.1
1251 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_OPERATOR, objects: v3, behavior: v4, missing_ok: false, concurrent: false };
Value::node(Some(n.into()))
}
// RemoveOperStmt.2
1252 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_OPERATOR, objects: v5, behavior: v6, missing_ok: true, concurrent: false };
Value::node(Some(n.into()))
}
// oper_argtypes.1
1253 => return Err(Error { hint: Some("Use NONE to denote the missing argument of a unary operator."), ..p.error(ERRCODE_SYNTAX_ERROR, "missing argument", at[2]) }),
// oper_argtypes.2
1254 => {
let [_, v2, _, v4, _] = take(rhs);
Value::list(vec![v2.into_node()?, v4.into_node()?])
}
// oper_argtypes.3
1255 => {
let [_, _, _, v4, _] = take(rhs);
Value::list(vec![None, v4.into_node()?])
}
// oper_argtypes.4
1256 => {
let [_, v2, _, _, _] = take(rhs);
Value::list(vec![v2.into_node()?, None])
}
// any_operator.1
1257 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// any_operator.2
1258 => {
let [v1, _, v3] = take(rhs);
let mut list = v3.into_list()?;
list.insert(0, Some(crate::actions::makeString(v1.into_str()?)));
Value::list(list)
}
// operator_with_argtypes_list.1
1259 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// operator_with_argtypes_list.2
1260 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// operator_with_argtypes.1
1261 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_list()?;
let n = ObjectWithArgs { objname: v1, objargs: v2, ..Default::default() };
Value::objwithargs(Some(Box::new(n)))
}
// DoStmt.1
1262 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = DoStmt { args: v2 };
Value::node(Some(n.into()))
}
// dostmt_opt_list.1
1263 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// dostmt_opt_list.2
1264 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// dostmt_opt_item.1
1265 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("as".into()), Some(crate::actions::makeString(v1)), at[0]))))
}
// dostmt_opt_item.2
1266 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("language".into()), Some(crate::actions::makeString(v2)), at[0]))))
}
// CreateCastStmt.1
1267 => {
let [_, _, _, v4, _, v6, _, _, _, v10, v11] = take(rhs);
let v4 = v4.into_typnam()?;
let v6 = v6.into_typnam()?;
let v10 = v10.into_objwithargs()?;
let v11 = v11.into_ival()?;
let n = CreateCastStmt { sourcetype: v4, targettype: v6, func: v10, context: CoercionContext(v11), inout: false };
Value::node(Some(n.into()))
}
// CreateCastStmt.2
1268 => {
let [_, _, _, v4, _, v6, _, _, _, v10] = take(rhs);
let v4 = v4.into_typnam()?;
let v6 = v6.into_typnam()?;
let v10 = v10.into_ival()?;
let n = CreateCastStmt { sourcetype: v4, targettype: v6, func: None, context: CoercionContext(v10), inout: false };
Value::node(Some(n.into()))
}
// CreateCastStmt.3
1269 => {
let [_, _, _, v4, _, v6, _, _, _, v10] = take(rhs);
let v4 = v4.into_typnam()?;
let v6 = v6.into_typnam()?;
let v10 = v10.into_ival()?;
let n = CreateCastStmt { sourcetype: v4, targettype: v6, func: None, context: CoercionContext(v10), inout: true };
Value::node(Some(n.into()))
}
// cast_context.1
1270 => Value::ival(CoercionContext::COERCION_IMPLICIT.0),
// cast_context.2
1271 => Value::ival(CoercionContext::COERCION_ASSIGNMENT.0),
// cast_context.3
1272 => Value::ival(CoercionContext::COERCION_EXPLICIT.0),
// DropCastStmt.1
1273 => {
let [_, _, v3, _, v5, _, v7, _, v9] = take(rhs);
let v3 = v3.into_boolean()?;
let v5 = v5.into_typnam()?;
let v7 = v7.into_typnam()?;
let v9 = v9.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_CAST, objects: vec![crate::actions::listNode(vec![v5.map(NodeType::into_node), v7.map(NodeType::into_node)])], behavior: v9, missing_ok: v3, concurrent: false };
Value::node(Some(n.into()))
}
// opt_if_exists.1
1274 => Value::boolean(true),
// opt_if_exists.2
1275 => Value::boolean(false),
// CreateTransformStmt.1
1276 => {
let [_, v2, _, _, v5, _, v7, _, v9, _] = take(rhs);
let v2 = v2.into_boolean()?;
let v5 = v5.into_typnam()?;
let v7 = v7.into_str()?;
let v9 = v9.into_list()?;
let n = CreateTransformStmt { replace: v2, type_name: v5, lang: v7, fromsql: crate::actions::castNode::<ObjectWithArgs>(crate::actions::linitial(&v9).cloned())?, tosql: crate::actions::castNode::<ObjectWithArgs>(crate::actions::lsecond(&v9).cloned())? };
Value::node(Some(n.into()))
}
// transform_element_list.1
1277 => {
let [_, _, _, _, v5, _, _, _, _, _, v11] = take(rhs);
Value::list(vec![v5.into_node()?, v11.into_node()?])
}
// transform_element_list.2
1278 => {
let [_, _, _, _, v5, _, _, _, _, _, v11] = take(rhs);
Value::list(vec![v11.into_node()?, v5.into_node()?])
}
// transform_element_list.3
1279 => {
let [_, _, _, _, v5] = take(rhs);
Value::list(vec![v5.into_node()?, None])
}
// transform_element_list.4
1280 => {
let [_, _, _, _, v5] = take(rhs);
Value::list(vec![None, v5.into_node()?])
}
// DropTransformStmt.1
1281 => {
let [_, _, v3, _, v5, _, v7, v8] = take(rhs);
let v3 = v3.into_boolean()?;
let v5 = v5.into_typnam()?;
let v7 = v7.into_str()?;
let v8 = v8.into_dbehavior()?;
let n = DropStmt { removeType: ObjectType::OBJECT_TRANSFORM, objects: vec![crate::actions::listNode(vec![v5.map(NodeType::into_node), Some(crate::actions::makeString(v7))])], behavior: v8, missing_ok: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// ReindexStmt.1
1282 => {
let [_, v2, v3, v4, v5] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_ival()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_range()?;
let mut n = ReindexStmt { kind: ReindexObjectType(v3), relation: v5, name: None, params: v2 };
if v4 {
n.params = crate::actions::lappend(std::mem::take(&mut n.params), Some(crate::actions::makeDefElem(Some("concurrently".into()), None, at[3]).into()));
}
Value::node(Some(n.into()))
}
// ReindexStmt.2
1283 => {
let [_, v2, _, v4, v5] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_str()?;
let mut n = ReindexStmt { kind: ReindexObjectType::REINDEX_OBJECT_SCHEMA, relation: None, name: v5, params: v2 };
if v4 {
n.params = crate::actions::lappend(std::mem::take(&mut n.params), Some(crate::actions::makeDefElem(Some("concurrently".into()), None, at[3]).into()));
}
Value::node(Some(n.into()))
}
// ReindexStmt.3
1284 => {
let [_, v2, v3, v4, v5] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_ival()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_str()?;
let mut n = ReindexStmt { kind: ReindexObjectType(v3), relation: None, name: v5, params: v2 };
if v4 {
n.params = crate::actions::lappend(std::mem::take(&mut n.params), Some(crate::actions::makeDefElem(Some("concurrently".into()), None, at[3]).into()));
}
Value::node(Some(n.into()))
}
// reindex_target_relation.1
1285 => Value::ival(ReindexObjectType::REINDEX_OBJECT_INDEX.0),
// reindex_target_relation.2
1286 => Value::ival(ReindexObjectType::REINDEX_OBJECT_TABLE.0),
// reindex_target_all.1
1287 => Value::ival(ReindexObjectType::REINDEX_OBJECT_SYSTEM.0),
// reindex_target_all.2
1288 => Value::ival(ReindexObjectType::REINDEX_OBJECT_DATABASE.0),
// AlterTblSpcStmt.1
1289 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterTableSpaceOptionsStmt { tablespacename: v3, options: v5, isReset: false };
Value::node(Some(n.into()))
}
// AlterTblSpcStmt.2
1290 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterTableSpaceOptionsStmt { tablespacename: v3, options: v5, isReset: true };
Value::node(Some(n.into()))
}
// RenameStmt.1
1291 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_AGGREGATE, object: v3.map(NodeType::into_node), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.2
1292 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLLATION, object: crate::actions::listNode(v3), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.3
1293 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_CONVERSION, object: crate::actions::listNode(v3), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.4
1294 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_DATABASE, subname: v3, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.5
1295 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_DOMAIN, object: crate::actions::listNode(v3), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.6
1296 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_DOMCONSTRAINT, object: crate::actions::listNode(v3), subname: v6, newname: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.7
1297 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_str()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_FDW, object: Some(crate::actions::makeString(v5)), newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.8
1298 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_FUNCTION, object: v3.map(NodeType::into_node), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.9
1299 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_ROLE, subname: v3, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.10
1300 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_str()?;
let v7 = v7.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_LANGUAGE, object: Some(crate::actions::makeString(v4)), newname: v7, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.11
1301 => {
let [_, _, _, v4, _, v6, _, _, v9] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v9 = v9.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_OPCLASS, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4)), newname: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.12
1302 => {
let [_, _, _, v4, _, v6, _, _, v9] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v9 = v9.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_OPFAMILY, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4)), newname: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.13
1303 => {
let [_, _, v3, _, v5, _, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_POLICY, relation: v5, subname: v3, newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.14
1304 => {
let [_, _, _, _, v5, _, v7, _, _, v10] = take(rhs);
let v5 = v5.into_str()?;
let v7 = v7.into_range()?;
let v10 = v10.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_POLICY, relation: v7, subname: v5, newname: v10, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.15
1305 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_PROCEDURE, object: v3.map(NodeType::into_node), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.16
1306 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_PUBLICATION, object: Some(crate::actions::makeString(v3)), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.17
1307 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_ROUTINE, object: v3.map(NodeType::into_node), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.18
1308 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_SCHEMA, subname: v3, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.19
1309 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_FOREIGN_SERVER, object: Some(crate::actions::makeString(v3)), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.20
1310 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_SUBSCRIPTION, object: Some(crate::actions::makeString(v3)), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.21
1311 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TABLE, relation: v3, subname: None, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.22
1312 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TABLE, relation: v5, subname: None, newname: v8, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.23
1313 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_SEQUENCE, relation: v3, subname: None, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.24
1314 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_SEQUENCE, relation: v5, subname: None, newname: v8, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.25
1315 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_VIEW, relation: v3, subname: None, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.26
1316 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_VIEW, relation: v5, subname: None, newname: v8, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.27
1317 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_range()?;
let v7 = v7.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_MATVIEW, relation: v4, subname: None, newname: v7, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.28
1318 => {
let [_, _, _, _, _, v6, _, _, v9] = take(rhs);
let v6 = v6.into_range()?;
let v9 = v9.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_MATVIEW, relation: v6, subname: None, newname: v9, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.29
1319 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_INDEX, relation: v3, subname: None, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.30
1320 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_INDEX, relation: v5, subname: None, newname: v8, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.31
1321 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_range()?;
let v7 = v7.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_FOREIGN_TABLE, relation: v4, subname: None, newname: v7, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.32
1322 => {
let [_, _, _, _, _, v6, _, _, v9] = take(rhs);
let v6 = v6.into_range()?;
let v9 = v9.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_FOREIGN_TABLE, relation: v6, subname: None, newname: v9, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.33
1323 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_TABLE, relation: v3, subname: v6, newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.34
1324 => {
let [_, _, _, _, v5, _, _, v8, _, v10] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let v10 = v10.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_TABLE, relation: v5, subname: v8, newname: v10, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.35
1325 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_VIEW, relation: v3, subname: v6, newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.36
1326 => {
let [_, _, _, _, v5, _, _, v8, _, v10] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let v10 = v10.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_VIEW, relation: v5, subname: v8, newname: v10, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.37
1327 => {
let [_, _, _, v4, _, _, v7, _, v9] = take(rhs);
let v4 = v4.into_range()?;
let v7 = v7.into_str()?;
let v9 = v9.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_MATVIEW, relation: v4, subname: v7, newname: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.38
1328 => {
let [_, _, _, _, _, v6, _, _, v9, _, v11] = take(rhs);
let v6 = v6.into_range()?;
let v9 = v9.into_str()?;
let v11 = v11.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_MATVIEW, relation: v6, subname: v9, newname: v11, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.39
1329 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TABCONSTRAINT, relation: v3, subname: v6, newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.40
1330 => {
let [_, _, _, _, v5, _, _, v8, _, v10] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let v10 = v10.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TABCONSTRAINT, relation: v5, subname: v8, newname: v10, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.41
1331 => {
let [_, _, _, v4, _, _, v7, _, v9] = take(rhs);
let v4 = v4.into_range()?;
let v7 = v7.into_str()?;
let v9 = v9.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_FOREIGN_TABLE, relation: v4, subname: v7, newname: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.42
1332 => {
let [_, _, _, _, _, v6, _, _, v9, _, v11] = take(rhs);
let v6 = v6.into_range()?;
let v9 = v9.into_str()?;
let v11 = v11.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_COLUMN, relationType: ObjectType::OBJECT_FOREIGN_TABLE, relation: v6, subname: v9, newname: v11, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.43
1333 => {
let [_, _, v3, _, v5, _, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_RULE, relation: v5, subname: v3, newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.44
1334 => {
let [_, _, v3, _, v5, _, _, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TRIGGER, relation: v5, subname: v3, newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.45
1335 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_str()?;
let v7 = v7.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_EVENT_TRIGGER, object: Some(crate::actions::makeString(v4)), newname: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.46
1336 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_ROLE, subname: v3, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.47
1337 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_ROLE, subname: v3, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.48
1338 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TABLESPACE, subname: v3, newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.49
1339 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_STATISTIC_EXT, object: crate::actions::listNode(v3), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.50
1340 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TSPARSER, object: crate::actions::listNode(v5), newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.51
1341 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TSDICTIONARY, object: crate::actions::listNode(v5), newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.52
1342 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TSTEMPLATE, object: crate::actions::listNode(v5), newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.53
1343 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TSCONFIGURATION, object: crate::actions::listNode(v5), newname: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.54
1344 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_TYPE, object: crate::actions::listNode(v3), newname: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// RenameStmt.55
1345 => {
let [_, _, v3, _, _, v6, _, v8, v9] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let v9 = v9.into_dbehavior()?;
let n = RenameStmt { renameType: ObjectType::OBJECT_ATTRIBUTE, relationType: ObjectType::OBJECT_TYPE, relation: Some(Box::new(crate::actions::makeRangeVarFromAnyName(v3, at[2], p)?)), subname: v6, newname: v8, behavior: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// opt_column.1
1346 => Value::None,
// opt_column.2
1347 => Value::None,
// opt_set_data.1
1348 => Value::ival(1),
// opt_set_data.2
1349 => Value::ival(0),
// AlterObjectDependsStmt.1
1350 => {
let [_, _, v3, v4, _, _, _, v8] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v4 = v4.into_boolean()?;
let v8 = v8.into_str()?;
let n = AlterObjectDependsStmt { objectType: ObjectType::OBJECT_FUNCTION, object: v3.map(NodeType::into_node), extname: Some(crate::actions::makeString(v8)), remove: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectDependsStmt.2
1351 => {
let [_, _, v3, v4, _, _, _, v8] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v4 = v4.into_boolean()?;
let v8 = v8.into_str()?;
let n = AlterObjectDependsStmt { objectType: ObjectType::OBJECT_PROCEDURE, object: v3.map(NodeType::into_node), extname: Some(crate::actions::makeString(v8)), remove: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectDependsStmt.3
1352 => {
let [_, _, v3, v4, _, _, _, v8] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v4 = v4.into_boolean()?;
let v8 = v8.into_str()?;
let n = AlterObjectDependsStmt { objectType: ObjectType::OBJECT_ROUTINE, object: v3.map(NodeType::into_node), extname: Some(crate::actions::makeString(v8)), remove: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectDependsStmt.4
1353 => {
let [_, _, v3, _, v5, v6, _, _, _, v10] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_range()?;
let v6 = v6.into_boolean()?;
let v10 = v10.into_str()?;
let n = AlterObjectDependsStmt { objectType: ObjectType::OBJECT_TRIGGER, relation: v5, object: crate::actions::listNode(vec![Some(crate::actions::makeString(v3))]), extname: Some(crate::actions::makeString(v10)), remove: v6 };
Value::node(Some(n.into()))
}
// AlterObjectDependsStmt.5
1354 => {
let [_, _, _, v4, v5, _, _, _, v9] = take(rhs);
let v4 = v4.into_range()?;
let v5 = v5.into_boolean()?;
let v9 = v9.into_str()?;
let n = AlterObjectDependsStmt { objectType: ObjectType::OBJECT_MATVIEW, relation: v4, extname: Some(crate::actions::makeString(v9)), remove: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectDependsStmt.6
1355 => {
let [_, _, v3, v4, _, _, _, v8] = take(rhs);
let v3 = v3.into_range()?;
let v4 = v4.into_boolean()?;
let v8 = v8.into_str()?;
let n = AlterObjectDependsStmt { objectType: ObjectType::OBJECT_INDEX, relation: v3, extname: Some(crate::actions::makeString(v8)), remove: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// opt_no.1
1356 => Value::boolean(true),
// opt_no.2
1357 => Value::boolean(false),
// AlterObjectSchemaStmt.1
1358 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_AGGREGATE, object: v3.map(NodeType::into_node), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.2
1359 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_COLLATION, object: crate::actions::listNode(v3), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.3
1360 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_CONVERSION, object: crate::actions::listNode(v3), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.4
1361 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_DOMAIN, object: crate::actions::listNode(v3), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.5
1362 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_EXTENSION, object: Some(crate::actions::makeString(v3)), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.6
1363 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_FUNCTION, object: v3.map(NodeType::into_node), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.7
1364 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_OPERATOR, object: v3.map(NodeType::into_node), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.8
1365 => {
let [_, _, _, v4, _, v6, _, _, v9] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v9 = v9.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_OPCLASS, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4)), newschema: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.9
1366 => {
let [_, _, _, v4, _, v6, _, _, v9] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v9 = v9.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_OPFAMILY, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4)), newschema: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.10
1367 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_PROCEDURE, object: v3.map(NodeType::into_node), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.11
1368 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_ROUTINE, object: v3.map(NodeType::into_node), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.12
1369 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_TABLE, relation: v3, newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.13
1370 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_TABLE, relation: v5, newschema: v8, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.14
1371 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_STATISTIC_EXT, object: crate::actions::listNode(v3), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.15
1372 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_TSPARSER, object: crate::actions::listNode(v5), newschema: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.16
1373 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_TSDICTIONARY, object: crate::actions::listNode(v5), newschema: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.17
1374 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_TSTEMPLATE, object: crate::actions::listNode(v5), newschema: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.18
1375 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_TSCONFIGURATION, object: crate::actions::listNode(v5), newschema: v8, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.19
1376 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_SEQUENCE, relation: v3, newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.20
1377 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_SEQUENCE, relation: v5, newschema: v8, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.21
1378 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_range()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_VIEW, relation: v3, newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.22
1379 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_range()?;
let v8 = v8.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_VIEW, relation: v5, newschema: v8, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.23
1380 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_range()?;
let v7 = v7.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_MATVIEW, relation: v4, newschema: v7, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.24
1381 => {
let [_, _, _, _, _, v6, _, _, v9] = take(rhs);
let v6 = v6.into_range()?;
let v9 = v9.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_MATVIEW, relation: v6, newschema: v9, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.25
1382 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_range()?;
let v7 = v7.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_FOREIGN_TABLE, relation: v4, newschema: v7, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.26
1383 => {
let [_, _, _, _, _, v6, _, _, v9] = take(rhs);
let v6 = v6.into_range()?;
let v9 = v9.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_FOREIGN_TABLE, relation: v6, newschema: v9, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterObjectSchemaStmt.27
1384 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = AlterObjectSchemaStmt { objectType: ObjectType::OBJECT_TYPE, object: crate::actions::listNode(v3), newschema: v6, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOperatorStmt.1
1385 => {
let [_, _, v3, _, _, v6, _] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_list()?;
let n = AlterOperatorStmt { opername: v3, options: v6 };
Value::node(Some(n.into()))
}
// operator_def_list.1
1386 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// operator_def_list.2
1387 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// operator_def_elem.1
1388 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, None, at[0]))))
}
// operator_def_elem.2
1389 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v3, at[0]))))
}
// operator_def_elem.3
1390 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, None, at[0]))))
}
// operator_def_arg.1
1391 => {
let [v1] = take(rhs);
Value::node(v1.into_node()?)
}
// operator_def_arg.2
1392 => {
let [v1] = take(rhs);
let v1 = v1.into_keyword()?;
Value::node(Some(crate::actions::makeString(Some(v1.into()))))
}
// operator_def_arg.3
1393 => {
let [v1] = take(rhs);
Value::node(v1.into_node()?)
}
// operator_def_arg.4
1394 => {
let [v1] = take(rhs);
v1
}
// operator_def_arg.5
1395 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeString(v1)))
}
// AlterTypeStmt.1
1396 => {
let [_, _, v3, _, _, v6, _] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_list()?;
let n = AlterTypeStmt { typeName: v3, options: v6 };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.1
1397 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_AGGREGATE, object: v3.map(NodeType::into_node), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.2
1398 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_COLLATION, object: crate::actions::listNode(v3), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.3
1399 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_CONVERSION, object: crate::actions::listNode(v3), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.4
1400 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_DATABASE, object: Some(crate::actions::makeString(v3)), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.5
1401 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_DOMAIN, object: crate::actions::listNode(v3), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.6
1402 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_FUNCTION, object: v3.map(NodeType::into_node), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.7
1403 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_str()?;
let v7 = v7.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_LANGUAGE, object: Some(crate::actions::makeString(v4)), newowner: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.8
1404 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_node()?;
let v7 = v7.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_LARGEOBJECT, object: v4, newowner: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.9
1405 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_OPERATOR, object: v3.map(NodeType::into_node), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.10
1406 => {
let [_, _, _, v4, _, v6, _, _, v9] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v9 = v9.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_OPCLASS, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4)), newowner: v9, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.11
1407 => {
let [_, _, _, v4, _, v6, _, _, v9] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v9 = v9.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_OPFAMILY, object: crate::actions::listNode(crate::actions::lcons(Some(crate::actions::makeString(v6)), v4)), newowner: v9, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.12
1408 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_PROCEDURE, object: v3.map(NodeType::into_node), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.13
1409 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_objwithargs()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_ROUTINE, object: v3.map(NodeType::into_node), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.14
1410 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_SCHEMA, object: Some(crate::actions::makeString(v3)), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.15
1411 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_TYPE, object: crate::actions::listNode(v3), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.16
1412 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_TABLESPACE, object: Some(crate::actions::makeString(v3)), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.17
1413 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_STATISTIC_EXT, object: crate::actions::listNode(v3), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.18
1414 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_TSDICTIONARY, object: crate::actions::listNode(v5), newowner: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.19
1415 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_TSCONFIGURATION, object: crate::actions::listNode(v5), newowner: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.20
1416 => {
let [_, _, _, _, v5, _, _, v8] = take(rhs);
let v5 = v5.into_str()?;
let v8 = v8.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_FDW, object: Some(crate::actions::makeString(v5)), newowner: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.21
1417 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_FOREIGN_SERVER, object: Some(crate::actions::makeString(v3)), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.22
1418 => {
let [_, _, _, v4, _, _, v7] = take(rhs);
let v4 = v4.into_str()?;
let v7 = v7.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_EVENT_TRIGGER, object: Some(crate::actions::makeString(v4)), newowner: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.23
1419 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_PUBLICATION, object: Some(crate::actions::makeString(v3)), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterOwnerStmt.24
1420 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_rolespec()?;
let n = AlterOwnerStmt { objectType: ObjectType::OBJECT_SUBSCRIPTION, object: Some(crate::actions::makeString(v3)), newowner: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// CreatePublicationStmt.1
1421 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let n = CreatePublicationStmt { pubname: v3, options: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// CreatePublicationStmt.2
1422 => {
let [_, _, v3, _, v5, v6] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let mut n = CreatePublicationStmt { pubname: v3, ..Default::default() };
crate::actions::preprocess_pub_all_objtype_list(v5, &mut n.pubobjects, &mut n.for_all_tables, &mut n.for_all_sequences, p)?;
n.options = v6;
Value::node(Some(n.into()))
}
// CreatePublicationStmt.3
1423 => {
let [_, _, v3, _, v5, v6] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let mut n = CreatePublicationStmt { pubname: v3, options: v6, pubobjects: v5, ..Default::default() };
crate::actions::preprocess_pubobj_list(&mut n.pubobjects, p)?;
Value::node(Some(n.into()))
}
// PublicationObjSpec.1
1424 => {
let [_, v2, v3, v4] = take(rhs);
let v2 = v2.into_range()?;
let v3 = v3.into_list()?;
let v4 = v4.into_node()?;
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_TABLE;
crate::actions::pointee_mut(&mut result)?.pubtable = Some(Box::new(PublicationTable::default()));
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.relation = v2;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.columns = v3;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.whereClause = v4;
Value::publicationobjectspec(result)
}
// PublicationObjSpec.2
1425 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_TABLES_IN_SCHEMA;
crate::actions::pointee_mut(&mut result)?.name = v4;
crate::actions::pointee_mut(&mut result)?.location = at[3];
Value::publicationobjectspec(result)
}
// PublicationObjSpec.3
1426 => {
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
crate::actions::pointee_mut(&mut result)?.location = at[3];
Value::publicationobjectspec(result)
}
// PublicationObjSpec.4
1427 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let v3 = v3.into_node()?;
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_CONTINUATION;
if !v2.is_empty() || v3.is_some() {
crate::actions::pointee_mut(&mut result)?.pubtable = Some(Box::new(PublicationTable::default()));
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.relation = Some(Box::new(crate::actions::makeRangeVar(None, v1, at[0])));
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.columns = v2;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.whereClause = v3;
} else {
crate::actions::pointee_mut(&mut result)?.name = v1;
}
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::publicationobjectspec(result)
}
// PublicationObjSpec.5
1428 => {
let [v1, v2, v3, v4] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let v4 = v4.into_node()?;
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_CONTINUATION;
crate::actions::pointee_mut(&mut result)?.pubtable = Some(Box::new(PublicationTable::default()));
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.relation = Some(Box::new(crate::actions::makeRangeVarFromQualifiedName(v1, v2, at[0], p)?));
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.columns = v3;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.whereClause = v4;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::publicationobjectspec(result)
}
// PublicationObjSpec.6
1429 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_range()?;
let v2 = v2.into_list()?;
let v3 = v3.into_node()?;
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_CONTINUATION;
crate::actions::pointee_mut(&mut result)?.pubtable = Some(Box::new(PublicationTable::default()));
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.relation = v1;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.columns = v2;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.whereClause = v3;
Value::publicationobjectspec(result)
}
// PublicationObjSpec.7
1430 => {
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_CONTINUATION;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::publicationobjectspec(result)
}
// pub_obj_list.1
1431 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// pub_obj_list.2
1432 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// opt_pub_except_clause.1
1433 => {
let [_, _, _, v4, _] = take(rhs);
v4
}
// opt_pub_except_clause.2
1434 => Value::list(List::new()),
// PublicationAllObjSpec.1
1435 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let mut result: Option<Box<PublicationAllObjSpec>>;
result = Some(Box::new(PublicationAllObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationAllObjType::PUBLICATION_ALL_TABLES;
crate::actions::pointee_mut(&mut result)?.except_tables = v3;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::publicationallobjectspec(result)
}
// PublicationAllObjSpec.2
1436 => {
let mut result: Option<Box<PublicationAllObjSpec>>;
result = Some(Box::new(PublicationAllObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationAllObjType::PUBLICATION_ALL_SEQUENCES;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::publicationallobjectspec(result)
}
// pub_all_obj_type_list.1
1437 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// pub_all_obj_type_list.2
1438 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// PublicationExceptObjSpec.1
1439 => {
let [v1] = take(rhs);
let v1 = v1.into_range()?;
let mut result: Option<Box<PublicationObjSpec>>;
result = Some(Box::new(PublicationObjSpec::default()));
crate::actions::pointee_mut(&mut result)?.pubobjtype = PublicationObjSpecType::PUBLICATIONOBJ_EXCEPT_TABLE;
crate::actions::pointee_mut(&mut result)?.pubtable = Some(Box::new(PublicationTable::default()));
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.except = true;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut result)?.pubtable)?.relation = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::publicationobjectspec(result)
}
// pub_except_obj_list.1
1440 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// pub_except_obj_list.2
1441 => {
let [v1, _, _, v4] = take(rhs);
let mut list = v1.into_list()?;
list.push(v4.into_node()?);
Value::list(list)
}
// AlterPublicationStmt.1
1442 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterPublicationStmt { pubname: v3, options: v5, for_all_tables: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterPublicationStmt.2
1443 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let mut n = AlterPublicationStmt { pubname: v3, pubobjects: v5, ..Default::default() };
crate::actions::preprocess_pubobj_list(&mut n.pubobjects, p)?;
n.action = AlterPublicationAction::AP_AddObjects;
n.for_all_tables = false;
Value::node(Some(n.into()))
}
// AlterPublicationStmt.3
1444 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let mut n = AlterPublicationStmt { pubname: v3, pubobjects: v5, ..Default::default() };
crate::actions::preprocess_pubobj_list(&mut n.pubobjects, p)?;
n.action = AlterPublicationAction::AP_SetObjects;
n.for_all_tables = false;
Value::node(Some(n.into()))
}
// AlterPublicationStmt.4
1445 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let mut n = AlterPublicationStmt { pubname: v3, action: AlterPublicationAction::AP_SetObjects, ..Default::default() };
crate::actions::preprocess_pub_all_objtype_list(v5, &mut n.pubobjects, &mut n.for_all_tables, &mut n.for_all_sequences, p)?;
Value::node(Some(n.into()))
}
// AlterPublicationStmt.5
1446 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let mut n = AlterPublicationStmt { pubname: v3, pubobjects: v5, ..Default::default() };
crate::actions::preprocess_pubobj_list(&mut n.pubobjects, p)?;
n.action = AlterPublicationAction::AP_DropObjects;
n.for_all_tables = false;
Value::node(Some(n.into()))
}
// CreateSubscriptionStmt.1
1447 => {
let [_, _, v3, _, v5, _, v7, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_str()?;
let v7 = v7.into_list()?;
let v8 = v8.into_list()?;
let n = CreateSubscriptionStmt { subname: v3, conninfo: v5, publication: v7, options: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// CreateSubscriptionStmt.2
1448 => {
let [_, _, v3, _, v5, _, v7, v8] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_str()?;
let v7 = v7.into_list()?;
let v8 = v8.into_list()?;
let n = CreateSubscriptionStmt { subname: v3, servername: v5, publication: v7, options: v8, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.1
1449 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_OPTIONS, subname: v3, options: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.2
1450 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_str()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_CONNECTION, subname: v3, conninfo: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.3
1451 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_str()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_SERVER, subname: v3, servername: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.4
1452 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_list()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_REFRESH_PUBLICATION, subname: v3, options: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.5
1453 => {
let [_, _, v3, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_REFRESH_SEQUENCES, subname: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.6
1454 => {
let [_, _, v3, _, _, v6, v7] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_ADD_PUBLICATION, subname: v3, publication: v6, options: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.7
1455 => {
let [_, _, v3, _, _, v6, v7] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_DROP_PUBLICATION, subname: v3, publication: v6, options: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.8
1456 => {
let [_, _, v3, _, _, v6, v7] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_list()?;
let v7 = v7.into_list()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_SET_PUBLICATION, subname: v3, publication: v6, options: v7, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.9
1457 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_ENABLED, subname: v3, options: vec![Some(crate::actions::makeDefElem(Some("enabled".into()), Some(crate::actions::makeBoolean(true)), at[0]).into())], ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.10
1458 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_ENABLED, subname: v3, options: vec![Some(crate::actions::makeDefElem(Some("enabled".into()), Some(crate::actions::makeBoolean(false)), at[0]).into())], ..Default::default() };
Value::node(Some(n.into()))
}
// AlterSubscriptionStmt.11
1459 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterSubscriptionStmt { kind: AlterSubscriptionType::ALTER_SUBSCRIPTION_SKIP, subname: v3, options: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// DropSubscriptionStmt.1
1460 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_dbehavior()?;
let n = DropSubscriptionStmt { subname: v3, missing_ok: false, behavior: v4 };
Value::node(Some(n.into()))
}
// DropSubscriptionStmt.2
1461 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_str()?;
let v6 = v6.into_dbehavior()?;
let n = DropSubscriptionStmt { subname: v5, missing_ok: true, behavior: v6 };
Value::node(Some(n.into()))
}
// RuleStmt.1
1462 => {
let [_, v2, _, v4, _, _, v7, _, v9, v10, _, v12, v13] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_str()?;
let v7 = v7.into_ival()?;
let v9 = v9.into_range()?;
let v10 = v10.into_node()?;
let v12 = v12.into_boolean()?;
let v13 = v13.into_list()?;
let n = RuleStmt { replace: v2, relation: v9, rulename: v4, whereClause: v10, event: CmdType(v7), instead: v12, actions: v13 };
Value::node(Some(n.into()))
}
// RuleActionList.1
1463 => Value::list(List::new()),
// RuleActionList.2
1464 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// RuleActionList.3
1465 => {
let [_, v2, _] = take(rhs);
v2
}
// RuleActionMulti.1
1466 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_node()?;
Value::list(if v3.is_some() {
crate::actions::lappend(v1, v3)
} else {
v1
})
}
// RuleActionMulti.2
1467 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
Value::list(if v1.is_some() {
vec![v1]
} else {
List::new()
})
}
// RuleActionStmt.1
1468 => {
let [v1] = take(rhs);
v1
}
// RuleActionStmt.2
1469 => {
let [v1] = take(rhs);
v1
}
// RuleActionStmt.3
1470 => {
let [v1] = take(rhs);
v1
}
// RuleActionStmt.4
1471 => {
let [v1] = take(rhs);
v1
}
// RuleActionStmt.5
1472 => {
let [v1] = take(rhs);
v1
}
// RuleActionStmtOrEmpty.1
1473 => {
let [v1] = take(rhs);
v1
}
// RuleActionStmtOrEmpty.2
1474 => Value::node(None),
// event.1
1475 => Value::ival(CmdType::CMD_SELECT.0),
// event.2
1476 => Value::ival(CmdType::CMD_UPDATE.0),
// event.3
1477 => Value::ival(CmdType::CMD_DELETE.0),
// event.4
1478 => Value::ival(CmdType::CMD_INSERT.0),
// opt_instead.1
1479 => Value::boolean(true),
// opt_instead.2
1480 => Value::boolean(false),
// opt_instead.3
1481 => Value::boolean(false),
// NotifyStmt.1
1482 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_str()?;
let n = NotifyStmt { conditionname: v2, payload: v3 };
Value::node(Some(n.into()))
}
// notify_payload.1
1483 => {
let [_, v2] = take(rhs);
v2
}
// notify_payload.2
1484 => Value::str(None),
// ListenStmt.1
1485 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = ListenStmt { conditionname: v2 };
Value::node(Some(n.into()))
}
// UnlistenStmt.1
1486 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = UnlistenStmt { conditionname: v2 };
Value::node(Some(n.into()))
}
// UnlistenStmt.2
1487 => {
let n = UnlistenStmt { conditionname: None };
Value::node(Some(n.into()))
}
// TransactionStmt.1
1488 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_boolean()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_ROLLBACK, options: List::new(), chain: v3, location: -1, ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.2
1489 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_START, options: v3, location: -1, ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.3
1490 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_boolean()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_COMMIT, options: List::new(), chain: v3, location: -1, ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.4
1491 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_boolean()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_ROLLBACK, options: List::new(), chain: v3, location: -1, ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.5
1492 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_SAVEPOINT, savepoint_name: v2, location: at[1], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.6
1493 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_RELEASE, savepoint_name: v3, location: at[2], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.7
1494 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_RELEASE, savepoint_name: v2, location: at[1], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.8
1495 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_ROLLBACK_TO, savepoint_name: v5, location: at[4], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.9
1496 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_ROLLBACK_TO, savepoint_name: v4, location: at[3], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.10
1497 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_PREPARE, gid: v3, location: at[2], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.11
1498 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_COMMIT_PREPARED, gid: v3, location: at[2], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmt.12
1499 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_ROLLBACK_PREPARED, gid: v3, location: at[2], ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmtLegacy.1
1500 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_BEGIN, options: v3, location: -1, ..Default::default() };
Value::node(Some(n.into()))
}
// TransactionStmtLegacy.2
1501 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_boolean()?;
let n = TransactionStmt { kind: TransactionStmtKind::TRANS_STMT_COMMIT, options: List::new(), chain: v3, location: -1, ..Default::default() };
Value::node(Some(n.into()))
}
// opt_transaction.1
1502 => Value::None,
// opt_transaction.2
1503 => Value::None,
// opt_transaction.3
1504 => Value::None,
// transaction_mode_item.1
1505 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("transaction_isolation".into()), Some(crate::actions::makeStringConst(v3, at[2])), at[0]))))
}
// transaction_mode_item.2
1506 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("transaction_read_only".into()), Some(crate::actions::makeIntConst(i32::from(true), at[0])), at[0])))),
// transaction_mode_item.3
1507 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("transaction_read_only".into()), Some(crate::actions::makeIntConst(i32::from(false), at[0])), at[0])))),
// transaction_mode_item.4
1508 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("transaction_deferrable".into()), Some(crate::actions::makeIntConst(i32::from(true), at[0])), at[0])))),
// transaction_mode_item.5
1509 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("transaction_deferrable".into()), Some(crate::actions::makeIntConst(i32::from(false), at[0])), at[0])))),
// transaction_mode_list.1
1510 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// transaction_mode_list.2
1511 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// transaction_mode_list.3
1512 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// transaction_mode_list_or_empty.1
1513 => {
let [v1] = take(rhs);
v1
}
// transaction_mode_list_or_empty.2
1514 => Value::list(List::new()),
// opt_transaction_chain.1
1515 => Value::boolean(true),
// opt_transaction_chain.2
1516 => Value::boolean(false),
// opt_transaction_chain.3
1517 => Value::boolean(false),
// ViewStmt.1
1518 => {
let [_, v2, _, v4, v5, v6, _, v8, v9] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_range()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let v8 = v8.into_node()?;
let v9 = v9.into_ival()?;
let mut n = ViewStmt { view: v4, ..Default::default() };
crate::actions::pointee_mut(&mut n.view)?.relpersistence = v2 as u8;
n.aliases = v5;
n.query = v8;
n.replace = false;
n.options = v6;
n.withCheckOption = ViewCheckOption(v9);
Value::node(Some(n.into()))
}
// ViewStmt.2
1519 => {
let [_, _, _, v4, _, v6, v7, v8, _, v10, v11] = take(rhs);
let v4 = v4.into_ival()?;
let v6 = v6.into_range()?;
let v7 = v7.into_list()?;
let v8 = v8.into_list()?;
let v10 = v10.into_node()?;
let v11 = v11.into_ival()?;
let mut n = ViewStmt { view: v6, ..Default::default() };
crate::actions::pointee_mut(&mut n.view)?.relpersistence = v4 as u8;
n.aliases = v7;
n.query = v10;
n.replace = true;
n.options = v8;
n.withCheckOption = ViewCheckOption(v11);
Value::node(Some(n.into()))
}
// ViewStmt.3
1520 => {
let [_, v2, _, _, v5, _, v7, _, v9, _, v11, v12] = take(rhs);
let v2 = v2.into_ival()?;
let v5 = v5.into_range()?;
let v7 = v7.into_list()?;
let v9 = v9.into_list()?;
let v11 = v11.into_node()?;
let v12 = v12.into_ival()?;
let mut n = ViewStmt { view: v5, ..Default::default() };
crate::actions::pointee_mut(&mut n.view)?.relpersistence = v2 as u8;
n.aliases = v7;
n.query = Some(crate::actions::makeRecursiveViewSelect(crate::actions::pointee(&n.view)?.relname.clone(), &n.aliases, v11));
n.replace = false;
n.options = v9;
n.withCheckOption = ViewCheckOption(v12);
if n.withCheckOption != ViewCheckOption::NO_CHECK_OPTION {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "WITH CHECK OPTION not supported on recursive views", at[11]));
}
Value::node(Some(n.into()))
}
// ViewStmt.4
1521 => {
let [_, _, _, v4, _, _, v7, _, v9, _, v11, _, v13, v14] = take(rhs);
let v4 = v4.into_ival()?;
let v7 = v7.into_range()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let v13 = v13.into_node()?;
let v14 = v14.into_ival()?;
let mut n = ViewStmt { view: v7, ..Default::default() };
crate::actions::pointee_mut(&mut n.view)?.relpersistence = v4 as u8;
n.aliases = v9;
n.query = Some(crate::actions::makeRecursiveViewSelect(crate::actions::pointee(&n.view)?.relname.clone(), &n.aliases, v13));
n.replace = true;
n.options = v11;
n.withCheckOption = ViewCheckOption(v14);
if n.withCheckOption != ViewCheckOption::NO_CHECK_OPTION {
return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "WITH CHECK OPTION not supported on recursive views", at[13]));
}
Value::node(Some(n.into()))
}
// opt_check_option.1
1522 => Value::ival(ViewCheckOption::CASCADED_CHECK_OPTION.0),
// opt_check_option.2
1523 => Value::ival(ViewCheckOption::CASCADED_CHECK_OPTION.0),
// opt_check_option.3
1524 => Value::ival(ViewCheckOption::LOCAL_CHECK_OPTION.0),
// opt_check_option.4
1525 => Value::ival(ViewCheckOption::NO_CHECK_OPTION.0),
// LoadStmt.1
1526 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = LoadStmt { filename: v2 };
Value::node(Some(n.into()))
}
// CreatedbStmt.1
1527 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = CreatedbStmt { dbname: v3, options: v5 };
Value::node(Some(n.into()))
}
// createdb_opt_list.1
1528 => {
let [v1] = take(rhs);
v1
}
// createdb_opt_list.2
1529 => Value::list(List::new()),
// createdb_opt_items.1
1530 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// createdb_opt_items.2
1531 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// createdb_opt_item.1
1532 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v3, at[0]))))
}
// createdb_opt_item.2
1533 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, Some(crate::actions::makeString(v3)), at[0]))))
}
// createdb_opt_item.3
1534 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, None, at[0]))))
}
// createdb_opt_name.1
1535 => {
let [v1] = take(rhs);
v1
}
// createdb_opt_name.2
1536 => Value::str(Some("connection_limit".into())),
// createdb_opt_name.3
1537 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// createdb_opt_name.4
1538 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// createdb_opt_name.5
1539 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// createdb_opt_name.6
1540 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// createdb_opt_name.7
1541 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// opt_equal.1
1542 => Value::None,
// opt_equal.2
1543 => Value::None,
// AlterDatabaseStmt.1
1544 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_list()?;
let n = AlterDatabaseStmt { dbname: v3, options: v5 };
Value::node(Some(n.into()))
}
// AlterDatabaseStmt.2
1545 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_list()?;
let n = AlterDatabaseStmt { dbname: v3, options: v4 };
Value::node(Some(n.into()))
}
// AlterDatabaseStmt.3
1546 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_str()?;
let n = AlterDatabaseStmt { dbname: v3, options: vec![Some(crate::actions::makeDefElem(Some("tablespace".into()), Some(crate::actions::makeString(v6)), at[5]).into())] };
Value::node(Some(n.into()))
}
// AlterDatabaseStmt.4
1547 => {
let [_, _, v3, _, _, _] = take(rhs);
let v3 = v3.into_str()?;
let n = AlterDatabaseRefreshCollStmt { dbname: v3 };
Value::node(Some(n.into()))
}
// AlterDatabaseSetStmt.1
1548 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_str()?;
let v4 = v4.into_vsetstmt()?;
let n = AlterDatabaseSetStmt { dbname: v3, setstmt: v4 };
Value::node(Some(n.into()))
}
// DropdbStmt.1
1549 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = DropdbStmt { dbname: v3, missing_ok: false, options: List::new() };
Value::node(Some(n.into()))
}
// DropdbStmt.2
1550 => {
let [_, _, _, _, v5] = take(rhs);
let v5 = v5.into_str()?;
let n = DropdbStmt { dbname: v5, missing_ok: true, options: List::new() };
Value::node(Some(n.into()))
}
// DropdbStmt.3
1551 => {
let [_, _, v3, _, _, v6, _] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_list()?;
let n = DropdbStmt { dbname: v3, missing_ok: false, options: v6 };
Value::node(Some(n.into()))
}
// DropdbStmt.4
1552 => {
let [_, _, _, _, v5, _, _, v8, _] = take(rhs);
let v5 = v5.into_str()?;
let v8 = v8.into_list()?;
let n = DropdbStmt { dbname: v5, missing_ok: true, options: v8 };
Value::node(Some(n.into()))
}
// drop_option_list.1
1553 => {
let [v1] = take(rhs);
let v1 = v1.into_defelt()?;
Value::list(vec![v1.map(NodeType::into_node)])
}
// drop_option_list.2
1554 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_defelt()?;
Value::list(crate::actions::lappend(v1, v3.map(NodeType::into_node)))
}
// drop_option.1
1555 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("force".into()), None, at[0])))),
// AlterCollationStmt.1
1556 => {
let [_, _, v3, _, _] = take(rhs);
let v3 = v3.into_list()?;
let n = AlterCollationStmt { collname: v3 };
Value::node(Some(n.into()))
}
// AlterSystemStmt.1
1557 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_vsetstmt()?;
let n = AlterSystemStmt { setstmt: v4 };
Value::node(Some(n.into()))
}
// AlterSystemStmt.2
1558 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_vsetstmt()?;
let n = AlterSystemStmt { setstmt: v4 };
Value::node(Some(n.into()))
}
// CreateDomainStmt.1
1559 => {
let [_, _, v3, _, v5, v6] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_typnam()?;
let v6 = v6.into_list()?;
let mut n = CreateDomainStmt { domainname: v3, typeName: v5, ..Default::default() };
crate::actions::SplitColQualList(v6, &mut n.constraints, &mut n.collClause, p)?;
Value::node(Some(n.into()))
}
// AlterDomainStmt.1
1560 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_node()?;
let n = AlterDomainStmt { subtype: AlterDomainType::AD_AlterDefault, typeName: v3, def: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterDomainStmt.2
1561 => {
let [_, _, v3, _, _, _] = take(rhs);
let v3 = v3.into_list()?;
let n = AlterDomainStmt { subtype: AlterDomainType::AD_DropNotNull, typeName: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterDomainStmt.3
1562 => {
let [_, _, v3, _, _, _] = take(rhs);
let v3 = v3.into_list()?;
let n = AlterDomainStmt { subtype: AlterDomainType::AD_SetNotNull, typeName: v3, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterDomainStmt.4
1563 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_node()?;
let n = AlterDomainStmt { subtype: AlterDomainType::AD_AddConstraint, typeName: v3, def: v5, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterDomainStmt.5
1564 => {
let [_, _, v3, _, _, v6, v7] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let v7 = v7.into_dbehavior()?;
let n = AlterDomainStmt { subtype: AlterDomainType::AD_DropConstraint, typeName: v3, name: v6, behavior: v7, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterDomainStmt.6
1565 => {
let [_, _, v3, _, _, _, _, v8, v9] = take(rhs);
let v3 = v3.into_list()?;
let v8 = v8.into_str()?;
let v9 = v9.into_dbehavior()?;
let n = AlterDomainStmt { subtype: AlterDomainType::AD_DropConstraint, typeName: v3, name: v8, behavior: v9, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterDomainStmt.7
1566 => {
let [_, _, v3, _, _, v6] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_str()?;
let n = AlterDomainStmt { subtype: AlterDomainType::AD_ValidateConstraint, typeName: v3, name: v6, ..Default::default() };
Value::node(Some(n.into()))
}
// opt_as.1
1567 => Value::None,
// opt_as.2
1568 => Value::None,
// AlterTSDictionaryStmt.1
1569 => {
let [_, _, _, _, v5, v6] = take(rhs);
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let n = AlterTSDictionaryStmt { dictname: v5, options: v6 };
Value::node(Some(n.into()))
}
// AlterTSConfigurationStmt.1
1570 => {
let [_, _, _, _, v5, _, _, _, v9, _, v11] = take(rhs);
let v5 = v5.into_list()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let n = AlterTSConfigurationStmt { kind: AlterTSConfigType::ALTER_TSCONFIG_ADD_MAPPING, cfgname: v5, tokentype: v9, dicts: v11, r#override: false, replace: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterTSConfigurationStmt.2
1571 => {
let [_, _, _, _, v5, _, _, _, v9, _, v11] = take(rhs);
let v5 = v5.into_list()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let n = AlterTSConfigurationStmt { kind: AlterTSConfigType::ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN, cfgname: v5, tokentype: v9, dicts: v11, r#override: true, replace: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterTSConfigurationStmt.3
1572 => {
let [_, _, _, _, v5, _, _, _, v9, _, v11] = take(rhs);
let v5 = v5.into_list()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let n = AlterTSConfigurationStmt { kind: AlterTSConfigType::ALTER_TSCONFIG_REPLACE_DICT, cfgname: v5, tokentype: List::new(), dicts: vec![crate::actions::listNode(v9), crate::actions::listNode(v11)], r#override: false, replace: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterTSConfigurationStmt.4
1573 => {
let [_, _, _, _, v5, _, _, _, v9, _, v11, _, v13] = take(rhs);
let v5 = v5.into_list()?;
let v9 = v9.into_list()?;
let v11 = v11.into_list()?;
let v13 = v13.into_list()?;
let n = AlterTSConfigurationStmt { kind: AlterTSConfigType::ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN, cfgname: v5, tokentype: v9, dicts: vec![crate::actions::listNode(v11), crate::actions::listNode(v13)], r#override: false, replace: true, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterTSConfigurationStmt.5
1574 => {
let [_, _, _, _, v5, _, _, _, v9] = take(rhs);
let v5 = v5.into_list()?;
let v9 = v9.into_list()?;
let n = AlterTSConfigurationStmt { kind: AlterTSConfigType::ALTER_TSCONFIG_DROP_MAPPING, cfgname: v5, tokentype: v9, missing_ok: false, ..Default::default() };
Value::node(Some(n.into()))
}
// AlterTSConfigurationStmt.6
1575 => {
let [_, _, _, _, v5, _, _, _, _, _, v11] = take(rhs);
let v5 = v5.into_list()?;
let v11 = v11.into_list()?;
let n = AlterTSConfigurationStmt { kind: AlterTSConfigType::ALTER_TSCONFIG_DROP_MAPPING, cfgname: v5, tokentype: v11, missing_ok: true, ..Default::default() };
Value::node(Some(n.into()))
}
// any_with.1
1576 => Value::None,
// any_with.2
1577 => Value::None,
// CreateConversionStmt.1
1578 => {
let [_, v2, _, v4, _, v6, _, v8, _, v10] = take(rhs);
let v2 = v2.into_boolean()?;
let v4 = v4.into_list()?;
let v6 = v6.into_str()?;
let v8 = v8.into_str()?;
let v10 = v10.into_list()?;
let n = CreateConversionStmt { conversion_name: v4, for_encoding_name: v6, to_encoding_name: v8, func_name: v10, def: v2 };
Value::node(Some(n.into()))
}
// RepackStmt.1
1579 => {
let [_, v2, v3, v4, _, _, v7] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let v7 = v7.into_str()?;
let n = RepackStmt { command: RepackCommand::REPACK_COMMAND_REPACK, relation: Some(Box::new(crate::actions::makeVacuumRelation(v3, InvalidOid, v4))), indexname: v7, usingindex: true, params: v2 };
Value::node(Some(n.into()))
}
// RepackStmt.2
1580 => {
let [_, v2, v3, v4, v5] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_range()?;
let v4 = v4.into_list()?;
let v5 = v5.into_boolean()?;
let n = RepackStmt { command: RepackCommand::REPACK_COMMAND_REPACK, relation: Some(Box::new(crate::actions::makeVacuumRelation(v3, InvalidOid, v4))), indexname: None, usingindex: v5, params: v2 };
Value::node(Some(n.into()))
}
// RepackStmt.3
1581 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_boolean()?;
let n = RepackStmt { command: RepackCommand::REPACK_COMMAND_REPACK, relation: None, indexname: None, usingindex: v3, params: v2 };
Value::node(Some(n.into()))
}
// RepackStmt.4
1582 => {
let [_, _, v3, _, v5, v6] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_range()?;
let v6 = v6.into_str()?;
let mut n = RepackStmt { command: RepackCommand::REPACK_COMMAND_CLUSTER, relation: Some(Box::new(VacuumRelation::default())), ..Default::default() };
crate::actions::pointee_mut(&mut n.relation)?.relation = v5;
n.indexname = v6;
n.usingindex = true;
n.params = v3;
Value::node(Some(n.into()))
}
// RepackStmt.5
1583 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = RepackStmt { command: RepackCommand::REPACK_COMMAND_CLUSTER, relation: None, indexname: None, usingindex: true, params: v2 };
Value::node(Some(n.into()))
}
// RepackStmt.6
1584 => {
let [_, v2, v3, v4] = take(rhs);
let v2 = v2.into_boolean()?;
let v3 = v3.into_range()?;
let v4 = v4.into_str()?;
let mut n = RepackStmt { command: RepackCommand::REPACK_COMMAND_CLUSTER, relation: Some(Box::new(VacuumRelation::default())), ..Default::default() };
crate::actions::pointee_mut(&mut n.relation)?.relation = v3;
n.indexname = v4;
n.usingindex = true;
if v2 {
n.params = vec![Some(crate::actions::makeDefElem(Some("verbose".into()), None, at[1]).into())];
}
Value::node(Some(n.into()))
}
// RepackStmt.7
1585 => {
let n = RepackStmt { command: RepackCommand::REPACK_COMMAND_CLUSTER, relation: None, indexname: None, usingindex: true, params: vec![Some(crate::actions::makeDefElem(Some("verbose".into()), None, at[1]).into())] };
Value::node(Some(n.into()))
}
// RepackStmt.8
1586 => {
let [_, v2, v3, _, v5] = take(rhs);
let v2 = v2.into_boolean()?;
let v3 = v3.into_str()?;
let v5 = v5.into_range()?;
let mut n = RepackStmt { command: RepackCommand::REPACK_COMMAND_CLUSTER, relation: Some(Box::new(VacuumRelation::default())), ..Default::default() };
crate::actions::pointee_mut(&mut n.relation)?.relation = v5;
n.indexname = v3;
n.usingindex = true;
if v2 {
n.params = vec![Some(crate::actions::makeDefElem(Some("verbose".into()), None, at[1]).into())];
}
Value::node(Some(n.into()))
}
// cluster_index_specification.1
1587 => {
let [_, v2] = take(rhs);
v2
}
// cluster_index_specification.2
1588 => Value::str(None),
// VacuumStmt.1
1589 => {
let [_, v2, v3, v4, v5, v6] = take(rhs);
let v2 = v2.into_boolean()?;
let v3 = v3.into_boolean()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_boolean()?;
let v6 = v6.into_list()?;
let mut n = VacuumStmt { options: List::new(), ..Default::default() };
if v2 {
n.options = crate::actions::lappend(std::mem::take(&mut n.options), Some(crate::actions::makeDefElem(Some("full".into()), None, at[1]).into()));
}
if v3 {
n.options = crate::actions::lappend(std::mem::take(&mut n.options), Some(crate::actions::makeDefElem(Some("freeze".into()), None, at[2]).into()));
}
if v4 {
n.options = crate::actions::lappend(std::mem::take(&mut n.options), Some(crate::actions::makeDefElem(Some("verbose".into()), None, at[3]).into()));
}
if v5 {
n.options = crate::actions::lappend(std::mem::take(&mut n.options), Some(crate::actions::makeDefElem(Some("analyze".into()), None, at[4]).into()));
}
n.rels = v6;
n.is_vacuumcmd = true;
Value::node(Some(n.into()))
}
// VacuumStmt.2
1590 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_list()?;
let n = VacuumStmt { options: v3, rels: v5, is_vacuumcmd: true };
Value::node(Some(n.into()))
}
// AnalyzeStmt.1
1591 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let n = VacuumStmt { options: v2, rels: v3, is_vacuumcmd: false };
Value::node(Some(n.into()))
}
// AnalyzeStmt.2
1592 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = VacuumStmt { options: vec![Some(crate::actions::makeDefElem(Some("verbose".into()), None, at[1]).into())], rels: v3, is_vacuumcmd: false };
Value::node(Some(n.into()))
}
// analyze_keyword.1
1593 => Value::None,
// analyze_keyword.2
1594 => Value::None,
// opt_analyze.1
1595 => Value::boolean(true),
// opt_analyze.2
1596 => Value::boolean(false),
// opt_verbose.1
1597 => Value::boolean(true),
// opt_verbose.2
1598 => Value::boolean(false),
// opt_full.1
1599 => Value::boolean(true),
// opt_full.2
1600 => Value::boolean(false),
// opt_freeze.1
1601 => Value::boolean(true),
// opt_freeze.2
1602 => Value::boolean(false),
// opt_name_list.1
1603 => {
let [_, v2, _] = take(rhs);
v2
}
// opt_name_list.2
1604 => Value::list(List::new()),
// vacuum_relation.1
1605 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_range()?;
let v2 = v2.into_list()?;
Value::node(Some(crate::actions::makeVacuumRelation(v1, InvalidOid, v2).into()))
}
// vacuum_relation_list.1
1606 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// vacuum_relation_list.2
1607 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// opt_vacuum_relation_list.1
1608 => {
let [v1] = take(rhs);
v1
}
// opt_vacuum_relation_list.2
1609 => Value::list(List::new()),
// ExplainStmt.1
1610 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = ExplainStmt { query: v2, options: List::new() };
Value::node(Some(n.into()))
}
// ExplainStmt.2
1611 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_boolean()?;
let v4 = v4.into_node()?;
let mut n = ExplainStmt { query: v4, options: vec![Some(crate::actions::makeDefElem(Some("analyze".into()), None, at[1]).into())] };
if v3 {
n.options = crate::actions::lappend(std::mem::take(&mut n.options), Some(crate::actions::makeDefElem(Some("verbose".into()), None, at[2]).into()));
}
Value::node(Some(n.into()))
}
// ExplainStmt.3
1612 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_node()?;
let n = ExplainStmt { query: v3, options: vec![Some(crate::actions::makeDefElem(Some("verbose".into()), None, at[1]).into())] };
Value::node(Some(n.into()))
}
// ExplainStmt.4
1613 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_node()?;
let n = ExplainStmt { query: v5, options: v3 };
Value::node(Some(n.into()))
}
// ExplainableStmt.1
1614 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.2
1615 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.3
1616 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.4
1617 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.5
1618 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.6
1619 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.7
1620 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.8
1621 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.9
1622 => {
let [v1] = take(rhs);
v1
}
// ExplainableStmt.10
1623 => {
let [v1] = take(rhs);
v1
}
// PrepareStmt.1
1624 => {
let [_, v2, v3, _, v5] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_list()?;
let v5 = v5.into_node()?;
let n = PrepareStmt { name: v2, argtypes: v3, query: v5 };
Value::node(Some(n.into()))
}
// prep_type_clause.1
1625 => {
let [_, v2, _] = take(rhs);
v2
}
// prep_type_clause.2
1626 => Value::list(List::new()),
// PreparableStmt.1
1627 => {
let [v1] = take(rhs);
v1
}
// PreparableStmt.2
1628 => {
let [v1] = take(rhs);
v1
}
// PreparableStmt.3
1629 => {
let [v1] = take(rhs);
v1
}
// PreparableStmt.4
1630 => {
let [v1] = take(rhs);
v1
}
// PreparableStmt.5
1631 => {
let [v1] = take(rhs);
v1
}
// ExecuteStmt.1
1632 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_list()?;
let n = ExecuteStmt { name: v2, params: v3 };
Value::node(Some(n.into()))
}
// ExecuteStmt.2
1633 => {
let [_, v2, _, v4, _, _, v7, v8, v9] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_into()?;
let v7 = v7.into_str()?;
let v8 = v8.into_list()?;
let v9 = v9.into_boolean()?;
let mut ctas = CreateTableAsStmt::default();
let n = ExecuteStmt { name: v7, params: v8 };
ctas.query = Some(n.into());
ctas.into = v4;
ctas.objtype = ObjectType::OBJECT_TABLE;
ctas.is_select_into = false;
ctas.if_not_exists = false;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut ctas.into)?.rel)?.relpersistence = v2 as u8;
crate::actions::pointee_mut(&mut ctas.into)?.skipData = !v9;
Value::node(Some(ctas.into()))
}
// ExecuteStmt.3
1634 => {
let [_, v2, _, _, _, _, v7, _, _, v10, v11, v12] = take(rhs);
let v2 = v2.into_ival()?;
let v7 = v7.into_into()?;
let v10 = v10.into_str()?;
let v11 = v11.into_list()?;
let v12 = v12.into_boolean()?;
let mut ctas = CreateTableAsStmt::default();
let n = ExecuteStmt { name: v10, params: v11 };
ctas.query = Some(n.into());
ctas.into = v7;
ctas.objtype = ObjectType::OBJECT_TABLE;
ctas.is_select_into = false;
ctas.if_not_exists = true;
crate::actions::pointee_mut(&mut crate::actions::pointee_mut(&mut ctas.into)?.rel)?.relpersistence = v2 as u8;
crate::actions::pointee_mut(&mut ctas.into)?.skipData = !v12;
Value::node(Some(ctas.into()))
}
// execute_param_clause.1
1635 => {
let [_, v2, _] = take(rhs);
v2
}
// execute_param_clause.2
1636 => Value::list(List::new()),
// DeallocateStmt.1
1637 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = DeallocateStmt { name: v2, isall: false, location: at[1] };
Value::node(Some(n.into()))
}
// DeallocateStmt.2
1638 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let n = DeallocateStmt { name: v3, isall: false, location: at[2] };
Value::node(Some(n.into()))
}
// DeallocateStmt.3
1639 => {
let n = DeallocateStmt { name: None, isall: true, location: -1 };
Value::node(Some(n.into()))
}
// DeallocateStmt.4
1640 => {
let n = DeallocateStmt { name: None, isall: true, location: -1 };
Value::node(Some(n.into()))
}
// InsertStmt.1
1641 => {
let [v1, _, _, v4, v5, v6, v7] = take(rhs);
let v1 = v1.into_with()?;
let v4 = v4.into_range()?;
let mut v5 = v5.into_istmt()?;
let v6 = v6.into_onconflict()?;
let v7 = v7.into_retclause()?;
crate::actions::pointee_mut(&mut v5)?.relation = v4;
crate::actions::pointee_mut(&mut v5)?.onConflictClause = v6;
crate::actions::pointee_mut(&mut v5)?.returningClause = v7;
crate::actions::pointee_mut(&mut v5)?.withClause = v1;
Value::node(v5.map(NodeType::into_node))
}
// insert_target.1
1642 => {
let [v1] = take(rhs);
v1
}
// insert_target.2
1643 => {
let [v1, _, v3] = take(rhs);
let mut v1 = v1.into_range()?;
let v3 = v3.into_str()?;
crate::actions::pointee_mut(&mut v1)?.alias = Some(Box::new(crate::actions::makeAlias(v3, List::new())));
Value::range(v1)
}
// insert_rest.1
1644 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
let mut result: Option<Box<InsertStmt>>;
result = Some(Box::new(InsertStmt::default()));
crate::actions::pointee_mut(&mut result)?.cols = List::new();
crate::actions::pointee_mut(&mut result)?.selectStmt = v1;
Value::istmt(result)
}
// insert_rest.2
1645 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_ival()?;
let v4 = v4.into_node()?;
let mut result: Option<Box<InsertStmt>>;
result = Some(Box::new(InsertStmt::default()));
crate::actions::pointee_mut(&mut result)?.cols = List::new();
crate::actions::pointee_mut(&mut result)?.r#override = OverridingKind(v2);
crate::actions::pointee_mut(&mut result)?.selectStmt = v4;
Value::istmt(result)
}
// insert_rest.3
1646 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_node()?;
let mut result: Option<Box<InsertStmt>>;
result = Some(Box::new(InsertStmt::default()));
crate::actions::pointee_mut(&mut result)?.cols = v2;
crate::actions::pointee_mut(&mut result)?.selectStmt = v4;
Value::istmt(result)
}
// insert_rest.4
1647 => {
let [_, v2, _, _, v5, _, v7] = take(rhs);
let v2 = v2.into_list()?;
let v5 = v5.into_ival()?;
let v7 = v7.into_node()?;
let mut result: Option<Box<InsertStmt>>;
result = Some(Box::new(InsertStmt::default()));
crate::actions::pointee_mut(&mut result)?.cols = v2;
crate::actions::pointee_mut(&mut result)?.r#override = OverridingKind(v5);
crate::actions::pointee_mut(&mut result)?.selectStmt = v7;
Value::istmt(result)
}
// insert_rest.5
1648 => {
let mut result: Option<Box<InsertStmt>>;
result = Some(Box::new(InsertStmt::default()));
crate::actions::pointee_mut(&mut result)?.cols = List::new();
crate::actions::pointee_mut(&mut result)?.selectStmt = None;
Value::istmt(result)
}
// override_kind.1
1649 => Value::ival(OverridingKind::OVERRIDING_USER_VALUE.0),
// override_kind.2
1650 => Value::ival(OverridingKind::OVERRIDING_SYSTEM_VALUE.0),
// insert_column_list.1
1651 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// insert_column_list.2
1652 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// insert_column_item.1
1653 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = v1;
crate::actions::pointee_mut(&mut result)?.indirection = crate::actions::check_indirection(v2, p)?;
crate::actions::pointee_mut(&mut result)?.val = None;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// opt_on_conflict.1
1654 => {
let [_, _, v3, _, _, v6, v7] = take(rhs);
let v3 = v3.into_infer()?;
let v6 = v6.into_ival()?;
let v7 = v7.into_node()?;
let mut result: Option<Box<OnConflictClause>>;
result = Some(Box::new(OnConflictClause::default()));
crate::actions::pointee_mut(&mut result)?.action = OnConflictAction::ONCONFLICT_SELECT;
crate::actions::pointee_mut(&mut result)?.infer = v3;
crate::actions::pointee_mut(&mut result)?.targetList = List::new();
crate::actions::pointee_mut(&mut result)?.lockStrength = LockClauseStrength(v6);
crate::actions::pointee_mut(&mut result)?.whereClause = v7;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::onconflict(result)
}
// opt_on_conflict.2
1655 => {
let [_, _, v3, _, _, _, v7, v8] = take(rhs);
let v3 = v3.into_infer()?;
let v7 = v7.into_list()?;
let v8 = v8.into_node()?;
let mut result: Option<Box<OnConflictClause>>;
result = Some(Box::new(OnConflictClause::default()));
crate::actions::pointee_mut(&mut result)?.action = OnConflictAction::ONCONFLICT_UPDATE;
crate::actions::pointee_mut(&mut result)?.infer = v3;
crate::actions::pointee_mut(&mut result)?.targetList = v7;
crate::actions::pointee_mut(&mut result)?.lockStrength = LockClauseStrength::LCS_NONE;
crate::actions::pointee_mut(&mut result)?.whereClause = v8;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::onconflict(result)
}
// opt_on_conflict.3
1656 => {
let [_, _, v3, _, _] = take(rhs);
let v3 = v3.into_infer()?;
let mut result: Option<Box<OnConflictClause>>;
result = Some(Box::new(OnConflictClause::default()));
crate::actions::pointee_mut(&mut result)?.action = OnConflictAction::ONCONFLICT_NOTHING;
crate::actions::pointee_mut(&mut result)?.infer = v3;
crate::actions::pointee_mut(&mut result)?.targetList = List::new();
crate::actions::pointee_mut(&mut result)?.lockStrength = LockClauseStrength::LCS_NONE;
crate::actions::pointee_mut(&mut result)?.whereClause = None;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::onconflict(result)
}
// opt_on_conflict.4
1657 => Value::onconflict(None),
// opt_conf_expr.1
1658 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_node()?;
let mut result: Option<Box<InferClause>>;
result = Some(Box::new(InferClause::default()));
crate::actions::pointee_mut(&mut result)?.indexElems = v2;
crate::actions::pointee_mut(&mut result)?.whereClause = v4;
crate::actions::pointee_mut(&mut result)?.conname = None;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::infer(result)
}
// opt_conf_expr.2
1659 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_str()?;
let mut result: Option<Box<InferClause>>;
result = Some(Box::new(InferClause::default()));
crate::actions::pointee_mut(&mut result)?.indexElems = List::new();
crate::actions::pointee_mut(&mut result)?.whereClause = None;
crate::actions::pointee_mut(&mut result)?.conname = v3;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::infer(result)
}
// opt_conf_expr.3
1660 => Value::infer(None),
// returning_clause.1
1661 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let n = ReturningClause { options: v2, exprs: v3 };
Value::retclause(Some(Box::new(n)))
}
// returning_clause.2
1662 => Value::retclause(None),
// returning_with_clause.1
1663 => {
let [_, _, v3, _] = take(rhs);
v3
}
// returning_with_clause.2
1664 => Value::list(List::new()),
// returning_options.1
1665 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// returning_options.2
1666 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// returning_option.1
1667 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_retoptionkind()?;
let v3 = v3.into_str()?;
let n = ReturningOption { option: v1, value: v3, location: at[0] };
Value::node(Some(n.into()))
}
// returning_option_kind.1
1668 => Value::retoptionkind(ReturningOptionKind::RETURNING_OPTION_OLD),
// returning_option_kind.2
1669 => Value::retoptionkind(ReturningOptionKind::RETURNING_OPTION_NEW),
// DeleteStmt.1
1670 => {
let [v1, _, _, v4, v5, v6, v7] = take(rhs);
let v1 = v1.into_with()?;
let v4 = v4.into_range()?;
let v5 = v5.into_list()?;
let v6 = v6.into_node()?;
let v7 = v7.into_retclause()?;
let n = DeleteStmt { relation: v4, usingClause: v5, whereClause: v6, returningClause: v7, withClause: v1 };
Value::node(Some(n.into()))
}
// using_clause.1
1671 => {
let [_, v2] = take(rhs);
v2
}
// using_clause.2
1672 => Value::list(List::new()),
// LockStmt.1
1673 => {
let [_, _, v3, v4, v5] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_ival()?;
let v5 = v5.into_boolean()?;
let n = LockStmt { relations: v3, mode: v4, nowait: v5 };
Value::node(Some(n.into()))
}
// opt_lock.1
1674 => {
let [_, v2, _] = take(rhs);
v2
}
// opt_lock.2
1675 => Value::ival(AccessExclusiveLock),
// lock_type.1
1676 => Value::ival(AccessShareLock),
// lock_type.2
1677 => Value::ival(RowShareLock),
// lock_type.3
1678 => Value::ival(RowExclusiveLock),
// lock_type.4
1679 => Value::ival(ShareUpdateExclusiveLock),
// lock_type.5
1680 => Value::ival(ShareLock),
// lock_type.6
1681 => Value::ival(ShareRowExclusiveLock),
// lock_type.7
1682 => Value::ival(ExclusiveLock),
// lock_type.8
1683 => Value::ival(AccessExclusiveLock),
// opt_nowait.1
1684 => Value::boolean(true),
// opt_nowait.2
1685 => Value::boolean(false),
// opt_nowait_or_skip.1
1686 => Value::ival(LockWaitPolicy::LockWaitError.0),
// opt_nowait_or_skip.2
1687 => Value::ival(LockWaitPolicy::LockWaitSkip.0),
// opt_nowait_or_skip.3
1688 => Value::ival(LockWaitPolicy::LockWaitBlock.0),
// UpdateStmt.1
1689 => {
let [v1, _, v3, _, v5, v6, v7, v8] = take(rhs);
let v1 = v1.into_with()?;
let v3 = v3.into_range()?;
let v5 = v5.into_list()?;
let v6 = v6.into_list()?;
let v7 = v7.into_node()?;
let v8 = v8.into_retclause()?;
let n = UpdateStmt { relation: v3, targetList: v5, fromClause: v6, whereClause: v7, returningClause: v8, withClause: v1 };
Value::node(Some(n.into()))
}
// set_clause_list.1
1690 => {
let [v1] = take(rhs);
v1
}
// set_clause_list.2
1691 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_list()?;
Value::list(crate::actions::list_concat(v1, v3))
}
// set_clause.1
1692 => {
let [v1, _, v3] = take(rhs);
let mut v1 = v1.into_target()?;
let v3 = v3.into_node()?;
crate::actions::pointee_mut(&mut v1)?.val = v3;
Value::list(vec![v1.map(NodeType::into_node)])
}
// set_clause.2
1693 => {
let [_, v2, _, _, v5] = take(rhs);
Value::list(rules::set_clause::set_clause_2(p, v2.into_list()?, v5.into_node()?)?)
}
// set_target.1
1694 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = v1;
crate::actions::pointee_mut(&mut result)?.indirection = crate::actions::check_indirection(v2, p)?;
crate::actions::pointee_mut(&mut result)?.val = None;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// set_target_list.1
1695 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// set_target_list.2
1696 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// MergeStmt.1
1697 => {
let [v1, _, _, v4, _, v6, _, v8, v9, v10] = take(rhs);
let v1 = v1.into_with()?;
let v4 = v4.into_range()?;
let v6 = v6.into_node()?;
let v8 = v8.into_node()?;
let v9 = v9.into_list()?;
let v10 = v10.into_retclause()?;
let m = MergeStmt { withClause: v1, relation: v4, sourceRelation: v6, joinCondition: v8, mergeWhenClauses: v9, returningClause: v10 };
Value::node(Some(m.into()))
}
// merge_when_list.1
1698 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// merge_when_list.2
1699 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// merge_when_clause.1
1700 => {
let [v1, v2, _, v4] = take(rhs);
let v1 = v1.into_mergematch()?;
let v2 = v2.into_node()?;
let mut v4 = v4.into_mergewhen()?;
crate::actions::pointee_mut(&mut v4)?.matchKind = v1;
crate::actions::pointee_mut(&mut v4)?.condition = v2;
Value::node(v4.map(NodeType::into_node))
}
// merge_when_clause.2
1701 => {
let [v1, v2, _, v4] = take(rhs);
let v1 = v1.into_mergematch()?;
let v2 = v2.into_node()?;
let mut v4 = v4.into_mergewhen()?;
crate::actions::pointee_mut(&mut v4)?.matchKind = v1;
crate::actions::pointee_mut(&mut v4)?.condition = v2;
Value::node(v4.map(NodeType::into_node))
}
// merge_when_clause.3
1702 => {
let [v1, v2, _, v4] = take(rhs);
let v1 = v1.into_mergematch()?;
let v2 = v2.into_node()?;
let mut v4 = v4.into_mergewhen()?;
crate::actions::pointee_mut(&mut v4)?.matchKind = v1;
crate::actions::pointee_mut(&mut v4)?.condition = v2;
Value::node(v4.map(NodeType::into_node))
}
// merge_when_clause.4
1703 => {
let [v1, v2, _, _, _] = take(rhs);
let v1 = v1.into_mergematch()?;
let v2 = v2.into_node()?;
let m = MergeWhenClause { matchKind: v1, commandType: CmdType::CMD_NOTHING, condition: v2, ..Default::default() };
Value::node(Some(m.into()))
}
// merge_when_clause.5
1704 => {
let [v1, v2, _, _, _] = take(rhs);
let v1 = v1.into_mergematch()?;
let v2 = v2.into_node()?;
let m = MergeWhenClause { matchKind: v1, commandType: CmdType::CMD_NOTHING, condition: v2, ..Default::default() };
Value::node(Some(m.into()))
}
// merge_when_tgt_matched.1
1705 => Value::mergematch(MergeMatchKind::MERGE_WHEN_MATCHED),
// merge_when_tgt_matched.2
1706 => Value::mergematch(MergeMatchKind::MERGE_WHEN_NOT_MATCHED_BY_SOURCE),
// merge_when_tgt_not_matched.1
1707 => Value::mergematch(MergeMatchKind::MERGE_WHEN_NOT_MATCHED_BY_TARGET),
// merge_when_tgt_not_matched.2
1708 => Value::mergematch(MergeMatchKind::MERGE_WHEN_NOT_MATCHED_BY_TARGET),
// opt_merge_when_condition.1
1709 => {
let [_, v2] = take(rhs);
v2
}
// opt_merge_when_condition.2
1710 => Value::node(None),
// merge_update.1
1711 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let n = MergeWhenClause { commandType: CmdType::CMD_UPDATE, r#override: OverridingKind::OVERRIDING_NOT_SET, targetList: v3, values: List::new(), ..Default::default() };
Value::mergewhen(Some(Box::new(n)))
}
// merge_delete.1
1712 => {
let n = MergeWhenClause { commandType: CmdType::CMD_DELETE, r#override: OverridingKind::OVERRIDING_NOT_SET, targetList: List::new(), values: List::new(), ..Default::default() };
Value::mergewhen(Some(Box::new(n)))
}
// merge_insert.1
1713 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let n = MergeWhenClause { commandType: CmdType::CMD_INSERT, r#override: OverridingKind::OVERRIDING_NOT_SET, targetList: List::new(), values: v2, ..Default::default() };
Value::mergewhen(Some(Box::new(n)))
}
// merge_insert.2
1714 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_ival()?;
let v5 = v5.into_list()?;
let n = MergeWhenClause { commandType: CmdType::CMD_INSERT, r#override: OverridingKind(v3), targetList: List::new(), values: v5, ..Default::default() };
Value::mergewhen(Some(Box::new(n)))
}
// merge_insert.3
1715 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_list()?;
let n = MergeWhenClause { commandType: CmdType::CMD_INSERT, r#override: OverridingKind::OVERRIDING_NOT_SET, targetList: v3, values: v5, ..Default::default() };
Value::mergewhen(Some(Box::new(n)))
}
// merge_insert.4
1716 => {
let [_, _, v3, _, _, v6, _, v8] = take(rhs);
let v3 = v3.into_list()?;
let v6 = v6.into_ival()?;
let v8 = v8.into_list()?;
let n = MergeWhenClause { commandType: CmdType::CMD_INSERT, r#override: OverridingKind(v6), targetList: v3, values: v8, ..Default::default() };
Value::mergewhen(Some(Box::new(n)))
}
// merge_insert.5
1717 => {
let n = MergeWhenClause { commandType: CmdType::CMD_INSERT, r#override: OverridingKind::OVERRIDING_NOT_SET, targetList: List::new(), values: List::new(), ..Default::default() };
Value::mergewhen(Some(Box::new(n)))
}
// merge_values_clause.1
1718 => {
let [_, _, v3, _] = take(rhs);
v3
}
// DeclareCursorStmt.1
1719 => {
let [_, v2, v3, _, v5, _, v7] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_ival()?;
let v5 = v5.into_ival()?;
let v7 = v7.into_node()?;
let n = DeclareCursorStmt { portalname: v2, options: v3 | v5 | CURSOR_OPT_FAST_PLAN, query: v7 };
Value::node(Some(n.into()))
}
// cursor_name.1
1720 => {
let [v1] = take(rhs);
v1
}
// cursor_options.1
1721 => Value::ival(0),
// cursor_options.2
1722 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_ival()?;
Value::ival(v1 | CURSOR_OPT_NO_SCROLL)
}
// cursor_options.3
1723 => {
let [v1, _] = take(rhs);
let v1 = v1.into_ival()?;
Value::ival(v1 | CURSOR_OPT_SCROLL)
}
// cursor_options.4
1724 => {
let [v1, _] = take(rhs);
let v1 = v1.into_ival()?;
Value::ival(v1 | CURSOR_OPT_BINARY)
}
// cursor_options.5
1725 => {
let [v1, _] = take(rhs);
let v1 = v1.into_ival()?;
Value::ival(v1 | CURSOR_OPT_ASENSITIVE)
}
// cursor_options.6
1726 => {
let [v1, _] = take(rhs);
let v1 = v1.into_ival()?;
Value::ival(v1 | CURSOR_OPT_INSENSITIVE)
}
// opt_hold.1
1727 => Value::ival(0),
// opt_hold.2
1728 => Value::ival(CURSOR_OPT_HOLD),
// opt_hold.3
1729 => Value::ival(0),
// SelectStmt.1
1730 => {
let [v1] = take(rhs);
v1
}
// SelectStmt.2
1731 => {
let [v1] = take(rhs);
v1
}
// select_with_parens.1
1732 => {
let [_, v2, _] = take(rhs);
v2
}
// select_with_parens.2
1733 => {
let [_, v2, _] = take(rhs);
v2
}
// select_no_parens.1
1734 => {
let [v1] = take(rhs);
v1
}
// select_no_parens.2
1735 => {
let [v1, v2] = take(rhs);
Value::node(rules::select_no_parens::select_no_parens_2(p, v1.into_node()?, v2.into_list()?)?)
}
// select_no_parens.3
1736 => {
let [v1, v2, v3, v4] = take(rhs);
Value::node(rules::select_no_parens::select_no_parens_3(p, v1.into_node()?, v2.into_list()?, v3.into_list()?, v4.into_selectlimit()?)?)
}
// select_no_parens.4
1737 => {
let [v1, v2, v3, v4] = take(rhs);
Value::node(rules::select_no_parens::select_no_parens_4(p, v1.into_node()?, v2.into_list()?, v3.into_selectlimit()?, v4.into_list()?)?)
}
// select_no_parens.5
1738 => {
let [v1, v2] = take(rhs);
Value::node(rules::select_no_parens::select_no_parens_5(p, v1.into_with()?, v2.into_node()?)?)
}
// select_no_parens.6
1739 => {
let [v1, v2, v3] = take(rhs);
Value::node(rules::select_no_parens::select_no_parens_6(p, v1.into_with()?, v2.into_node()?, v3.into_list()?)?)
}
// select_no_parens.7
1740 => {
let [v1, v2, v3, v4, v5] = take(rhs);
Value::node(rules::select_no_parens::select_no_parens_7(p, v1.into_with()?, v2.into_node()?, v3.into_list()?, v4.into_list()?, v5.into_selectlimit()?)?)
}
// select_no_parens.8
1741 => {
let [v1, v2, v3, v4, v5] = take(rhs);
Value::node(rules::select_no_parens::select_no_parens_8(p, v1.into_with()?, v2.into_node()?, v3.into_list()?, v4.into_selectlimit()?, v5.into_list()?)?)
}
// select_clause.1
1742 => {
let [v1] = take(rhs);
v1
}
// select_clause.2
1743 => {
let [v1] = take(rhs);
v1
}
// simple_select.1
1744 => {
let [_, _, v3, v4, v5, v6, v7, v8, v9] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_into()?;
let v5 = v5.into_list()?;
let v6 = v6.into_node()?;
let mut v7 = v7.into_groupclause()?;
let v8 = v8.into_node()?;
let v9 = v9.into_list()?;
let n = SelectStmt { targetList: v3, intoClause: v4, fromClause: v5, whereClause: v6, groupClause: std::mem::take(&mut crate::actions::pointee_mut(&mut v7)?.list), groupDistinct: crate::actions::pointee(&v7)?.distinct, havingClause: v8, windowClause: v9, ..Default::default() };
Value::node(Some(n.into()))
}
// simple_select.2
1745 => {
let [_, v2, v3, v4, v5, v6, v7, v8, v9] = take(rhs);
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let v4 = v4.into_into()?;
let v5 = v5.into_list()?;
let v6 = v6.into_node()?;
let mut v7 = v7.into_groupclause()?;
let v8 = v8.into_node()?;
let v9 = v9.into_list()?;
let n = SelectStmt { distinctClause: v2, targetList: v3, intoClause: v4, fromClause: v5, whereClause: v6, groupClause: std::mem::take(&mut crate::actions::pointee_mut(&mut v7)?.list), groupDistinct: crate::actions::pointee(&v7)?.distinct, havingClause: v8, windowClause: v9, ..Default::default() };
Value::node(Some(n.into()))
}
// simple_select.3
1746 => {
let [v1] = take(rhs);
v1
}
// simple_select.4
1747 => {
let [_, v2] = take(rhs);
let v2 = v2.into_range()?;
let mut cr = ColumnRef::default();
let mut rt = ResTarget::default();
let mut n = SelectStmt::default();
cr.fields = vec![Some(A_Star::default().into())];
cr.location = -1;
rt.name = None;
rt.indirection = List::new();
rt.val = Some(cr.into());
rt.location = -1;
n.targetList = vec![Some(rt.into())];
n.fromClause = vec![v2.map(NodeType::into_node)];
Value::node(Some(n.into()))
}
// simple_select.5
1748 => {
let [v1, _, v3, v4] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_setquantifier()?;
let v4 = v4.into_node()?;
Value::node(Some(crate::actions::makeSetOp(SetOperation::SETOP_UNION, v3 == SetQuantifier::SET_QUANTIFIER_ALL, v1, v4)))
}
// simple_select.6
1749 => {
let [v1, _, v3, v4] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_setquantifier()?;
let v4 = v4.into_node()?;
Value::node(Some(crate::actions::makeSetOp(SetOperation::SETOP_INTERSECT, v3 == SetQuantifier::SET_QUANTIFIER_ALL, v1, v4)))
}
// simple_select.7
1750 => {
let [v1, _, v3, v4] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_setquantifier()?;
let v4 = v4.into_node()?;
Value::node(Some(crate::actions::makeSetOp(SetOperation::SETOP_EXCEPT, v3 == SetQuantifier::SET_QUANTIFIER_ALL, v1, v4)))
}
// with_clause.1
1751 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let mut result: Option<Box<WithClause>>;
result = Some(Box::new(WithClause::default()));
crate::actions::pointee_mut(&mut result)?.ctes = v2;
crate::actions::pointee_mut(&mut result)?.recursive = false;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::with(result)
}
// with_clause.2
1752 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let mut result: Option<Box<WithClause>>;
result = Some(Box::new(WithClause::default()));
crate::actions::pointee_mut(&mut result)?.ctes = v2;
crate::actions::pointee_mut(&mut result)?.recursive = false;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::with(result)
}
// with_clause.3
1753 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_list()?;
let mut result: Option<Box<WithClause>>;
result = Some(Box::new(WithClause::default()));
crate::actions::pointee_mut(&mut result)?.ctes = v3;
crate::actions::pointee_mut(&mut result)?.recursive = true;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::with(result)
}
// cte_list.1
1754 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// cte_list.2
1755 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// common_table_expr.1
1756 => {
let [v1, v2, _, v4, _, v6, _, v8, v9] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let v4 = v4.into_ival()?;
let v6 = v6.into_node()?;
let v8 = v8.into_node()?;
let v9 = v9.into_node()?;
let n = CommonTableExpr { ctename: v1, aliascolnames: v2, ctematerialized: CTEMaterialize(v4), ctequery: v6, search_clause: crate::actions::castNode::<CTESearchClause>(v8)?, cycle_clause: crate::actions::castNode::<CTECycleClause>(v9)?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// opt_materialized.1
1757 => Value::ival(CTEMaterialize::CTEMaterializeAlways.0),
// opt_materialized.2
1758 => Value::ival(CTEMaterialize::CTEMaterializeNever.0),
// opt_materialized.3
1759 => Value::ival(CTEMaterialize::CTEMaterializeDefault.0),
// opt_search_clause.1
1760 => {
let [_, _, _, _, v5, _, v7] = take(rhs);
let v5 = v5.into_list()?;
let v7 = v7.into_str()?;
let n = CTESearchClause { search_col_list: v5, search_breadth_first: false, search_seq_column: v7, location: at[0] };
Value::node(Some(n.into()))
}
// opt_search_clause.2
1761 => {
let [_, _, _, _, v5, _, v7] = take(rhs);
let v5 = v5.into_list()?;
let v7 = v7.into_str()?;
let n = CTESearchClause { search_col_list: v5, search_breadth_first: true, search_seq_column: v7, location: at[0] };
Value::node(Some(n.into()))
}
// opt_search_clause.3
1762 => Value::node(None),
// opt_cycle_clause.1
1763 => {
let [_, v2, _, v4, _, v6, _, v8, _, v10] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_str()?;
let v6 = v6.into_node()?;
let v8 = v8.into_node()?;
let v10 = v10.into_str()?;
let n = CTECycleClause { cycle_col_list: v2, cycle_mark_column: v4, cycle_mark_value: v6, cycle_mark_default: v8, cycle_path_column: v10, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// opt_cycle_clause.2
1764 => {
let [_, v2, _, v4, _, v6] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_str()?;
let v6 = v6.into_str()?;
let n = CTECycleClause { cycle_col_list: v2, cycle_mark_column: v4, cycle_mark_value: Some(crate::actions::makeBoolAConst(true, -1)), cycle_mark_default: Some(crate::actions::makeBoolAConst(false, -1)), cycle_path_column: v6, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// opt_cycle_clause.3
1765 => Value::node(None),
// opt_with_clause.1
1766 => {
let [v1] = take(rhs);
v1
}
// opt_with_clause.2
1767 => Value::with(None),
// into_clause.1
1768 => {
let [_, v2] = take(rhs);
let v2 = v2.into_range()?;
let mut result: Option<Box<IntoClause>>;
result = Some(Box::new(IntoClause::default()));
crate::actions::pointee_mut(&mut result)?.rel = v2;
crate::actions::pointee_mut(&mut result)?.colNames = List::new();
crate::actions::pointee_mut(&mut result)?.options = List::new();
crate::actions::pointee_mut(&mut result)?.onCommit = OnCommitAction::ONCOMMIT_NOOP;
crate::actions::pointee_mut(&mut result)?.tableSpaceName = None;
crate::actions::pointee_mut(&mut result)?.viewQuery = None;
crate::actions::pointee_mut(&mut result)?.skipData = false;
Value::into(result)
}
// into_clause.2
1769 => Value::into(None),
// OptTempTableName.1
1770 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v3;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_TEMP;
Value::range(result)
}
// OptTempTableName.2
1771 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v3;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_TEMP;
Value::range(result)
}
// OptTempTableName.3
1772 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v4;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_TEMP;
Value::range(result)
}
// OptTempTableName.4
1773 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v4;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_TEMP;
Value::range(result)
}
// OptTempTableName.5
1774 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_range()?;
let mut result: Option<Box<RangeVar>>;
p.warning("GLOBAL is deprecated in temporary table creation", at[0]);
result = v4;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_TEMP;
Value::range(result)
}
// OptTempTableName.6
1775 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_range()?;
let mut result: Option<Box<RangeVar>>;
p.warning("GLOBAL is deprecated in temporary table creation", at[0]);
result = v4;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_TEMP;
Value::range(result)
}
// OptTempTableName.7
1776 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v3;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_UNLOGGED;
Value::range(result)
}
// OptTempTableName.8
1777 => {
let [_, v2] = take(rhs);
let v2 = v2.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_PERMANENT;
Value::range(result)
}
// OptTempTableName.9
1778 => {
let [v1] = take(rhs);
let v1 = v1.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.relpersistence = RELPERSISTENCE_PERMANENT;
Value::range(result)
}
// opt_table.1
1779 => Value::None,
// opt_table.2
1780 => Value::None,
// set_quantifier.1
1781 => Value::setquantifier(SetQuantifier::SET_QUANTIFIER_ALL),
// set_quantifier.2
1782 => Value::setquantifier(SetQuantifier::SET_QUANTIFIER_DISTINCT),
// set_quantifier.3
1783 => Value::setquantifier(SetQuantifier::SET_QUANTIFIER_DEFAULT),
// distinct_clause.1
1784 => Value::list(vec![None]),
// distinct_clause.2
1785 => {
let [_, _, _, v4, _] = take(rhs);
v4
}
// opt_all_clause.1
1786 => Value::None,
// opt_all_clause.2
1787 => Value::None,
// opt_distinct_clause.1
1788 => {
let [v1] = take(rhs);
v1
}
// opt_distinct_clause.2
1789 => Value::list(List::new()),
// opt_sort_clause.1
1790 => {
let [v1] = take(rhs);
v1
}
// opt_sort_clause.2
1791 => Value::list(List::new()),
// sort_clause.1
1792 => {
let [_, _, v3] = take(rhs);
v3
}
// sortby_list.1
1793 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// sortby_list.2
1794 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// sortby.1
1795 => {
let [v1, _, v3, v4] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_list()?;
let v4 = v4.into_ival()?;
let mut result: Option<Box<SortBy>>;
result = Some(Box::new(SortBy::default()));
crate::actions::pointee_mut(&mut result)?.node = v1;
crate::actions::pointee_mut(&mut result)?.sortby_dir = SortByDir::SORTBY_USING;
crate::actions::pointee_mut(&mut result)?.sortby_nulls = SortByNulls(v4);
crate::actions::pointee_mut(&mut result)?.useOp = v3;
crate::actions::pointee_mut(&mut result)?.location = at[2];
Value::sortby(result)
}
// sortby.2
1796 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_ival()?;
let v3 = v3.into_ival()?;
let mut result: Option<Box<SortBy>>;
result = Some(Box::new(SortBy::default()));
crate::actions::pointee_mut(&mut result)?.node = v1;
crate::actions::pointee_mut(&mut result)?.sortby_dir = SortByDir(v2);
crate::actions::pointee_mut(&mut result)?.sortby_nulls = SortByNulls(v3);
crate::actions::pointee_mut(&mut result)?.useOp = List::new();
crate::actions::pointee_mut(&mut result)?.location = -1;
Value::sortby(result)
}
// select_limit.1
1797 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_selectlimit()?;
let v2 = v2.into_node()?;
let mut result: Option<Box<SelectLimit>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.limitOffset = v2;
crate::actions::pointee_mut(&mut result)?.offsetLoc = at[1];
Value::selectlimit(result)
}
// select_limit.2
1798 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_selectlimit()?;
let mut result: Option<Box<SelectLimit>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.limitOffset = v1;
crate::actions::pointee_mut(&mut result)?.offsetLoc = at[0];
Value::selectlimit(result)
}
// select_limit.3
1799 => {
let [v1] = take(rhs);
v1
}
// select_limit.4
1800 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
let n = SelectLimit { limitOffset: v1, limitCount: None, limitOption: LimitOption::LIMIT_OPTION_COUNT, offsetLoc: at[0], countLoc: -1, optionLoc: -1 };
Value::selectlimit(Some(Box::new(n)))
}
// opt_select_limit.1
1801 => {
let [v1] = take(rhs);
v1
}
// opt_select_limit.2
1802 => Value::selectlimit(None),
// limit_clause.1
1803 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = SelectLimit { limitOffset: None, limitCount: v2, limitOption: LimitOption::LIMIT_OPTION_COUNT, offsetLoc: -1, countLoc: at[0], optionLoc: -1 };
Value::selectlimit(Some(Box::new(n)))
}
// limit_clause.2
1804 => return Err(Error { hint: Some("Use separate LIMIT and OFFSET clauses."), ..p.error(ERRCODE_SYNTAX_ERROR, "LIMIT #,# syntax is not supported", at[0]) }),
// limit_clause.3
1805 => {
let [_, _, v3, _, _] = take(rhs);
let v3 = v3.into_node()?;
let n = SelectLimit { limitOffset: None, limitCount: v3, limitOption: LimitOption::LIMIT_OPTION_COUNT, offsetLoc: -1, countLoc: at[0], optionLoc: -1 };
Value::selectlimit(Some(Box::new(n)))
}
// limit_clause.4
1806 => {
let [_, _, v3, _, _, _] = take(rhs);
let v3 = v3.into_node()?;
let n = SelectLimit { limitOffset: None, limitCount: v3, limitOption: LimitOption::LIMIT_OPTION_WITH_TIES, offsetLoc: -1, countLoc: at[0], optionLoc: at[4] };
Value::selectlimit(Some(Box::new(n)))
}
// limit_clause.5
1807 => {
let n = SelectLimit { limitOffset: None, limitCount: Some(crate::actions::makeIntConst(1, -1)), limitOption: LimitOption::LIMIT_OPTION_COUNT, offsetLoc: -1, countLoc: at[0], optionLoc: -1 };
Value::selectlimit(Some(Box::new(n)))
}
// limit_clause.6
1808 => {
let n = SelectLimit { limitOffset: None, limitCount: Some(crate::actions::makeIntConst(1, -1)), limitOption: LimitOption::LIMIT_OPTION_WITH_TIES, offsetLoc: -1, countLoc: at[0], optionLoc: at[3] };
Value::selectlimit(Some(Box::new(n)))
}
// offset_clause.1
1809 => {
let [_, v2] = take(rhs);
v2
}
// offset_clause.2
1810 => {
let [_, v2, _] = take(rhs);
v2
}
// select_limit_value.1
1811 => {
let [v1] = take(rhs);
v1
}
// select_limit_value.2
1812 => Value::node(Some(crate::actions::makeNullAConst(at[0]))),
// select_offset_value.1
1813 => {
let [v1] = take(rhs);
v1
}
// select_fetch_first_value.1
1814 => {
let [v1] = take(rhs);
v1
}
// select_fetch_first_value.2
1815 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "+", None, v2, at[0]).into()))
}
// select_fetch_first_value.3
1816 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::doNegate(v2, at[0])))
}
// I_or_F_const.1
1817 => {
let [v1] = take(rhs);
let v1 = v1.into_ival()?;
Value::node(Some(crate::actions::makeIntConst(v1, at[0])))
}
// I_or_F_const.2
1818 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeFloatConst(v1, at[0])))
}
// row_or_rows.1
1819 => Value::ival(0),
// row_or_rows.2
1820 => Value::ival(0),
// first_or_next.1
1821 => Value::ival(0),
// first_or_next.2
1822 => Value::ival(0),
// group_clause.1
1823 => {
let [_, _, v3, v4] = take(rhs);
let v3 = v3.into_setquantifier()?;
let v4 = v4.into_list()?;
let n = GroupClause { distinct: v3 == SetQuantifier::SET_QUANTIFIER_DISTINCT, list: v4 };
Value::groupclause(Some(Box::new(n)))
}
// group_clause.2
1824 => {
let n = GroupClause { distinct: false, list: List::new() };
Value::groupclause(Some(Box::new(n)))
}
// group_by_list.1
1825 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// group_by_list.2
1826 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// group_by_item.1
1827 => {
let [v1] = take(rhs);
v1
}
// group_by_item.2
1828 => {
let [v1] = take(rhs);
v1
}
// group_by_item.3
1829 => {
let [v1] = take(rhs);
v1
}
// group_by_item.4
1830 => {
let [v1] = take(rhs);
v1
}
// group_by_item.5
1831 => {
let [v1] = take(rhs);
v1
}
// empty_grouping_set.1
1832 => Value::node(Some(crate::actions::makeGroupingSet(GroupingSetKind::GROUPING_SET_EMPTY, List::new(), at[0]).into())),
// rollup_clause.1
1833 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeGroupingSet(GroupingSetKind::GROUPING_SET_ROLLUP, v3, at[0]).into()))
}
// cube_clause.1
1834 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeGroupingSet(GroupingSetKind::GROUPING_SET_CUBE, v3, at[0]).into()))
}
// grouping_sets_clause.1
1835 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_list()?;
Value::node(Some(crate::actions::makeGroupingSet(GroupingSetKind::GROUPING_SET_SETS, v4, at[0]).into()))
}
// having_clause.1
1836 => {
let [_, v2] = take(rhs);
v2
}
// having_clause.2
1837 => Value::node(None),
// for_locking_clause.1
1838 => {
let [v1] = take(rhs);
v1
}
// for_locking_clause.2
1839 => Value::list(List::new()),
// opt_for_locking_clause.1
1840 => {
let [v1] = take(rhs);
v1
}
// opt_for_locking_clause.2
1841 => Value::list(List::new()),
// for_locking_items.1
1842 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// for_locking_items.2
1843 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// for_locking_item.1
1844 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_ival()?;
let v2 = v2.into_list()?;
let v3 = v3.into_ival()?;
let n = LockingClause { lockedRels: v2, strength: LockClauseStrength(v1), waitPolicy: LockWaitPolicy(v3) };
Value::node(Some(n.into()))
}
// for_locking_strength.1
1845 => Value::ival(LockClauseStrength::LCS_FORUPDATE.0),
// for_locking_strength.2
1846 => Value::ival(LockClauseStrength::LCS_FORNOKEYUPDATE.0),
// for_locking_strength.3
1847 => Value::ival(LockClauseStrength::LCS_FORSHARE.0),
// for_locking_strength.4
1848 => Value::ival(LockClauseStrength::LCS_FORKEYSHARE.0),
// opt_for_locking_strength.1
1849 => {
let [v1] = take(rhs);
v1
}
// opt_for_locking_strength.2
1850 => Value::ival(LockClauseStrength::LCS_NONE.0),
// locked_rels_list.1
1851 => {
let [_, v2] = take(rhs);
v2
}
// locked_rels_list.2
1852 => Value::list(List::new()),
// values_clause.1
1853 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
let n = SelectStmt { valuesLists: vec![crate::actions::listNode(v3)], ..Default::default() };
Value::node(Some(n.into()))
}
// values_clause.2
1854 => {
let [v1, _, _, v4, _] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_list()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<SelectStmt>(v1)?)?;
n.valuesLists = crate::actions::lappend(std::mem::take(&mut n.valuesLists), crate::actions::listNode(v4));
Value::node(Some(n.into_node()))
}
// from_clause.1
1855 => {
let [_, v2] = take(rhs);
v2
}
// from_clause.2
1856 => Value::list(List::new()),
// from_list.1
1857 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// from_list.2
1858 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// table_ref.1
1859 => {
let [v1, v2] = take(rhs);
let mut v1 = v1.into_range()?;
let v2 = v2.into_alias()?;
crate::actions::pointee_mut(&mut v1)?.alias = v2;
Value::node(v1.map(NodeType::into_node))
}
// table_ref.2
1860 => {
let [v1, v2, v3] = take(rhs);
let mut v1 = v1.into_range()?;
let v2 = v2.into_alias()?;
let v3 = v3.into_node()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<RangeTableSample>(v3)?)?;
crate::actions::pointee_mut(&mut v1)?.alias = v2;
n.relation = v1.map(NodeType::into_node);
Value::node(Some(n.into_node()))
}
// table_ref.3
1861 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<RangeFunction>(v1)?)?;
n.alias = crate::actions::castNode::<Alias>(crate::actions::linitial(&v2).cloned())?;
n.coldeflist = crate::actions::castList(crate::actions::lsecond(&v2).cloned())?;
Value::node(Some(n.into_node()))
}
// table_ref.4
1862 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_node()?;
let v3 = v3.into_list()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<RangeFunction>(v2)?)?;
n.lateral = true;
n.alias = crate::actions::castNode::<Alias>(crate::actions::linitial(&v3).cloned())?;
n.coldeflist = crate::actions::castList(crate::actions::lsecond(&v3).cloned())?;
Value::node(Some(n.into_node()))
}
// table_ref.5
1863 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_alias()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<RangeTableFunc>(v1)?)?;
n.alias = v2;
Value::node(Some(n.into_node()))
}
// table_ref.6
1864 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_node()?;
let v3 = v3.into_alias()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<RangeTableFunc>(v2)?)?;
n.lateral = true;
n.alias = v3;
Value::node(Some(n.into_node()))
}
// table_ref.7
1865 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_alias()?;
let n = RangeSubselect { lateral: false, subquery: v1, alias: v2 };
Value::node(Some(n.into()))
}
// table_ref.8
1866 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_node()?;
let v3 = v3.into_alias()?;
let n = RangeSubselect { lateral: true, subquery: v2, alias: v3 };
Value::node(Some(n.into()))
}
// table_ref.9
1867 => {
let [v1] = take(rhs);
Value::node(v1.into_node()?)
}
// table_ref.10
1868 => {
let [_, v2, _, v4] = take(rhs);
let mut v2 = v2.into_jexpr()?;
let v4 = v4.into_alias()?;
crate::actions::pointee_mut(&mut v2)?.alias = v4;
Value::node(v2.map(NodeType::into_node))
}
// table_ref.11
1869 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_alias()?;
let mut jt = crate::actions::pointer(crate::actions::castNode::<JsonTable>(v1)?)?;
jt.alias = v2;
Value::node(Some(jt.into_node()))
}
// table_ref.12
1870 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_node()?;
let v3 = v3.into_alias()?;
let mut jt = crate::actions::pointer(crate::actions::castNode::<JsonTable>(v2)?)?;
jt.alias = v3;
jt.lateral = true;
Value::node(Some(jt.into_node()))
}
// joined_table.1
1871 => {
let [_, v2, _] = take(rhs);
v2
}
// joined_table.2
1872 => {
let [v1, _, _, v4] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let n = JoinExpr { jointype: JoinType::JOIN_INNER, isNatural: false, larg: v1, rarg: v4, usingClause: List::new(), join_using_alias: None, quals: None, ..Default::default() };
Value::jexpr(Some(Box::new(n)))
}
// joined_table.3
1873 => {
let [v1, v2, _, v4, v5] = take(rhs);
Value::jexpr(rules::joined_table::joined_table_3(p, v1.into_node()?, v2.into_jtype()?, v4.into_node()?, v5.into_node()?)?)
}
// joined_table.4
1874 => {
let [v1, _, v3, v4] = take(rhs);
Value::jexpr(rules::joined_table::joined_table_4(p, v1.into_node()?, v3.into_node()?, v4.into_node()?)?)
}
// joined_table.5
1875 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_jtype()?;
let v5 = v5.into_node()?;
let n = JoinExpr { jointype: v3, isNatural: true, larg: v1, rarg: v5, usingClause: List::new(), join_using_alias: None, quals: None, ..Default::default() };
Value::jexpr(Some(Box::new(n)))
}
// joined_table.6
1876 => {
let [v1, _, _, v4] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let n = JoinExpr { jointype: JoinType::JOIN_INNER, isNatural: true, larg: v1, rarg: v4, usingClause: List::new(), join_using_alias: None, quals: None, ..Default::default() };
Value::jexpr(Some(Box::new(n)))
}
// alias_clause.1
1877 => {
let [_, v2, _, v4, _] = take(rhs);
let v2 = v2.into_str()?;
let v4 = v4.into_list()?;
let mut result: Option<Box<Alias>>;
result = Some(Box::new(Alias::default()));
crate::actions::pointee_mut(&mut result)?.aliasname = v2;
crate::actions::pointee_mut(&mut result)?.colnames = v4;
Value::alias(result)
}
// alias_clause.2
1878 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let mut result: Option<Box<Alias>>;
result = Some(Box::new(Alias::default()));
crate::actions::pointee_mut(&mut result)?.aliasname = v2;
Value::alias(result)
}
// alias_clause.3
1879 => {
let [v1, _, v3, _] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_list()?;
let mut result: Option<Box<Alias>>;
result = Some(Box::new(Alias::default()));
crate::actions::pointee_mut(&mut result)?.aliasname = v1;
crate::actions::pointee_mut(&mut result)?.colnames = v3;
Value::alias(result)
}
// alias_clause.4
1880 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
let mut result: Option<Box<Alias>>;
result = Some(Box::new(Alias::default()));
crate::actions::pointee_mut(&mut result)?.aliasname = v1;
Value::alias(result)
}
// opt_alias_clause.1
1881 => {
let [v1] = take(rhs);
v1
}
// opt_alias_clause.2
1882 => Value::alias(None),
// opt_alias_clause_for_join_using.1
1883 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let mut result: Option<Box<Alias>>;
result = Some(Box::new(Alias::default()));
crate::actions::pointee_mut(&mut result)?.aliasname = v2;
Value::alias(result)
}
// opt_alias_clause_for_join_using.2
1884 => Value::alias(None),
// func_alias_clause.1
1885 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?, None])
}
// func_alias_clause.2
1886 => {
let [_, _, v3, _] = take(rhs);
Value::list(vec![None, v3.into_node()?])
}
// func_alias_clause.3
1887 => {
let [_, v2, _, v4, _] = take(rhs);
let v2 = v2.into_str()?;
let v4 = v4.into_list()?;
let a = Alias { aliasname: v2, ..Default::default() };
Value::list(vec![Some(a.into()), crate::actions::listNode(v4)])
}
// func_alias_clause.4
1888 => {
let [v1, _, v3, _] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_list()?;
let a = Alias { aliasname: v1, ..Default::default() };
Value::list(vec![Some(a.into()), crate::actions::listNode(v3)])
}
// func_alias_clause.5
1889 => Value::list(vec![None, None]),
// join_type.1
1890 => Value::jtype(JoinType::JOIN_FULL),
// join_type.2
1891 => Value::jtype(JoinType::JOIN_LEFT),
// join_type.3
1892 => Value::jtype(JoinType::JOIN_RIGHT),
// join_type.4
1893 => Value::jtype(JoinType::JOIN_INNER),
// opt_outer.1
1894 => Value::None,
// opt_outer.2
1895 => Value::None,
// join_qual.1
1896 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_list()?;
let v5 = v5.into_alias()?;
Value::node(crate::actions::listNode(vec![crate::actions::listNode(v3), v5.map(NodeType::into_node)]))
}
// join_qual.2
1897 => {
let [_, v2] = take(rhs);
v2
}
// relation_expr.1
1898 => {
let [v1] = take(rhs);
let v1 = v1.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.inh = true;
crate::actions::pointee_mut(&mut result)?.alias = None;
Value::range(result)
}
// relation_expr.2
1899 => {
let [v1] = take(rhs);
v1
}
// extended_relation_expr.1
1900 => {
let [v1, _] = take(rhs);
let v1 = v1.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.inh = true;
crate::actions::pointee_mut(&mut result)?.alias = None;
Value::range(result)
}
// extended_relation_expr.2
1901 => {
let [_, v2] = take(rhs);
let v2 = v2.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.inh = false;
crate::actions::pointee_mut(&mut result)?.alias = None;
Value::range(result)
}
// extended_relation_expr.3
1902 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_range()?;
let mut result: Option<Box<RangeVar>>;
result = v3;
crate::actions::pointee_mut(&mut result)?.inh = false;
crate::actions::pointee_mut(&mut result)?.alias = None;
Value::range(result)
}
// relation_expr_list.1
1903 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// relation_expr_list.2
1904 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// relation_expr_opt_alias.1
1905 => {
let [v1] = take(rhs);
v1
}
// relation_expr_opt_alias.2
1906 => {
let [v1, v2] = take(rhs);
let mut v1 = v1.into_range()?;
let v2 = v2.into_str()?;
let alias = Alias { aliasname: v2, ..Default::default() };
crate::actions::pointee_mut(&mut v1)?.alias = Some(Box::new(alias));
Value::range(v1)
}
// relation_expr_opt_alias.3
1907 => {
let [v1, _, v3] = take(rhs);
let mut v1 = v1.into_range()?;
let v3 = v3.into_str()?;
let alias = Alias { aliasname: v3, ..Default::default() };
crate::actions::pointee_mut(&mut v1)?.alias = Some(Box::new(alias));
Value::range(v1)
}
// tablesample_clause.1
1908 => {
let [_, v2, _, v4, _, v6] = take(rhs);
let v2 = v2.into_list()?;
let v4 = v4.into_list()?;
let v6 = v6.into_node()?;
let n = RangeTableSample { method: v2, args: v4, repeatable: v6, location: at[1], ..Default::default() };
Value::node(Some(n.into()))
}
// opt_repeatable_clause.1
1909 => {
let [_, _, v3, _] = take(rhs);
v3
}
// opt_repeatable_clause.2
1910 => Value::node(None),
// func_table.1
1911 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_boolean()?;
let n = RangeFunction { lateral: false, ordinality: v2, is_rowsfrom: false, functions: vec![crate::actions::listNode(vec![v1, None])], ..Default::default() };
Value::node(Some(n.into()))
}
// func_table.2
1912 => {
let [_, _, _, v4, _, v6] = take(rhs);
let v4 = v4.into_list()?;
let v6 = v6.into_boolean()?;
let n = RangeFunction { lateral: false, ordinality: v6, is_rowsfrom: true, functions: v4, ..Default::default() };
Value::node(Some(n.into()))
}
// rowsfrom_item.1
1913 => {
let [v1, v2] = take(rhs);
Value::list(vec![v1.into_node()?, v2.into_node()?])
}
// rowsfrom_list.1
1914 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// rowsfrom_list.2
1915 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// opt_col_def_list.1
1916 => {
let [_, _, v3, _] = take(rhs);
v3
}
// opt_col_def_list.2
1917 => Value::list(List::new()),
// opt_ordinality.1
1918 => Value::boolean(true),
// opt_ordinality.2
1919 => Value::boolean(false),
// where_clause.1
1920 => {
let [_, v2] = take(rhs);
v2
}
// where_clause.2
1921 => Value::node(None),
// where_or_current_clause.1
1922 => {
let [_, v2] = take(rhs);
v2
}
// where_or_current_clause.2
1923 => {
let [_, _, _, v4] = take(rhs);
let v4 = v4.into_str()?;
let n = CurrentOfExpr { cursor_name: v4, cursor_param: 0, ..Default::default() };
Value::node(Some(n.into()))
}
// where_or_current_clause.3
1924 => Value::node(None),
// OptTableFuncElementList.1
1925 => {
let [v1] = take(rhs);
v1
}
// OptTableFuncElementList.2
1926 => Value::list(List::new()),
// TableFuncElementList.1
1927 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// TableFuncElementList.2
1928 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// TableFuncElement.1
1929 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let v3 = v3.into_node()?;
let n = ColumnDef { colname: v1, typeName: v2, inhcount: 0, is_local: true, is_not_null: false, is_from_type: false, storage: 0, raw_default: None, cooked_default: None, collClause: crate::actions::castNode::<CollateClause>(v3)?, collOid: InvalidOid, constraints: List::new(), location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// xmltable.1
1930 => {
let [_, _, v3, v4, _, v6, _] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_node()?;
let v6 = v6.into_list()?;
let n = RangeTableFunc { rowexpr: v3, docexpr: v4, columns: v6, namespaces: List::new(), location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// xmltable.2
1931 => {
let [_, _, _, _, v5, _, _, v8, v9, _, v11, _] = take(rhs);
let v5 = v5.into_list()?;
let v8 = v8.into_node()?;
let v9 = v9.into_node()?;
let v11 = v11.into_list()?;
let n = RangeTableFunc { rowexpr: v8, docexpr: v9, columns: v11, namespaces: v5, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// xmltable_column_list.1
1932 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// xmltable_column_list.2
1933 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// xmltable_column_el.1
1934 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let fc = RangeTableFuncCol { colname: v1, for_ordinality: false, typeName: v2, is_not_null: false, colexpr: None, coldefexpr: None, location: at[0] };
Value::node(Some(fc.into()))
}
// xmltable_column_el.2
1935 => {
let [v1, v2, v3] = take(rhs);
Value::node(rules::xmltable_column_el::xmltable_column_el_2(p, v1.into_str()?, v2.into_typnam()?, v3.into_list()?, at[0])?)
}
// xmltable_column_el.3
1936 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
let fc = RangeTableFuncCol { colname: v1, for_ordinality: true, location: at[0], ..Default::default() };
Value::node(Some(fc.into()))
}
// xmltable_column_option_list.1
1937 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// xmltable_column_option_list.2
1938 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// xmltable_column_option_el.1
1939 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_node()?;
if v1.as_deref() == Some("__pg__is_not_null") {
return Err(p.error(ERRCODE_SYNTAX_ERROR, &format!("option name \"{}\" cannot be used in XMLTABLE", v1.as_deref().unwrap_or_default()), at[0]));
}
Value::defelt(Some(Box::new(crate::actions::makeDefElem(v1, v2, at[0]))))
}
// xmltable_column_option_el.2
1940 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("default".into()), v2, at[0]))))
}
// xmltable_column_option_el.3
1941 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("__pg__is_not_null".into()), Some(crate::actions::makeBoolean(true)), at[0])))),
// xmltable_column_option_el.4
1942 => Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("__pg__is_not_null".into()), Some(crate::actions::makeBoolean(false)), at[0])))),
// xmltable_column_option_el.5
1943 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::defelt(Some(Box::new(crate::actions::makeDefElem(Some("path".into()), v2, at[0]))))
}
// xml_namespace_list.1
1944 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// xml_namespace_list.2
1945 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// xml_namespace_el.1
1946 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_str()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = v3;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// xml_namespace_el.2
1947 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = v2;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// json_table.1
1948 => {
let [_, _, v3, _, v5, v6, v7, _, _, v10, _, v12, _] = take(rhs);
Value::node(rules::json_table::json_table_1(p, v3.into_node()?, v5.into_node()?, v6.into_str()?, v7.into_list()?, v10.into_list()?, v12.into_node()?, at[0], at[4], at[5])?)
}
// json_table_path_name_opt.1
1949 => {
let [_, v2] = take(rhs);
v2
}
// json_table_path_name_opt.2
1950 => Value::str(None),
// json_table_column_definition_list.1
1951 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// json_table_column_definition_list.2
1952 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// json_table_column_definition.1
1953 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_str()?;
let n = JsonTableColumn { coltype: JsonTableColumnType::JTC_FOR_ORDINALITY, name: v1, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// json_table_column_definition.2
1954 => {
let [v1, v2, v3, v4, v5, v6] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let v3 = v3.into_node()?;
let v4 = v4.into_ival()?;
let v5 = v5.into_ival()?;
let v6 = v6.into_list()?;
let n = JsonTableColumn { coltype: JsonTableColumnType::JTC_REGULAR, name: v1, typeName: v2, format: Some(Box::new(crate::actions::makeJsonFormat(JsonFormatType::JS_FORMAT_DEFAULT, JsonEncoding::JS_ENC_DEFAULT, -1))), pathspec: crate::actions::castNode::<JsonTablePathSpec>(v3)?, wrapper: JsonWrapper(v4), quotes: JsonQuotes(v5), on_empty: crate::actions::castNode::<JsonBehavior>(crate::actions::linitial(&v6).cloned())?, on_error: crate::actions::castNode::<JsonBehavior>(crate::actions::lsecond(&v6).cloned())?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// json_table_column_definition.3
1955 => {
let [v1, v2, v3, v4, v5, v6, v7] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let v3 = v3.into_node()?;
let v4 = v4.into_node()?;
let v5 = v5.into_ival()?;
let v6 = v6.into_ival()?;
let v7 = v7.into_list()?;
let n = JsonTableColumn { coltype: JsonTableColumnType::JTC_FORMATTED, name: v1, typeName: v2, format: crate::actions::castNode::<JsonFormat>(v3)?, pathspec: crate::actions::castNode::<JsonTablePathSpec>(v4)?, wrapper: JsonWrapper(v5), quotes: JsonQuotes(v6), on_empty: crate::actions::castNode::<JsonBehavior>(crate::actions::linitial(&v7).cloned())?, on_error: crate::actions::castNode::<JsonBehavior>(crate::actions::lsecond(&v7).cloned())?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// json_table_column_definition.4
1956 => {
let [v1, v2, _, v4, v5] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_typnam()?;
let v4 = v4.into_node()?;
let v5 = v5.into_node()?;
let n = JsonTableColumn { coltype: JsonTableColumnType::JTC_EXISTS, name: v1, typeName: v2, format: Some(Box::new(crate::actions::makeJsonFormat(JsonFormatType::JS_FORMAT_DEFAULT, JsonEncoding::JS_ENC_DEFAULT, -1))), wrapper: JsonWrapper::JSW_NONE, quotes: JsonQuotes::JS_QUOTES_UNSPEC, pathspec: crate::actions::castNode::<JsonTablePathSpec>(v4)?, on_empty: None, on_error: crate::actions::castNode::<JsonBehavior>(v5)?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// json_table_column_definition.5
1957 => {
let [_, _, v3, _, _, v6, _] = take(rhs);
let v3 = v3.into_str()?;
let v6 = v6.into_list()?;
let n = JsonTableColumn { coltype: JsonTableColumnType::JTC_NESTED, pathspec: Some(Box::new(crate::actions::makeJsonTablePathSpec(v3, None, at[2], -1))), columns: v6, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// json_table_column_definition.6
1958 => {
let [_, _, v3, _, v5, _, _, v8, _] = take(rhs);
let v3 = v3.into_str()?;
let v5 = v5.into_str()?;
let v8 = v8.into_list()?;
let n = JsonTableColumn { coltype: JsonTableColumnType::JTC_NESTED, pathspec: Some(Box::new(crate::actions::makeJsonTablePathSpec(v3, v5, at[2], at[4]))), columns: v8, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// path_opt.1
1959 => Value::None,
// path_opt.2
1960 => Value::None,
// json_table_column_path_clause_opt.1
1961 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::node(Some(crate::actions::makeJsonTablePathSpec(v2, None, at[1], -1).into()))
}
// json_table_column_path_clause_opt.2
1962 => Value::node(None),
// Typename.1
1963 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_typnam()?;
let v2 = v2.into_list()?;
let mut result: Option<Box<TypeName>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.arrayBounds = v2;
Value::typnam(result)
}
// Typename.2
1964 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_typnam()?;
let v3 = v3.into_list()?;
let mut result: Option<Box<TypeName>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.arrayBounds = v3;
crate::actions::pointee_mut(&mut result)?.setof = true;
Value::typnam(result)
}
// Typename.3
1965 => {
let [v1, _, _, v4, _] = take(rhs);
let v1 = v1.into_typnam()?;
let v4 = v4.into_ival()?;
let mut result: Option<Box<TypeName>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.arrayBounds = vec![Some(crate::actions::makeInteger(v4))];
Value::typnam(result)
}
// Typename.4
1966 => {
let [_, v2, _, _, v5, _] = take(rhs);
let v2 = v2.into_typnam()?;
let v5 = v5.into_ival()?;
let mut result: Option<Box<TypeName>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.arrayBounds = vec![Some(crate::actions::makeInteger(v5))];
crate::actions::pointee_mut(&mut result)?.setof = true;
Value::typnam(result)
}
// Typename.5
1967 => {
let [v1, _] = take(rhs);
let v1 = v1.into_typnam()?;
let mut result: Option<Box<TypeName>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.arrayBounds = vec![Some(crate::actions::makeInteger(-1))];
Value::typnam(result)
}
// Typename.6
1968 => {
let [_, v2, _] = take(rhs);
let v2 = v2.into_typnam()?;
let mut result: Option<Box<TypeName>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.arrayBounds = vec![Some(crate::actions::makeInteger(-1))];
crate::actions::pointee_mut(&mut result)?.setof = true;
Value::typnam(result)
}
// opt_array_bounds.1
1969 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_list()?;
Value::list(crate::actions::lappend(v1, Some(crate::actions::makeInteger(-1))))
}
// opt_array_bounds.2
1970 => {
let [v1, _, v3, _] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_ival()?;
Value::list(crate::actions::lappend(v1, Some(crate::actions::makeInteger(v3))))
}
// opt_array_bounds.3
1971 => Value::list(List::new()),
// SimpleTypename.1
1972 => {
let [v1] = take(rhs);
v1
}
// SimpleTypename.2
1973 => {
let [v1] = take(rhs);
v1
}
// SimpleTypename.3
1974 => {
let [v1] = take(rhs);
v1
}
// SimpleTypename.4
1975 => {
let [v1] = take(rhs);
v1
}
// SimpleTypename.5
1976 => {
let [v1] = take(rhs);
v1
}
// SimpleTypename.6
1977 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_typnam()?;
let v2 = v2.into_list()?;
let mut result: Option<Box<TypeName>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.typmods = v2;
Value::typnam(result)
}
// SimpleTypename.7
1978 => {
let [v1, _, v3, _] = take(rhs);
let v1 = v1.into_typnam()?;
let v3 = v3.into_ival()?;
let mut result: Option<Box<TypeName>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.typmods = vec![Some(crate::actions::makeIntConst(INTERVAL_FULL_RANGE, -1)), Some(crate::actions::makeIntConst(v3, at[2]))];
Value::typnam(result)
}
// SimpleTypename.8
1979 => {
let [v1] = take(rhs);
v1
}
// ConstTypename.1
1980 => {
let [v1] = take(rhs);
v1
}
// ConstTypename.2
1981 => {
let [v1] = take(rhs);
v1
}
// ConstTypename.3
1982 => {
let [v1] = take(rhs);
v1
}
// ConstTypename.4
1983 => {
let [v1] = take(rhs);
v1
}
// ConstTypename.5
1984 => {
let [v1] = take(rhs);
v1
}
// GenericType.1
1985 => {
let [v1, v2] = take(rhs);
Value::typnam(rules::GenericType::GenericType_1(p, v1.into_str()?, v2.into_list()?, at[0])?)
}
// GenericType.2
1986 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::makeTypeNameFromNameList(crate::actions::lcons(Some(crate::actions::makeString(v1)), v2))));
crate::actions::pointee_mut(&mut result)?.typmods = v3;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// opt_type_modifiers.1
1987 => {
let [_, v2, _] = take(rhs);
v2
}
// opt_type_modifiers.2
1988 => Value::list(List::new()),
// Numeric.1
1989 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("int4")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.2
1990 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("int4")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.3
1991 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("int2")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.4
1992 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("int8")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.5
1993 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("float4")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.6
1994 => {
let [_, v2] = take(rhs);
let v2 = v2.into_typnam()?;
let mut result: Option<Box<TypeName>>;
result = v2;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.7
1995 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("float8")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.8
1996 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("numeric")));
crate::actions::pointee_mut(&mut result)?.typmods = v2;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.9
1997 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("numeric")));
crate::actions::pointee_mut(&mut result)?.typmods = v2;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.10
1998 => {
let [_, v2] = take(rhs);
let v2 = v2.into_list()?;
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("numeric")));
crate::actions::pointee_mut(&mut result)?.typmods = v2;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Numeric.11
1999 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("bool")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// opt_float.1
2000 => {
let [_, v2, _] = take(rhs);
let v2 = v2.into_ival()?;
Value::typnam(if v2 < 1 {
return Err(p.error(ERRCODE_INVALID_PARAMETER_VALUE, "precision for type float must be at least 1 bit", at[1]));
} else if v2 <= 24 {
Some(Box::new(crate::actions::SystemTypeName("float4")))
} else if v2 <= 53 {
Some(Box::new(crate::actions::SystemTypeName("float8")))
} else {
return Err(p.error(ERRCODE_INVALID_PARAMETER_VALUE, "precision for type float must be less than 54 bits", at[1]));
})
}
// opt_float.2
2001 => Value::typnam(Some(Box::new(crate::actions::SystemTypeName("float8")))),
// Bit.1
2002 => {
let [v1] = take(rhs);
v1
}
// Bit.2
2003 => {
let [v1] = take(rhs);
v1
}
// ConstBit.1
2004 => {
let [v1] = take(rhs);
v1
}
// ConstBit.2
2005 => {
let [v1] = take(rhs);
let v1 = v1.into_typnam()?;
let mut result: Option<Box<TypeName>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.typmods = List::new();
Value::typnam(result)
}
// BitWithLength.1
2006 => {
let [_, v2, _, v4, _] = take(rhs);
Value::typnam(rules::BitWithLength::BitWithLength_1(p, v2.into_boolean()?, v4.into_list()?, at[0])?)
}
// BitWithoutLength.1
2007 => {
let [_, v2] = take(rhs);
let v2 = v2.into_boolean()?;
let mut result: Option<Box<TypeName>>;
if v2 {
result = Some(Box::new(crate::actions::SystemTypeName("varbit")));
} else {
result = Some(Box::new(crate::actions::SystemTypeName("bit")));
crate::actions::pointee_mut(&mut result)?.typmods = vec![Some(crate::actions::makeIntConst(1, -1))];
}
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// Character.1
2008 => {
let [v1] = take(rhs);
v1
}
// Character.2
2009 => {
let [v1] = take(rhs);
v1
}
// ConstCharacter.1
2010 => {
let [v1] = take(rhs);
v1
}
// ConstCharacter.2
2011 => {
let [v1] = take(rhs);
let v1 = v1.into_typnam()?;
let mut result: Option<Box<TypeName>>;
result = v1;
crate::actions::pointee_mut(&mut result)?.typmods = List::new();
Value::typnam(result)
}
// CharacterWithLength.1
2012 => {
let [v1, _, v3, _] = take(rhs);
Value::typnam(rules::CharacterWithLength::CharacterWithLength_1(p, v1.into_str()?, v3.into_ival()?, at[0], at[2])?)
}
// CharacterWithoutLength.1
2013 => {
let [v1] = take(rhs);
Value::typnam(rules::CharacterWithoutLength::CharacterWithoutLength_1(p, v1.into_str()?, at[0])?)
}
// character.1
2014 => {
let [_, v2] = take(rhs);
let v2 = v2.into_boolean()?;
Value::str(Some(if v2 { "varchar" } else { "bpchar" }.into()))
}
// character.2
2015 => {
let [_, v2] = take(rhs);
let v2 = v2.into_boolean()?;
Value::str(Some(if v2 { "varchar" } else { "bpchar" }.into()))
}
// character.3
2016 => Value::str(Some("varchar".into())),
// character.4
2017 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_boolean()?;
Value::str(Some(if v3 { "varchar" } else { "bpchar" }.into()))
}
// character.5
2018 => {
let [_, _, v3] = take(rhs);
let v3 = v3.into_boolean()?;
Value::str(Some(if v3 { "varchar" } else { "bpchar" }.into()))
}
// character.6
2019 => {
let [_, v2] = take(rhs);
let v2 = v2.into_boolean()?;
Value::str(Some(if v2 { "varchar" } else { "bpchar" }.into()))
}
// opt_varying.1
2020 => Value::boolean(true),
// opt_varying.2
2021 => Value::boolean(false),
// ConstDatetime.1
2022 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_ival()?;
let v5 = v5.into_boolean()?;
let mut result: Option<Box<TypeName>>;
if v5 {
result = Some(Box::new(crate::actions::SystemTypeName("timestamptz")));
} else {
result = Some(Box::new(crate::actions::SystemTypeName("timestamp")));
}
crate::actions::pointee_mut(&mut result)?.typmods = vec![Some(crate::actions::makeIntConst(v3, at[2]))];
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// ConstDatetime.2
2023 => {
let [_, v2] = take(rhs);
let v2 = v2.into_boolean()?;
let mut result: Option<Box<TypeName>>;
if v2 {
result = Some(Box::new(crate::actions::SystemTypeName("timestamptz")));
} else {
result = Some(Box::new(crate::actions::SystemTypeName("timestamp")));
}
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// ConstDatetime.3
2024 => {
let [_, _, v3, _, v5] = take(rhs);
let v3 = v3.into_ival()?;
let v5 = v5.into_boolean()?;
let mut result: Option<Box<TypeName>>;
if v5 {
result = Some(Box::new(crate::actions::SystemTypeName("timetz")));
} else {
result = Some(Box::new(crate::actions::SystemTypeName("time")));
}
crate::actions::pointee_mut(&mut result)?.typmods = vec![Some(crate::actions::makeIntConst(v3, at[2]))];
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// ConstDatetime.4
2025 => {
let [_, v2] = take(rhs);
let v2 = v2.into_boolean()?;
let mut result: Option<Box<TypeName>>;
if v2 {
result = Some(Box::new(crate::actions::SystemTypeName("timetz")));
} else {
result = Some(Box::new(crate::actions::SystemTypeName("time")));
}
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// ConstInterval.1
2026 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("interval")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// opt_timezone.1
2027 => Value::boolean(true),
// opt_timezone.2
2028 => Value::boolean(false),
// opt_timezone.3
2029 => Value::boolean(false),
// opt_interval.1
2030 => Value::list(rules::opt_interval::opt_interval_1(p, at[0])?),
// opt_interval.2
2031 => Value::list(rules::opt_interval::opt_interval_2(p, at[0])?),
// opt_interval.3
2032 => Value::list(rules::opt_interval::opt_interval_3(p, at[0])?),
// opt_interval.4
2033 => Value::list(rules::opt_interval::opt_interval_4(p, at[0])?),
// opt_interval.5
2034 => Value::list(rules::opt_interval::opt_interval_5(p, at[0])?),
// opt_interval.6
2035 => {
let [v1] = take(rhs);
v1
}
// opt_interval.7
2036 => Value::list(rules::opt_interval::opt_interval_7(p, at[0])?),
// opt_interval.8
2037 => Value::list(rules::opt_interval::opt_interval_8(p, at[0])?),
// opt_interval.9
2038 => Value::list(rules::opt_interval::opt_interval_9(p, at[0])?),
// opt_interval.10
2039 => {
let [_, _, v3] = take(rhs);
Value::list(rules::opt_interval::opt_interval_10(p, v3.into_list()?, at[0])?)
}
// opt_interval.11
2040 => Value::list(rules::opt_interval::opt_interval_11(p, at[0])?),
// opt_interval.12
2041 => {
let [_, _, v3] = take(rhs);
Value::list(rules::opt_interval::opt_interval_12(p, v3.into_list()?, at[0])?)
}
// opt_interval.13
2042 => {
let [_, _, v3] = take(rhs);
Value::list(rules::opt_interval::opt_interval_13(p, v3.into_list()?, at[0])?)
}
// opt_interval.14
2043 => Value::list(List::new()),
// interval_second.1
2044 => Value::list(rules::interval_second::interval_second_1(p, at[0])?),
// interval_second.2
2045 => {
let [_, _, v3, _] = take(rhs);
Value::list(rules::interval_second::interval_second_2(p, v3.into_ival()?, at[0], at[2])?)
}
// JsonType.1
2046 => {
let mut result: Option<Box<TypeName>>;
result = Some(Box::new(crate::actions::SystemTypeName("json")));
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::typnam(result)
}
// a_expr.1
2047 => {
let [v1] = take(rhs);
v1
}
// a_expr.2
2048 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_typnam()?;
Value::node(Some(crate::actions::makeTypeCast(v1, v3, at[1])))
}
// a_expr.3
2049 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_list()?;
let n = CollateClause { arg: v1, collname: v3, location: at[1] };
Value::node(Some(n.into()))
}
// a_expr.4
2050 => {
let [v1, _, _, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_node()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("timezone"), vec![v5, v1], CoercionForm::COERCE_SQL_SYNTAX, at[1]).into()))
}
// a_expr.5
2051 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_node()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("timezone"), vec![v1], CoercionForm::COERCE_SQL_SYNTAX, -1).into()))
}
// a_expr.6
2052 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "+", None, v2, at[0]).into()))
}
// a_expr.7
2053 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::doNegate(v2, at[0])))
}
// a_expr.8
2054 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "+", v1, v3, at[1]).into()))
}
// a_expr.9
2055 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "-", v1, v3, at[1]).into()))
}
// a_expr.10
2056 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "*", v1, v3, at[1]).into()))
}
// a_expr.11
2057 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "/", v1, v3, at[1]).into()))
}
// a_expr.12
2058 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "%", v1, v3, at[1]).into()))
}
// a_expr.13
2059 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "^", v1, v3, at[1]).into()))
}
// a_expr.14
2060 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "<", v1, v3, at[1]).into()))
}
// a_expr.15
2061 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, ">", v1, v3, at[1]).into()))
}
// a_expr.16
2062 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "=", v1, v3, at[1]).into()))
}
// a_expr.17
2063 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "<=", v1, v3, at[1]).into()))
}
// a_expr.18
2064 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, ">=", v1, v3, at[1]).into()))
}
// a_expr.19
2065 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "<>", v1, v3, at[1]).into()))
}
// a_expr.20
2066 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeA_Expr(A_Expr_Kind::AEXPR_OP, v2, v1, v3, at[1]).into()))
}
// a_expr.21
2067 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeA_Expr(A_Expr_Kind::AEXPR_OP, v1, None, v2, at[0]).into()))
}
// a_expr.22
2068 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeAndExpr(v1, v3, at[1])))
}
// a_expr.23
2069 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeOrExpr(v1, v3, at[1])))
}
// a_expr.24
2070 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeNotExpr(v2, at[0])))
}
// a_expr.25
2071 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeNotExpr(v2, at[0])))
}
// a_expr.26
2072 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_LIKE, "~~", v1, v3, at[1]).into()))
}
// a_expr.27
2073 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("like_escape"), vec![v3, v5], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_LIKE, "~~", v1, Some(n.into()), at[1]).into()))
}
// a_expr.28
2074 => {
let [v1, _, _, v4] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_LIKE, "!~~", v1, v4, at[1]).into()))
}
// a_expr.29
2075 => {
let [v1, _, _, v4, _, v6] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let v6 = v6.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("like_escape"), vec![v4, v6], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_LIKE, "!~~", v1, Some(n.into()), at[1]).into()))
}
// a_expr.30
2076 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_ILIKE, "~~*", v1, v3, at[1]).into()))
}
// a_expr.31
2077 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("like_escape"), vec![v3, v5], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_ILIKE, "~~*", v1, Some(n.into()), at[1]).into()))
}
// a_expr.32
2078 => {
let [v1, _, _, v4] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_ILIKE, "!~~*", v1, v4, at[1]).into()))
}
// a_expr.33
2079 => {
let [v1, _, _, v4, _, v6] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let v6 = v6.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("like_escape"), vec![v4, v6], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_ILIKE, "!~~*", v1, Some(n.into()), at[1]).into()))
}
// a_expr.34
2080 => {
let [v1, _, _, v4] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("similar_to_escape"), vec![v4], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_SIMILAR, "~", v1, Some(n.into()), at[1]).into()))
}
// a_expr.35
2081 => {
let [v1, _, _, v4, _, v6] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let v6 = v6.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("similar_to_escape"), vec![v4, v6], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_SIMILAR, "~", v1, Some(n.into()), at[1]).into()))
}
// a_expr.36
2082 => {
let [v1, _, _, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("similar_to_escape"), vec![v5], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_SIMILAR, "!~", v1, Some(n.into()), at[1]).into()))
}
// a_expr.37
2083 => {
let [v1, _, _, _, v5, _, v7] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_node()?;
let v7 = v7.into_node()?;
let n = crate::actions::makeFuncCall(crate::actions::SystemFuncName("similar_to_escape"), vec![v5, v7], CoercionForm::COERCE_EXPLICIT_CALL, at[1]);
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_SIMILAR, "!~", v1, Some(n.into()), at[1]).into()))
}
// a_expr.38
2084 => {
let [v1, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_38(p, v1.into_node()?, at[1])?)
}
// a_expr.39
2085 => {
let [v1, _] = take(rhs);
Value::node(rules::a_expr::a_expr_39(p, v1.into_node()?, at[1])?)
}
// a_expr.40
2086 => {
let [v1, _, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_40(p, v1.into_node()?, at[1])?)
}
// a_expr.41
2087 => {
let [v1, _] = take(rhs);
Value::node(rules::a_expr::a_expr_41(p, v1.into_node()?, at[1])?)
}
// a_expr.42
2088 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_list()?;
if crate::actions::list_length(&v1) != 2 {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "wrong number of parameters on left side of OVERLAPS expression", at[0]));
}
if crate::actions::list_length(&v3) != 2 {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "wrong number of parameters on right side of OVERLAPS expression", at[2]));
}
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("overlaps"), crate::actions::list_concat(v1, v3), CoercionForm::COERCE_SQL_SYNTAX, at[1]).into()))
}
// a_expr.43
2089 => {
let [v1, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_43(p, v1.into_node()?, at[1])?)
}
// a_expr.44
2090 => {
let [v1, _, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_44(p, v1.into_node()?, at[1])?)
}
// a_expr.45
2091 => {
let [v1, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_45(p, v1.into_node()?, at[1])?)
}
// a_expr.46
2092 => {
let [v1, _, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_46(p, v1.into_node()?, at[1])?)
}
// a_expr.47
2093 => {
let [v1, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_47(p, v1.into_node()?, at[1])?)
}
// a_expr.48
2094 => {
let [v1, _, _, _] = take(rhs);
Value::node(rules::a_expr::a_expr_48(p, v1.into_node()?, at[1])?)
}
// a_expr.49
2095 => {
let [v1, _, _, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_DISTINCT, "=", v1, v5, at[1]).into()))
}
// a_expr.50
2096 => {
let [v1, _, _, _, _, v6] = take(rhs);
let v1 = v1.into_node()?;
let v6 = v6.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_NOT_DISTINCT, "=", v1, v6, at[1]).into()))
}
// a_expr.51
2097 => {
let [v1, _, _, v4, _, v6] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let v6 = v6.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_BETWEEN, "BETWEEN", v1, crate::actions::listNode(vec![v4, v6]), at[1]).into()))
}
// a_expr.52
2098 => {
let [v1, _, _, _, v5, _, v7] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_node()?;
let v7 = v7.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_NOT_BETWEEN, "NOT BETWEEN", v1, crate::actions::listNode(vec![v5, v7]), at[1]).into()))
}
// a_expr.53
2099 => {
let [v1, _, _, v4, _, v6] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let v6 = v6.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_BETWEEN_SYM, "BETWEEN SYMMETRIC", v1, crate::actions::listNode(vec![v4, v6]), at[1]).into()))
}
// a_expr.54
2100 => {
let [v1, _, _, _, v5, _, v7] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_node()?;
let v7 = v7.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_NOT_BETWEEN_SYM, "NOT BETWEEN SYMMETRIC", v1, crate::actions::listNode(vec![v5, v7]), at[1]).into()))
}
// a_expr.55
2101 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let n = SubLink { subselect: v3, subLinkType: SubLinkType::ANY_SUBLINK, subLinkId: 0, testexpr: v1, operName: List::new(), location: at[1] };
Value::node(Some(n.into()))
}
// a_expr.56
2102 => {
let [v1, _, _, v4, _] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_list()?;
let mut n = crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_IN, "=", v1, crate::actions::listNode(v4), at[1]);
n.rexpr_list_start = at[2];
n.rexpr_list_end = at[4];
Value::node(Some(n.into()))
}
// a_expr.57
2103 => {
let [v1, _, _, v4] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_node()?;
let n = SubLink { subselect: v4, subLinkType: SubLinkType::ANY_SUBLINK, subLinkId: 0, testexpr: v1, operName: List::new(), location: at[1] };
Value::node(Some(crate::actions::makeNotExpr(Some(n.into()), at[1])))
}
// a_expr.58
2104 => {
let [v1, _, _, _, v5, _] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_list()?;
let mut n = crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_IN, "<>", v1, crate::actions::listNode(v5), at[1]);
n.rexpr_list_start = at[3];
n.rexpr_list_end = at[5];
Value::node(Some(n.into()))
}
// a_expr.59
2105 => {
let [v1, v2, v3, v4] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let v3 = v3.into_ival()?;
let v4 = v4.into_node()?;
let n = SubLink { subLinkType: SubLinkType(v3), subLinkId: 0, testexpr: v1, operName: v2, subselect: v4, location: at[1] };
Value::node(Some(n.into()))
}
// a_expr.60
2106 => {
let [v1, v2, v3, _, v5, _] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let v3 = v3.into_ival()?;
let v5 = v5.into_node()?;
Value::node(if v3 == SubLinkType::ANY_SUBLINK.0 {
Some(crate::actions::makeA_Expr(A_Expr_Kind::AEXPR_OP_ANY, v2, v1, v5, at[1]).into())
} else {
Some(crate::actions::makeA_Expr(A_Expr_Kind::AEXPR_OP_ALL, v2, v1, v5, at[1]).into())
})
}
// a_expr.61
2107 => return Err(p.error(ERRCODE_FEATURE_NOT_SUPPORTED, "UNIQUE predicate is not yet implemented", at[0])),
// a_expr.62
2108 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_node()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_DOCUMENT, None, List::new(), vec![v1], at[1]).into()))
}
// a_expr.63
2109 => {
let [v1, _, _, _] = take(rhs);
let v1 = v1.into_node()?;
Value::node(Some(crate::actions::makeNotExpr(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_DOCUMENT, None, List::new(), vec![v1], at[1]).into()), at[1])))
}
// a_expr.64
2110 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_node()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("is_normalized"), vec![v1], CoercionForm::COERCE_SQL_SYNTAX, at[1]).into()))
}
// a_expr.65
2111 => {
let [v1, _, v3, _] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_str()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("is_normalized"), vec![v1, Some(crate::actions::makeStringConst(v3, at[2]))], CoercionForm::COERCE_SQL_SYNTAX, at[1]).into()))
}
// a_expr.66
2112 => {
let [v1, _, _, _] = take(rhs);
let v1 = v1.into_node()?;
Value::node(Some(crate::actions::makeNotExpr(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("is_normalized"), vec![v1], CoercionForm::COERCE_SQL_SYNTAX, at[1]).into()), at[1])))
}
// a_expr.67
2113 => {
let [v1, _, _, v4, _] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_str()?;
Value::node(Some(crate::actions::makeNotExpr(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("is_normalized"), vec![v1, Some(crate::actions::makeStringConst(v4, at[3]))], CoercionForm::COERCE_SQL_SYNTAX, at[1]).into()), at[1])))
}
// a_expr.68
2114 => {
let [v1, _, v3, v4] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_ival()?;
let v4 = v4.into_boolean()?;
let format = crate::actions::makeJsonFormat(JsonFormatType::JS_FORMAT_DEFAULT, JsonEncoding::JS_ENC_DEFAULT, -1);
Value::node(Some(crate::actions::makeJsonIsPredicate(v1, format, JsonValueType(v3), v4, InvalidOid, at[0])))
}
// a_expr.69
2115 => {
let [v1, _, _, v4, v5] = take(rhs);
let v1 = v1.into_node()?;
let v4 = v4.into_ival()?;
let v5 = v5.into_boolean()?;
let format = crate::actions::makeJsonFormat(JsonFormatType::JS_FORMAT_DEFAULT, JsonEncoding::JS_ENC_DEFAULT, -1);
Value::node(Some(crate::actions::makeNotExpr(Some(crate::actions::makeJsonIsPredicate(v1, format, JsonValueType(v4), v5, InvalidOid, at[0])), at[0])))
}
// a_expr.70
2116 => {
let n = SetToDefault { location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// b_expr.1
2117 => {
let [v1] = take(rhs);
v1
}
// b_expr.2
2118 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_typnam()?;
Value::node(Some(crate::actions::makeTypeCast(v1, v3, at[1])))
}
// b_expr.3
2119 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "+", None, v2, at[0]).into()))
}
// b_expr.4
2120 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::doNegate(v2, at[0])))
}
// b_expr.5
2121 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "+", v1, v3, at[1]).into()))
}
// b_expr.6
2122 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "-", v1, v3, at[1]).into()))
}
// b_expr.7
2123 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "*", v1, v3, at[1]).into()))
}
// b_expr.8
2124 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "/", v1, v3, at[1]).into()))
}
// b_expr.9
2125 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "%", v1, v3, at[1]).into()))
}
// b_expr.10
2126 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "^", v1, v3, at[1]).into()))
}
// b_expr.11
2127 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "<", v1, v3, at[1]).into()))
}
// b_expr.12
2128 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, ">", v1, v3, at[1]).into()))
}
// b_expr.13
2129 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "=", v1, v3, at[1]).into()))
}
// b_expr.14
2130 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "<=", v1, v3, at[1]).into()))
}
// b_expr.15
2131 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, ">=", v1, v3, at[1]).into()))
}
// b_expr.16
2132 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_OP, "<>", v1, v3, at[1]).into()))
}
// b_expr.17
2133 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeA_Expr(A_Expr_Kind::AEXPR_OP, v2, v1, v3, at[1]).into()))
}
// b_expr.18
2134 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeA_Expr(A_Expr_Kind::AEXPR_OP, v1, None, v2, at[0]).into()))
}
// b_expr.19
2135 => {
let [v1, _, _, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v5 = v5.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_DISTINCT, "=", v1, v5, at[1]).into()))
}
// b_expr.20
2136 => {
let [v1, _, _, _, _, v6] = take(rhs);
let v1 = v1.into_node()?;
let v6 = v6.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_NOT_DISTINCT, "=", v1, v6, at[1]).into()))
}
// b_expr.21
2137 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_node()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_DOCUMENT, None, List::new(), vec![v1], at[1]).into()))
}
// b_expr.22
2138 => {
let [v1, _, _, _] = take(rhs);
let v1 = v1.into_node()?;
Value::node(Some(crate::actions::makeNotExpr(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_DOCUMENT, None, List::new(), vec![v1], at[1]).into()), at[1])))
}
// c_expr.1
2139 => {
let [v1] = take(rhs);
v1
}
// c_expr.2
2140 => {
let [v1] = take(rhs);
v1
}
// c_expr.3
2141 => {
let [v1, v2] = take(rhs);
Value::node(rules::c_expr::c_expr_3(p, v1.into_ival()?, v2.into_list()?, at[0])?)
}
// c_expr.4
2142 => {
let [_, v2, _, v4] = take(rhs);
let v2 = v2.into_node()?;
let v4 = v4.into_list()?;
Value::node(if !v4.is_empty() {
let n = A_Indirection { arg: v2, indirection: crate::actions::check_indirection(v4, p)? };
Some(n.into())
} else {
v2
})
}
// c_expr.5
2143 => {
let [v1] = take(rhs);
v1
}
// c_expr.6
2144 => {
let [v1] = take(rhs);
v1
}
// c_expr.7
2145 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
let n = SubLink { subLinkType: SubLinkType::EXPR_SUBLINK, subLinkId: 0, testexpr: None, operName: List::new(), subselect: v1, location: at[0] };
Value::node(Some(n.into()))
}
// c_expr.8
2146 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let mut n = SubLink::default();
let mut a = A_Indirection::default();
n.subLinkType = SubLinkType::EXPR_SUBLINK;
n.subLinkId = 0;
n.testexpr = None;
n.operName = List::new();
n.subselect = v1;
n.location = at[0];
a.arg = Some(n.into());
a.indirection = crate::actions::check_indirection(v2, p)?;
Value::node(Some(a.into()))
}
// c_expr.9
2147 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = SubLink { subLinkType: SubLinkType::EXISTS_SUBLINK, subLinkId: 0, testexpr: None, operName: List::new(), subselect: v2, location: at[0] };
Value::node(Some(n.into()))
}
// c_expr.10
2148 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let n = SubLink { subLinkType: SubLinkType::ARRAY_SUBLINK, subLinkId: 0, testexpr: None, operName: List::new(), subselect: v2, location: at[0] };
Value::node(Some(n.into()))
}
// c_expr.11
2149 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<A_ArrayExpr>(v2)?)?;
n.location = at[0];
Value::node(Some(n.into_node()))
}
// c_expr.12
2150 => {
let [v1] = take(rhs);
let v1 = v1.into_list()?;
let r = RowExpr { args: v1, row_typeid: InvalidOid, colnames: List::new(), row_format: CoercionForm::COERCE_EXPLICIT_CALL, location: at[0] };
Value::node(Some(r.into()))
}
// c_expr.13
2151 => {
let [v1] = take(rhs);
let v1 = v1.into_list()?;
let r = RowExpr { args: v1, row_typeid: InvalidOid, colnames: List::new(), row_format: CoercionForm::COERCE_IMPLICIT_CAST, location: at[0] };
Value::node(Some(r.into()))
}
// c_expr.14
2152 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
let g = GroupingFunc { args: v3, location: at[0], ..Default::default() };
Value::node(Some(g.into()))
}
// func_application.1
2153 => {
let [v1, _, _] = take(rhs);
let v1 = v1.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(v1, List::new(), CoercionForm::COERCE_EXPLICIT_CALL, at[0]).into()))
}
// func_application.2
2154 => {
let [v1, _, v3, v4, _] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let mut n = crate::actions::makeFuncCall(v1, v3, CoercionForm::COERCE_EXPLICIT_CALL, at[0]);
n.agg_order = v4;
Value::node(Some(n.into()))
}
// func_application.3
2155 => {
let [v1, _, _, v4, v5, _] = take(rhs);
let v1 = v1.into_list()?;
let v4 = v4.into_node()?;
let v5 = v5.into_list()?;
let mut n = crate::actions::makeFuncCall(v1, vec![v4], CoercionForm::COERCE_EXPLICIT_CALL, at[0]);
n.func_variadic = true;
n.agg_order = v5;
Value::node(Some(n.into()))
}
// func_application.4
2156 => {
let [v1, _, v3, _, _, v6, v7, _] = take(rhs);
let v1 = v1.into_list()?;
let v3 = v3.into_list()?;
let v6 = v6.into_node()?;
let v7 = v7.into_list()?;
let mut n = crate::actions::makeFuncCall(v1, crate::actions::lappend(v3, v6), CoercionForm::COERCE_EXPLICIT_CALL, at[0]);
n.func_variadic = true;
n.agg_order = v7;
Value::node(Some(n.into()))
}
// func_application.5
2157 => {
let [v1, _, _, v4, v5, _] = take(rhs);
let v1 = v1.into_list()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let mut n = crate::actions::makeFuncCall(v1, v4, CoercionForm::COERCE_EXPLICIT_CALL, at[0]);
n.agg_order = v5;
Value::node(Some(n.into()))
}
// func_application.6
2158 => {
let [v1, _, _, v4, v5, _] = take(rhs);
let v1 = v1.into_list()?;
let v4 = v4.into_list()?;
let v5 = v5.into_list()?;
let mut n = crate::actions::makeFuncCall(v1, v4, CoercionForm::COERCE_EXPLICIT_CALL, at[0]);
n.agg_order = v5;
n.agg_distinct = true;
Value::node(Some(n.into()))
}
// func_application.7
2159 => {
let [v1, _, _, _] = take(rhs);
let v1 = v1.into_list()?;
let mut n = crate::actions::makeFuncCall(v1, List::new(), CoercionForm::COERCE_EXPLICIT_CALL, at[0]);
n.agg_star = true;
Value::node(Some(n.into()))
}
// func_expr.1
2160 => {
let [v1, v2, v3, v4, v5] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_list()?;
let v3 = v3.into_node()?;
let v4 = v4.into_ival()?;
let v5 = v5.into_windef()?;
let mut n = crate::actions::pointer(crate::actions::castNode::<FuncCall>(v1)?)?;
if !v2.is_empty() {
if !n.agg_order.is_empty() {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "cannot use multiple ORDER BY clauses with WITHIN GROUP", at[1]));
}
if n.agg_distinct {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "cannot use DISTINCT with WITHIN GROUP", at[1]));
}
if n.func_variadic {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "cannot use VARIADIC with WITHIN GROUP", at[1]));
}
n.agg_order = v2;
n.agg_within_group = true;
}
n.agg_filter = v3;
n.ignore_nulls = v4;
n.over = v5;
Value::node(Some(n.into_node()))
}
// func_expr.2
2161 => {
let [v1, v2, v3] = take(rhs);
Value::node(rules::func_expr::func_expr_2(p, v1.into_node()?, v2.into_node()?, v3.into_windef()?)?)
}
// func_expr.3
2162 => {
let [v1] = take(rhs);
v1
}
// func_expr_windowless.1
2163 => {
let [v1] = take(rhs);
v1
}
// func_expr_windowless.2
2164 => {
let [v1] = take(rhs);
v1
}
// func_expr_windowless.3
2165 => {
let [v1] = take(rhs);
v1
}
// func_expr_common_subexpr.1
2166 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_node()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("pg_collation_for"), vec![v4], CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.2
2167 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_DATE, -1, at[0]))),
// func_expr_common_subexpr.3
2168 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_TIME, -1, at[0]))),
// func_expr_common_subexpr.4
2169 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_ival()?;
Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_TIME_N, v3, at[0])))
}
// func_expr_common_subexpr.5
2170 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_TIMESTAMP, -1, at[0]))),
// func_expr_common_subexpr.6
2171 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_ival()?;
Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_TIMESTAMP_N, v3, at[0])))
}
// func_expr_common_subexpr.7
2172 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_LOCALTIME, -1, at[0]))),
// func_expr_common_subexpr.8
2173 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_ival()?;
Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_LOCALTIME_N, v3, at[0])))
}
// func_expr_common_subexpr.9
2174 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_LOCALTIMESTAMP, -1, at[0]))),
// func_expr_common_subexpr.10
2175 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_ival()?;
Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_LOCALTIMESTAMP_N, v3, at[0])))
}
// func_expr_common_subexpr.11
2176 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_ROLE, -1, at[0]))),
// func_expr_common_subexpr.12
2177 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_USER, -1, at[0]))),
// func_expr_common_subexpr.13
2178 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_SESSION_USER, -1, at[0]))),
// func_expr_common_subexpr.14
2179 => Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("system_user"), List::new(), CoercionForm::COERCE_SQL_SYNTAX, at[0]).into())),
// func_expr_common_subexpr.15
2180 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_USER, -1, at[0]))),
// func_expr_common_subexpr.16
2181 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_CATALOG, -1, at[0]))),
// func_expr_common_subexpr.17
2182 => Value::node(Some(crate::actions::makeSQLValueFunction(SQLValueFunctionOp::SVFOP_CURRENT_SCHEMA, -1, at[0]))),
// func_expr_common_subexpr.18
2183 => {
let [_, _, v3, _, v5, _] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_typnam()?;
Value::node(Some(crate::actions::makeTypeCast(v3, v5, at[0])))
}
// func_expr_common_subexpr.19
2184 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("extract"), v3, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.20
2185 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("normalize"), vec![v3], CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.21
2186 => {
let [_, _, v3, _, v5, _] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_str()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("normalize"), vec![v3, Some(crate::actions::makeStringConst(v5, at[4]))], CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.22
2187 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("overlay"), v3, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.23
2188 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(vec![Some(crate::actions::makeString(Some("overlay".into())))], v3, CoercionForm::COERCE_EXPLICIT_CALL, at[0]).into()))
}
// func_expr_common_subexpr.24
2189 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("position"), v3, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.25
2190 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("substring"), v3, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.26
2191 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(vec![Some(crate::actions::makeString(Some("substring".into())))], v3, CoercionForm::COERCE_EXPLICIT_CALL, at[0]).into()))
}
// func_expr_common_subexpr.27
2192 => {
let [_, _, v3, _, v5, _] = take(rhs);
Value::node(rules::func_expr_common_subexpr::func_expr_common_subexpr_27(p, v3.into_node()?, v5.into_typnam()?, at[0])?)
}
// func_expr_common_subexpr.28
2193 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("btrim"), v4, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.29
2194 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("ltrim"), v4, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.30
2195 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("rtrim"), v4, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.31
2196 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("btrim"), v3, CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.32
2197 => {
let [_, _, v3, _, v5, _] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
Value::node(Some(crate::actions::makeSimpleA_Expr(A_Expr_Kind::AEXPR_NULLIF, "=", v3, v5, at[0]).into()))
}
// func_expr_common_subexpr.33
2198 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
let c = CoalesceExpr { args: v3, location: at[0], ..Default::default() };
Value::node(Some(c.into()))
}
// func_expr_common_subexpr.34
2199 => {
let [_, _, v3, _] = take(rhs);
Value::node(rules::func_expr_common_subexpr::func_expr_common_subexpr_34(p, v3.into_list()?, at[0])?)
}
// func_expr_common_subexpr.35
2200 => {
let [_, _, v3, _] = take(rhs);
Value::node(rules::func_expr_common_subexpr::func_expr_common_subexpr_35(p, v3.into_list()?, at[0])?)
}
// func_expr_common_subexpr.36
2201 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLCONCAT, None, List::new(), v3, at[0]).into()))
}
// func_expr_common_subexpr.37
2202 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_str()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLELEMENT, v4, List::new(), List::new(), at[0]).into()))
}
// func_expr_common_subexpr.38
2203 => {
let [_, _, _, v4, _, v6, _] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_list()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLELEMENT, v4, v6, List::new(), at[0]).into()))
}
// func_expr_common_subexpr.39
2204 => {
let [_, _, _, v4, _, v6, _] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_list()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLELEMENT, v4, List::new(), v6, at[0]).into()))
}
// func_expr_common_subexpr.40
2205 => {
let [_, _, _, v4, _, v6, _, v8, _] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_list()?;
let v8 = v8.into_list()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLELEMENT, v4, v6, v8, at[0]).into()))
}
// func_expr_common_subexpr.41
2206 => {
let [_, _, v3, v4, _] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_node()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("xmlexists"), vec![v3, v4], CoercionForm::COERCE_SQL_SYNTAX, at[0]).into()))
}
// func_expr_common_subexpr.42
2207 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLFOREST, None, v3, List::new(), at[0]).into()))
}
// func_expr_common_subexpr.43
2208 => {
let [_, _, v3, v4, v5, _] = take(rhs);
let v3 = v3.into_ival()?;
let v4 = v4.into_node()?;
let v5 = v5.into_boolean()?;
let mut x = crate::actions::makeXmlExpr(XmlExprOp::IS_XMLPARSE, None, List::new(), vec![v4, Some(crate::actions::makeBoolAConst(v5, -1))], at[0]);
x.xmloption = XmlOptionType(v3);
Value::node(Some(x.into()))
}
// func_expr_common_subexpr.44
2209 => {
let [_, _, _, v4, _] = take(rhs);
let v4 = v4.into_str()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLPI, v4, List::new(), List::new(), at[0]).into()))
}
// func_expr_common_subexpr.45
2210 => {
let [_, _, _, v4, _, v6, _] = take(rhs);
let v4 = v4.into_str()?;
let v6 = v6.into_node()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLPI, v4, List::new(), vec![v6], at[0]).into()))
}
// func_expr_common_subexpr.46
2211 => {
let [_, _, v3, _, v5, v6, _] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
let v6 = v6.into_node()?;
Value::node(Some(crate::actions::makeXmlExpr(XmlExprOp::IS_XMLROOT, None, List::new(), vec![v3, v5, v6], at[0]).into()))
}
// func_expr_common_subexpr.47
2212 => {
let [_, _, v3, v4, _, v6, v7, _] = take(rhs);
let v3 = v3.into_ival()?;
let v4 = v4.into_node()?;
let v6 = v6.into_typnam()?;
let v7 = v7.into_boolean()?;
let n = XmlSerialize { xmloption: XmlOptionType(v3), expr: v4, typeName: v6, indent: v7, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.48
2213 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_list()?;
Value::node(Some(crate::actions::makeFuncCall(crate::actions::SystemFuncName("json_object"), v3, CoercionForm::COERCE_EXPLICIT_CALL, at[0]).into()))
}
// func_expr_common_subexpr.49
2214 => {
let [_, _, v3, v4, v5, v6, _] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_boolean()?;
let v6 = v6.into_node()?;
let n = JsonObjectConstructor { exprs: v3, absent_on_null: v4, unique: v5, output: crate::actions::castNode::<JsonOutput>(v6)?, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.50
2215 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_node()?;
let n = JsonObjectConstructor { exprs: List::new(), absent_on_null: false, unique: false, output: crate::actions::castNode::<JsonOutput>(v3)?, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.51
2216 => {
let [_, _, v3, v4, v5, _] = take(rhs);
let v3 = v3.into_list()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_node()?;
let n = JsonArrayConstructor { exprs: v3, absent_on_null: v4, output: crate::actions::castNode::<JsonOutput>(v5)?, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.52
2217 => {
let [_, _, v3, v4, v5, _] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_node()?;
let v5 = v5.into_node()?;
let n = JsonArrayQueryConstructor { query: v3, format: crate::actions::castNode::<JsonFormat>(v4)?, absent_on_null: true, output: crate::actions::castNode::<JsonOutput>(v5)?, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.53
2218 => {
let [_, _, v3, _] = take(rhs);
let v3 = v3.into_node()?;
let n = JsonArrayConstructor { exprs: List::new(), absent_on_null: true, output: crate::actions::castNode::<JsonOutput>(v3)?, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.54
2219 => {
let [_, _, v3, v4, _] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_boolean()?;
let n = JsonParseExpr { expr: crate::actions::castNode::<JsonValueExpr>(v3)?, unique_keys: v4, output: None, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.55
2220 => {
let [_, _, v3, _] = take(rhs);
Value::node(rules::func_expr_common_subexpr::func_expr_common_subexpr_55(p, v3.into_node()?, at[0])?)
}
// func_expr_common_subexpr.56
2221 => {
let [_, _, v3, v4, _] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_node()?;
let n = JsonSerializeExpr { expr: crate::actions::castNode::<JsonValueExpr>(v3)?, output: crate::actions::castNode::<JsonOutput>(v4)?, location: at[0] };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.57
2222 => {
let m = MergeSupportFunc { msftype: TEXTOID, location: at[0], ..Default::default() };
Value::node(Some(m.into()))
}
// func_expr_common_subexpr.58
2223 => {
let [_, _, v3, _, v5, v6, v7, v8, v9, v10, _] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
let v6 = v6.into_list()?;
let v7 = v7.into_node()?;
let v8 = v8.into_ival()?;
let v9 = v9.into_ival()?;
let v10 = v10.into_list()?;
let n = JsonFuncExpr { op: JsonExprOp::JSON_QUERY_OP, context_item: crate::actions::castNode::<JsonValueExpr>(v3)?, pathspec: v5, passing: v6, output: crate::actions::castNode::<JsonOutput>(v7)?, wrapper: JsonWrapper(v8), quotes: JsonQuotes(v9), on_empty: crate::actions::castNode::<JsonBehavior>(crate::actions::linitial(&v10).cloned())?, on_error: crate::actions::castNode::<JsonBehavior>(crate::actions::lsecond(&v10).cloned())?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.59
2224 => {
let [_, _, v3, _, v5, v6, v7, _] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
let v6 = v6.into_list()?;
let v7 = v7.into_node()?;
let n = JsonFuncExpr { op: JsonExprOp::JSON_EXISTS_OP, context_item: crate::actions::castNode::<JsonValueExpr>(v3)?, pathspec: v5, passing: v6, output: None, on_error: crate::actions::castNode::<JsonBehavior>(v7)?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// func_expr_common_subexpr.60
2225 => {
let [_, _, v3, _, v5, v6, v7, v8, _] = take(rhs);
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
let v6 = v6.into_list()?;
let v7 = v7.into_node()?;
let v8 = v8.into_list()?;
let n = JsonFuncExpr { op: JsonExprOp::JSON_VALUE_OP, context_item: crate::actions::castNode::<JsonValueExpr>(v3)?, pathspec: v5, passing: v6, output: crate::actions::castNode::<JsonOutput>(v7)?, on_empty: crate::actions::castNode::<JsonBehavior>(crate::actions::linitial(&v8).cloned())?, on_error: crate::actions::castNode::<JsonBehavior>(crate::actions::lsecond(&v8).cloned())?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// xml_root_version.1
2226 => {
let [_, v2] = take(rhs);
v2
}
// xml_root_version.2
2227 => Value::node(Some(crate::actions::makeNullAConst(-1))),
// opt_xml_root_standalone.1
2228 => Value::node(Some(crate::actions::makeIntConst(XmlStandaloneType::XML_STANDALONE_YES.0, -1))),
// opt_xml_root_standalone.2
2229 => Value::node(Some(crate::actions::makeIntConst(XmlStandaloneType::XML_STANDALONE_NO.0, -1))),
// opt_xml_root_standalone.3
2230 => Value::node(Some(crate::actions::makeIntConst(XmlStandaloneType::XML_STANDALONE_NO_VALUE.0, -1))),
// opt_xml_root_standalone.4
2231 => Value::node(Some(crate::actions::makeIntConst(XmlStandaloneType::XML_STANDALONE_OMITTED.0, -1))),
// xml_attributes.1
2232 => {
let [_, _, v3, _] = take(rhs);
v3
}
// labeled_expr_list.1
2233 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// labeled_expr_list.2
2234 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// labeled_expr.1
2235 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_str()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = v3;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// labeled_expr.2
2236 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// document_or_content.1
2237 => Value::ival(XmlOptionType::XMLOPTION_DOCUMENT.0),
// document_or_content.2
2238 => Value::ival(XmlOptionType::XMLOPTION_CONTENT.0),
// xml_indent_option.1
2239 => Value::boolean(true),
// xml_indent_option.2
2240 => Value::boolean(false),
// xml_indent_option.3
2241 => Value::boolean(false),
// xml_whitespace_option.1
2242 => Value::boolean(true),
// xml_whitespace_option.2
2243 => Value::boolean(false),
// xml_whitespace_option.3
2244 => Value::boolean(false),
// xmlexists_argument.1
2245 => {
let [_, v2] = take(rhs);
v2
}
// xmlexists_argument.2
2246 => {
let [_, v2, _] = take(rhs);
v2
}
// xmlexists_argument.3
2247 => {
let [_, _, v3] = take(rhs);
v3
}
// xmlexists_argument.4
2248 => {
let [_, _, v3, _] = take(rhs);
v3
}
// xml_passing_mech.1
2249 => Value::None,
// xml_passing_mech.2
2250 => Value::None,
// WaitStmt.1
2251 => {
let [_, _, _, v4, v5] = take(rhs);
let v4 = v4.into_str()?;
let v5 = v5.into_list()?;
let n = WaitStmt { lsn_literal: v4, options: v5, lsn_location: at[3] };
Value::node(Some(n.into()))
}
// opt_wait_with_clause.1
2252 => {
let [_, _, v3, _] = take(rhs);
v3
}
// opt_wait_with_clause.2
2253 => Value::list(List::new()),
// within_group_clause.1
2254 => {
let [_, _, _, v4, _] = take(rhs);
v4
}
// within_group_clause.2
2255 => Value::list(List::new()),
// filter_clause.1
2256 => {
let [_, _, _, v4, _] = take(rhs);
v4
}
// filter_clause.2
2257 => Value::node(None),
// null_treatment.1
2258 => Value::ival(PARSER_IGNORE_NULLS),
// null_treatment.2
2259 => Value::ival(PARSER_RESPECT_NULLS),
// null_treatment.3
2260 => Value::ival(NO_NULLTREATMENT),
// window_clause.1
2261 => {
let [_, v2] = take(rhs);
v2
}
// window_clause.2
2262 => Value::list(List::new()),
// window_definition_list.1
2263 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// window_definition_list.2
2264 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// window_definition.1
2265 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_windef()?;
let mut n = crate::actions::pointer(v3)?;
n.name = v1;
Value::windef(Some(n))
}
// over_clause.1
2266 => {
let [_, v2] = take(rhs);
v2
}
// over_clause.2
2267 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
let n = WindowDef { name: v2, refname: None, partitionClause: List::new(), orderClause: List::new(), frameOptions: FRAMEOPTION_DEFAULTS, startOffset: None, endOffset: None, location: at[1] };
Value::windef(Some(Box::new(n)))
}
// over_clause.3
2268 => Value::windef(None),
// window_specification.1
2269 => {
let [_, v2, v3, v4, v5, _] = take(rhs);
let v2 = v2.into_str()?;
let v3 = v3.into_list()?;
let v4 = v4.into_list()?;
let mut v5 = v5.into_windef()?;
let n = WindowDef { name: None, refname: v2, partitionClause: v3, orderClause: v4, frameOptions: crate::actions::pointee(&v5)?.frameOptions, startOffset: std::mem::take(&mut crate::actions::pointee_mut(&mut v5)?.startOffset), endOffset: std::mem::take(&mut crate::actions::pointee_mut(&mut v5)?.endOffset), location: at[0] };
Value::windef(Some(Box::new(n)))
}
// opt_existing_window_name.1
2270 => {
let [v1] = take(rhs);
v1
}
// opt_existing_window_name.2
2271 => Value::str(None),
// opt_partition_clause.1
2272 => {
let [_, _, v3] = take(rhs);
v3
}
// opt_partition_clause.2
2273 => Value::list(List::new()),
// opt_frame_clause.1
2274 => {
let [_, v2, v3] = take(rhs);
Value::windef(rules::opt_frame_clause::opt_frame_clause_1(p, v2.into_windef()?, v3.into_ival()?)?)
}
// opt_frame_clause.2
2275 => {
let [_, v2, v3] = take(rhs);
Value::windef(rules::opt_frame_clause::opt_frame_clause_2(p, v2.into_windef()?, v3.into_ival()?)?)
}
// opt_frame_clause.3
2276 => {
let [_, v2, v3] = take(rhs);
Value::windef(rules::opt_frame_clause::opt_frame_clause_3(p, v2.into_windef()?, v3.into_ival()?)?)
}
// opt_frame_clause.4
2277 => {
let n = WindowDef { frameOptions: FRAMEOPTION_DEFAULTS, startOffset: None, endOffset: None, ..Default::default() };
Value::windef(Some(Box::new(n)))
}
// frame_extent.1
2278 => {
let [v1] = take(rhs);
Value::windef(rules::frame_extent::frame_extent_1(p, v1.into_windef()?, at[0])?)
}
// frame_extent.2
2279 => {
let [_, v2, _, v4] = take(rhs);
Value::windef(rules::frame_extent::frame_extent_2(p, v2.into_windef()?, v4.into_windef()?, at[1], at[3])?)
}
// frame_bound.1
2280 => {
let n = WindowDef { frameOptions: FRAMEOPTION_START_UNBOUNDED_PRECEDING, startOffset: None, endOffset: None, ..Default::default() };
Value::windef(Some(Box::new(n)))
}
// frame_bound.2
2281 => {
let n = WindowDef { frameOptions: FRAMEOPTION_START_UNBOUNDED_FOLLOWING, startOffset: None, endOffset: None, ..Default::default() };
Value::windef(Some(Box::new(n)))
}
// frame_bound.3
2282 => {
let n = WindowDef { frameOptions: FRAMEOPTION_START_CURRENT_ROW, startOffset: None, endOffset: None, ..Default::default() };
Value::windef(Some(Box::new(n)))
}
// frame_bound.4
2283 => {
let [v1, _] = take(rhs);
let v1 = v1.into_node()?;
let n = WindowDef { frameOptions: FRAMEOPTION_START_OFFSET_PRECEDING, startOffset: v1, endOffset: None, ..Default::default() };
Value::windef(Some(Box::new(n)))
}
// frame_bound.5
2284 => {
let [v1, _] = take(rhs);
let v1 = v1.into_node()?;
let n = WindowDef { frameOptions: FRAMEOPTION_START_OFFSET_FOLLOWING, startOffset: v1, endOffset: None, ..Default::default() };
Value::windef(Some(Box::new(n)))
}
// opt_window_exclusion_clause.1
2285 => Value::ival(FRAMEOPTION_EXCLUDE_CURRENT_ROW),
// opt_window_exclusion_clause.2
2286 => Value::ival(FRAMEOPTION_EXCLUDE_GROUP),
// opt_window_exclusion_clause.3
2287 => Value::ival(FRAMEOPTION_EXCLUDE_TIES),
// opt_window_exclusion_clause.4
2288 => Value::ival(0),
// opt_window_exclusion_clause.5
2289 => Value::ival(0),
// row.1
2290 => {
let [_, _, v3, _] = take(rhs);
v3
}
// row.2
2291 => Value::list(List::new()),
// row.3
2292 => {
let [_, v2, _, v4, _] = take(rhs);
let mut list = v2.into_list()?;
list.push(v4.into_node()?);
Value::list(list)
}
// explicit_row.1
2293 => {
let [_, _, v3, _] = take(rhs);
v3
}
// explicit_row.2
2294 => Value::list(List::new()),
// implicit_row.1
2295 => {
let [_, v2, _, v4, _] = take(rhs);
let mut list = v2.into_list()?;
list.push(v4.into_node()?);
Value::list(list)
}
// sub_type.1
2296 => Value::ival(SubLinkType::ANY_SUBLINK.0),
// sub_type.2
2297 => Value::ival(SubLinkType::ANY_SUBLINK.0),
// sub_type.3
2298 => Value::ival(SubLinkType::ALL_SUBLINK.0),
// all_Op.1
2299 => {
let [v1] = take(rhs);
v1
}
// all_Op.2
2300 => {
let [v1] = take(rhs);
v1
}
// MathOp.1
2301 => Value::str(Some("+".into())),
// MathOp.2
2302 => Value::str(Some("-".into())),
// MathOp.3
2303 => Value::str(Some("*".into())),
// MathOp.4
2304 => Value::str(Some("/".into())),
// MathOp.5
2305 => Value::str(Some("%".into())),
// MathOp.6
2306 => Value::str(Some("^".into())),
// MathOp.7
2307 => Value::str(Some("<".into())),
// MathOp.8
2308 => Value::str(Some(">".into())),
// MathOp.9
2309 => Value::str(Some("=".into())),
// MathOp.10
2310 => Value::str(Some("<=".into())),
// MathOp.11
2311 => Value::str(Some(">=".into())),
// MathOp.12
2312 => Value::str(Some("<>".into())),
// qual_Op.1
2313 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// qual_Op.2
2314 => {
let [_, _, v3, _] = take(rhs);
v3
}
// qual_all_Op.1
2315 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// qual_all_Op.2
2316 => {
let [_, _, v3, _] = take(rhs);
v3
}
// subquery_Op.1
2317 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// subquery_Op.2
2318 => {
let [_, _, v3, _] = take(rhs);
v3
}
// subquery_Op.3
2319 => Value::list(vec![Some(crate::actions::makeString(Some("~~".into())))]),
// subquery_Op.4
2320 => Value::list(vec![Some(crate::actions::makeString(Some("!~~".into())))]),
// subquery_Op.5
2321 => Value::list(vec![Some(crate::actions::makeString(Some("~~*".into())))]),
// subquery_Op.6
2322 => Value::list(vec![Some(crate::actions::makeString(Some("!~~*".into())))]),
// expr_list.1
2323 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// expr_list.2
2324 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// func_arg_list.1
2325 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// func_arg_list.2
2326 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// func_arg_expr.1
2327 => {
let [v1] = take(rhs);
v1
}
// func_arg_expr.2
2328 => {
let [v1, _, v3] = take(rhs);
Value::node(rules::func_arg_expr::func_arg_expr_2(p, v1.into_str()?, v3.into_node()?, at[0])?)
}
// func_arg_expr.3
2329 => {
let [v1, _, v3] = take(rhs);
Value::node(rules::func_arg_expr::func_arg_expr_3(p, v1.into_str()?, v3.into_node()?, at[0])?)
}
// func_arg_list_opt.1
2330 => {
let [v1] = take(rhs);
v1
}
// func_arg_list_opt.2
2331 => Value::list(List::new()),
// type_list.1
2332 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// type_list.2
2333 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// array_expr.1
2334 => {
let [_, v2, _] = take(rhs);
let v2 = v2.into_list()?;
Value::node(Some(crate::actions::makeAArrayExpr(v2, at[0], at[2])))
}
// array_expr.2
2335 => {
let [_, v2, _] = take(rhs);
let v2 = v2.into_list()?;
Value::node(Some(crate::actions::makeAArrayExpr(v2, at[0], at[2])))
}
// array_expr.3
2336 => Value::node(Some(crate::actions::makeAArrayExpr(List::new(), at[0], at[1]))),
// array_expr_list.1
2337 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// array_expr_list.2
2338 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// extract_list.1
2339 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_str()?;
let v3 = v3.into_node()?;
Value::list(vec![Some(crate::actions::makeStringConst(v1, at[0])), v3])
}
// extract_arg.1
2340 => {
let [v1] = take(rhs);
v1
}
// extract_arg.2
2341 => Value::str(Some("year".into())),
// extract_arg.3
2342 => Value::str(Some("month".into())),
// extract_arg.4
2343 => Value::str(Some("day".into())),
// extract_arg.5
2344 => Value::str(Some("hour".into())),
// extract_arg.6
2345 => Value::str(Some("minute".into())),
// extract_arg.7
2346 => Value::str(Some("second".into())),
// extract_arg.8
2347 => {
let [v1] = take(rhs);
v1
}
// unicode_normal_form.1
2348 => Value::str(Some("NFC".into())),
// unicode_normal_form.2
2349 => Value::str(Some("NFD".into())),
// unicode_normal_form.3
2350 => Value::str(Some("NFKC".into())),
// unicode_normal_form.4
2351 => Value::str(Some("NFKD".into())),
// overlay_list.1
2352 => {
let [v1, _, v3, _, v5, _, v7] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
let v7 = v7.into_node()?;
Value::list(vec![v1, v3, v5, v7])
}
// overlay_list.2
2353 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
Value::list(vec![v1, v3, v5])
}
// position_list.1
2354 => {
let [v1, _, v3] = take(rhs);
Value::list(vec![v3.into_node()?, v1.into_node()?])
}
// substr_list.1
2355 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
Value::list(vec![v1, v3, v5])
}
// substr_list.2
2356 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
Value::list(vec![v1, v5, v3])
}
// substr_list.3
2357 => {
let [v1, _, v3] = take(rhs);
Value::list(vec![v1.into_node()?, v3.into_node()?])
}
// substr_list.4
2358 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::list(vec![v1, Some(crate::actions::makeIntConst(1, -1)), Some(crate::actions::makeTypeCast(v3, Some(Box::new(crate::actions::SystemTypeName("int4"))), -1))])
}
// substr_list.5
2359 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
let v5 = v5.into_node()?;
Value::list(vec![v1, v3, v5])
}
// trim_list.1
2360 => {
let [v1, _, v3] = take(rhs);
let mut list = v3.into_list()?;
list.push(v1.into_node()?);
Value::list(list)
}
// trim_list.2
2361 => {
let [_, v2] = take(rhs);
v2
}
// trim_list.3
2362 => {
let [v1] = take(rhs);
v1
}
// case_expr.1
2363 => {
let [_, v2, v3, v4, _] = take(rhs);
Value::node(rules::case_expr::case_expr_1(p, v2.into_node()?, v3.into_list()?, v4.into_node()?, at[0])?)
}
// when_clause_list.1
2364 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// when_clause_list.2
2365 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// when_clause.1
2366 => {
let [_, v2, _, v4] = take(rhs);
Value::node(rules::when_clause::when_clause_1(p, v2.into_node()?, v4.into_node()?, at[0])?)
}
// case_default.1
2367 => {
let [_, v2] = take(rhs);
v2
}
// case_default.2
2368 => Value::node(None),
// case_arg.1
2369 => {
let [v1] = take(rhs);
v1
}
// case_arg.2
2370 => Value::node(None),
// columnref.1
2371 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeColumnRef(v1, List::new(), at[0], p)?))
}
// columnref.2
2372 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
Value::node(Some(crate::actions::makeColumnRef(v1, v2, at[0], p)?))
}
// indirection_el.1
2373 => {
let [_, v2] = take(rhs);
let v2 = v2.into_str()?;
Value::node(Some(crate::actions::makeString(v2)))
}
// indirection_el.2
2374 => Value::node(Some(A_Star::default().into())),
// indirection_el.3
2375 => {
let [_, v2, _] = take(rhs);
let v2 = v2.into_node()?;
let ai = A_Indices { is_slice: false, lidx: None, uidx: v2 };
Value::node(Some(ai.into()))
}
// indirection_el.4
2376 => {
let [_, v2, _, v4, _] = take(rhs);
let v2 = v2.into_node()?;
let v4 = v4.into_node()?;
let ai = A_Indices { is_slice: true, lidx: v2, uidx: v4 };
Value::node(Some(ai.into()))
}
// opt_slice_bound.1
2377 => {
let [v1] = take(rhs);
v1
}
// opt_slice_bound.2
2378 => Value::node(None),
// indirection.1
2379 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// indirection.2
2380 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// opt_indirection.1
2381 => Value::list(List::new()),
// opt_indirection.2
2382 => {
let [v1, v2] = take(rhs);
let mut list = v1.into_list()?;
list.push(v2.into_node()?);
Value::list(list)
}
// opt_asymmetric.1
2383 => Value::None,
// opt_asymmetric.2
2384 => Value::None,
// json_passing_clause_opt.1
2385 => {
let [_, v2] = take(rhs);
v2
}
// json_passing_clause_opt.2
2386 => Value::list(List::new()),
// json_arguments.1
2387 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// json_arguments.2
2388 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// json_argument.1
2389 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_str()?;
let n = JsonArgument { val: crate::actions::castNode::<JsonValueExpr>(v1)?, name: v3 };
Value::node(Some(n.into()))
}
// json_wrapper_behavior.1
2390 => Value::ival(JsonWrapper::JSW_NONE.0),
// json_wrapper_behavior.2
2391 => Value::ival(JsonWrapper::JSW_NONE.0),
// json_wrapper_behavior.3
2392 => Value::ival(JsonWrapper::JSW_UNCONDITIONAL.0),
// json_wrapper_behavior.4
2393 => Value::ival(JsonWrapper::JSW_UNCONDITIONAL.0),
// json_wrapper_behavior.5
2394 => Value::ival(JsonWrapper::JSW_CONDITIONAL.0),
// json_wrapper_behavior.6
2395 => Value::ival(JsonWrapper::JSW_UNCONDITIONAL.0),
// json_wrapper_behavior.7
2396 => Value::ival(JsonWrapper::JSW_CONDITIONAL.0),
// json_wrapper_behavior.8
2397 => Value::ival(JsonWrapper::JSW_UNCONDITIONAL.0),
// json_wrapper_behavior.9
2398 => Value::ival(JsonWrapper::JSW_UNSPEC.0),
// json_behavior.1
2399 => {
let [_, v2] = take(rhs);
let v2 = v2.into_node()?;
Value::node(Some(crate::actions::makeJsonBehavior(JsonBehaviorType::JSON_BEHAVIOR_DEFAULT, v2, at[0]).into()))
}
// json_behavior.2
2400 => {
let [v1] = take(rhs);
let v1 = v1.into_ival()?;
Value::node(Some(crate::actions::makeJsonBehavior(JsonBehaviorType(v1), None, at[0]).into()))
}
// json_behavior_type.1
2401 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_ERROR.0),
// json_behavior_type.2
2402 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_NULL.0),
// json_behavior_type.3
2403 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_TRUE.0),
// json_behavior_type.4
2404 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_FALSE.0),
// json_behavior_type.5
2405 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_UNKNOWN.0),
// json_behavior_type.6
2406 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_EMPTY_ARRAY.0),
// json_behavior_type.7
2407 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_EMPTY_OBJECT.0),
// json_behavior_type.8
2408 => Value::ival(JsonBehaviorType::JSON_BEHAVIOR_EMPTY_ARRAY.0),
// json_behavior_clause_opt.1
2409 => {
let [v1, _, _] = take(rhs);
Value::list(vec![v1.into_node()?, None])
}
// json_behavior_clause_opt.2
2410 => {
let [v1, _, _] = take(rhs);
Value::list(vec![None, v1.into_node()?])
}
// json_behavior_clause_opt.3
2411 => {
let [v1, _, _, v4, _, _] = take(rhs);
Value::list(vec![v1.into_node()?, v4.into_node()?])
}
// json_behavior_clause_opt.4
2412 => Value::list(vec![None, None]),
// json_on_error_clause_opt.1
2413 => {
let [v1, _, _] = take(rhs);
v1
}
// json_on_error_clause_opt.2
2414 => Value::node(None),
// json_value_expr.1
2415 => {
let [v1, v2] = take(rhs);
Value::node(rules::json_value_expr::json_value_expr_1(p, v1.into_node()?, v2.into_node()?)?)
}
// json_format_clause.1
2416 => {
let [_, _, _, v4] = take(rhs);
Value::node(rules::json_format_clause::json_format_clause_1(p, v4.into_str()?, at[0], at[3])?)
}
// json_format_clause.2
2417 => Value::node(Some(crate::actions::makeJsonFormat(JsonFormatType::JS_FORMAT_JSON, JsonEncoding::JS_ENC_DEFAULT, at[0]).into())),
// json_format_clause_opt.1
2418 => {
let [v1] = take(rhs);
v1
}
// json_format_clause_opt.2
2419 => Value::node(Some(crate::actions::makeJsonFormat(JsonFormatType::JS_FORMAT_DEFAULT, JsonEncoding::JS_ENC_DEFAULT, -1).into())),
// json_quotes_clause_opt.1
2420 => Value::ival(JsonQuotes::JS_QUOTES_KEEP.0),
// json_quotes_clause_opt.2
2421 => Value::ival(JsonQuotes::JS_QUOTES_KEEP.0),
// json_quotes_clause_opt.3
2422 => Value::ival(JsonQuotes::JS_QUOTES_OMIT.0),
// json_quotes_clause_opt.4
2423 => Value::ival(JsonQuotes::JS_QUOTES_OMIT.0),
// json_quotes_clause_opt.5
2424 => Value::ival(JsonQuotes::JS_QUOTES_UNSPEC.0),
// json_returning_clause_opt.1
2425 => {
let [_, v2, v3] = take(rhs);
let v2 = v2.into_typnam()?;
let v3 = v3.into_node()?;
let mut n = JsonOutput { typeName: v2, returning: Some(Box::new(JsonReturning::default())) };
crate::actions::pointee_mut(&mut n.returning)?.format = crate::actions::castNode::<JsonFormat>(v3)?;
Value::node(Some(n.into()))
}
// json_returning_clause_opt.2
2426 => Value::node(None),
// json_predicate_type_constraint.1
2427 => Value::ival(JsonValueType::JS_TYPE_ANY.0),
// json_predicate_type_constraint.2
2428 => Value::ival(JsonValueType::JS_TYPE_ANY.0),
// json_predicate_type_constraint.3
2429 => Value::ival(JsonValueType::JS_TYPE_ARRAY.0),
// json_predicate_type_constraint.4
2430 => Value::ival(JsonValueType::JS_TYPE_OBJECT.0),
// json_predicate_type_constraint.5
2431 => Value::ival(JsonValueType::JS_TYPE_SCALAR.0),
// json_key_uniqueness_constraint_opt.1
2432 => Value::boolean(true),
// json_key_uniqueness_constraint_opt.2
2433 => Value::boolean(true),
// json_key_uniqueness_constraint_opt.3
2434 => Value::boolean(false),
// json_key_uniqueness_constraint_opt.4
2435 => Value::boolean(false),
// json_key_uniqueness_constraint_opt.5
2436 => Value::boolean(false),
// json_name_and_value_list.1
2437 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// json_name_and_value_list.2
2438 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// json_name_and_value.1
2439 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeJsonKeyValue(v1, v3)?))
}
// json_name_and_value.2
2440 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_node()?;
Value::node(Some(crate::actions::makeJsonKeyValue(v1, v3)?))
}
// json_object_constructor_null_clause_opt.1
2441 => Value::boolean(false),
// json_object_constructor_null_clause_opt.2
2442 => Value::boolean(true),
// json_object_constructor_null_clause_opt.3
2443 => Value::boolean(false),
// json_array_constructor_null_clause_opt.1
2444 => Value::boolean(false),
// json_array_constructor_null_clause_opt.2
2445 => Value::boolean(true),
// json_array_constructor_null_clause_opt.3
2446 => Value::boolean(true),
// json_value_expr_list.1
2447 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// json_value_expr_list.2
2448 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// json_aggregate_func.1
2449 => {
let [_, _, v3, v4, v5, v6, _] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_boolean()?;
let v5 = v5.into_boolean()?;
let v6 = v6.into_node()?;
let mut n = JsonObjectAgg { arg: crate::actions::castNode::<JsonKeyValue>(v3)?, absent_on_null: v4, unique: v5, constructor: Some(Box::new(JsonAggConstructor::default())) };
crate::actions::pointee_mut(&mut n.constructor)?.output = crate::actions::castNode::<JsonOutput>(v6)?;
crate::actions::pointee_mut(&mut n.constructor)?.agg_order = List::new();
crate::actions::pointee_mut(&mut n.constructor)?.location = at[0];
Value::node(Some(n.into()))
}
// json_aggregate_func.2
2450 => {
let [_, _, v3, v4, v5, v6, _] = take(rhs);
let v3 = v3.into_node()?;
let v4 = v4.into_list()?;
let v5 = v5.into_boolean()?;
let v6 = v6.into_node()?;
let mut n = JsonArrayAgg { arg: crate::actions::castNode::<JsonValueExpr>(v3)?, absent_on_null: v5, constructor: Some(Box::new(JsonAggConstructor::default())) };
crate::actions::pointee_mut(&mut n.constructor)?.agg_order = v4;
crate::actions::pointee_mut(&mut n.constructor)?.output = crate::actions::castNode::<JsonOutput>(v6)?;
crate::actions::pointee_mut(&mut n.constructor)?.location = at[0];
Value::node(Some(n.into()))
}
// json_array_aggregate_order_by_clause_opt.1
2451 => {
let [_, _, v3] = take(rhs);
v3
}
// json_array_aggregate_order_by_clause_opt.2
2452 => Value::list(List::new()),
// opt_target_list.1
2453 => {
let [v1] = take(rhs);
v1
}
// opt_target_list.2
2454 => Value::list(List::new()),
// target_list.1
2455 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// target_list.2
2456 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// target_el.1
2457 => {
let [v1, _, v3] = take(rhs);
let v1 = v1.into_node()?;
let v3 = v3.into_str()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = v3;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// target_el.2
2458 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_node()?;
let v2 = v2.into_str()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = v2;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// target_el.3
2459 => {
let [v1] = take(rhs);
let v1 = v1.into_node()?;
let mut result: Option<Box<ResTarget>>;
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = v1;
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// target_el.4
2460 => {
let mut result: Option<Box<ResTarget>>;
let n = ColumnRef { fields: vec![Some(A_Star::default().into())], location: at[0] };
result = Some(Box::new(ResTarget::default()));
crate::actions::pointee_mut(&mut result)?.name = None;
crate::actions::pointee_mut(&mut result)?.indirection = List::new();
crate::actions::pointee_mut(&mut result)?.val = Some(n.into());
crate::actions::pointee_mut(&mut result)?.location = at[0];
Value::target(result)
}
// qualified_name_list.1
2461 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// qualified_name_list.2
2462 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// qualified_name.1
2463 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::range(Some(Box::new(crate::actions::makeRangeVar(None, v1, at[0]))))
}
// qualified_name.2
2464 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
Value::range(Some(Box::new(crate::actions::makeRangeVarFromQualifiedName(v1, v2, at[0], p)?)))
}
// name_list.1
2465 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// name_list.2
2466 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(Some(crate::actions::makeString(v3.into_str()?)));
Value::list(list)
}
// name.1
2467 => {
let [v1] = take(rhs);
v1
}
// attr_name.1
2468 => {
let [v1] = take(rhs);
v1
}
// file_name.1
2469 => {
let [v1] = take(rhs);
v1
}
// func_name.1
2470 => {
let [v1] = take(rhs);
Value::list(vec![Some(crate::actions::makeString(v1.into_str()?))])
}
// func_name.2
2471 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
Value::list(crate::actions::check_func_name(crate::actions::lcons(Some(crate::actions::makeString(v1)), v2), p)?)
}
// AexprConst.1
2472 => {
let [v1] = take(rhs);
let v1 = v1.into_ival()?;
Value::node(Some(crate::actions::makeIntConst(v1, at[0])))
}
// AexprConst.2
2473 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeFloatConst(v1, at[0])))
}
// AexprConst.3
2474 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeStringConst(v1, at[0])))
}
// AexprConst.4
2475 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeBitStringConst(v1, at[0])))
}
// AexprConst.5
2476 => {
let [v1] = take(rhs);
let v1 = v1.into_str()?;
Value::node(Some(crate::actions::makeBitStringConst(v1, at[0])))
}
// AexprConst.6
2477 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_str()?;
let mut t = crate::actions::makeTypeNameFromNameList(v1);
t.location = at[0];
Value::node(Some(crate::actions::makeStringConstCast(v2, at[1], Some(Box::new(t)))))
}
// AexprConst.7
2478 => {
let [v1, _, v3, v4, _, v6] = take(rhs);
Value::node(rules::AexprConst::AexprConst_7(p, v1.into_list()?, v3.into_list()?, v4.into_list()?, v6.into_str()?, at[0], at[3], at[5])?)
}
// AexprConst.8
2479 => {
let [v1, v2] = take(rhs);
let v1 = v1.into_typnam()?;
let v2 = v2.into_str()?;
Value::node(Some(crate::actions::makeStringConstCast(v2, at[1], v1)))
}
// AexprConst.9
2480 => {
let [v1, v2, v3] = take(rhs);
let v1 = v1.into_typnam()?;
let v2 = v2.into_str()?;
let v3 = v3.into_list()?;
let mut t = crate::actions::pointer(v1)?;
t.typmods = v3;
Value::node(Some(crate::actions::makeStringConstCast(v2, at[1], Some(t))))
}
// AexprConst.10
2481 => {
let [v1, _, v3, _, v5] = take(rhs);
let v1 = v1.into_typnam()?;
let v3 = v3.into_ival()?;
let v5 = v5.into_str()?;
let mut t = crate::actions::pointer(v1)?;
t.typmods = vec![Some(crate::actions::makeIntConst(INTERVAL_FULL_RANGE, -1)), Some(crate::actions::makeIntConst(v3, at[2]))];
Value::node(Some(crate::actions::makeStringConstCast(v5, at[4], Some(t))))
}
// AexprConst.11
2482 => Value::node(Some(crate::actions::makeBoolAConst(true, at[0]))),
// AexprConst.12
2483 => Value::node(Some(crate::actions::makeBoolAConst(false, at[0]))),
// AexprConst.13
2484 => Value::node(Some(crate::actions::makeNullAConst(at[0]))),
// Iconst.1
2485 => {
let [v1] = take(rhs);
v1
}
// Sconst.1
2486 => {
let [v1] = take(rhs);
v1
}
// SignedIconst.1
2487 => {
let [v1] = take(rhs);
v1
}
// SignedIconst.2
2488 => {
let [_, v2] = take(rhs);
let v2 = v2.into_ival()?;
Value::ival(v2)
}
// SignedIconst.3
2489 => {
let [_, v2] = take(rhs);
let v2 = v2.into_ival()?;
Value::ival(-v2)
}
// RoleId.1
2490 => {
let [v1] = take(rhs);
Value::str(rules::RoleId::RoleId_1(p, v1.into_rolespec()?, at[0])?)
}
// RoleSpec.1
2491 => {
let [v1] = take(rhs);
Value::rolespec(rules::RoleSpec::RoleSpec_1(p, v1.into_str()?, at[0])?)
}
// RoleSpec.2
2492 => Value::rolespec(Some(Box::new(crate::actions::makeRoleSpec(RoleSpecType::ROLESPEC_CURRENT_ROLE, at[0])))),
// RoleSpec.3
2493 => Value::rolespec(Some(Box::new(crate::actions::makeRoleSpec(RoleSpecType::ROLESPEC_CURRENT_USER, at[0])))),
// RoleSpec.4
2494 => Value::rolespec(Some(Box::new(crate::actions::makeRoleSpec(RoleSpecType::ROLESPEC_SESSION_USER, at[0])))),
// role_list.1
2495 => {
let [v1] = take(rhs);
Value::list(vec![v1.into_node()?])
}
// role_list.2
2496 => {
let [v1, _, v3] = take(rhs);
let mut list = v1.into_list()?;
list.push(v3.into_node()?);
Value::list(list)
}
// PLpgSQL_Expr.1
2497 => {
let [v1, v2, v3, v4, v5, v6, v7, v8, v9, v10] = take(rhs);
let v1 = v1.into_list()?;
let v2 = v2.into_list()?;
let v3 = v3.into_list()?;
let v4 = v4.into_node()?;
let mut v5 = v5.into_groupclause()?;
let v6 = v6.into_node()?;
let v7 = v7.into_list()?;
let v8 = v8.into_list()?;
let mut v9 = v9.into_selectlimit()?;
let v10 = v10.into_list()?;
let mut n = SelectStmt { distinctClause: v1, targetList: v2, fromClause: v3, whereClause: v4, groupClause: std::mem::take(&mut crate::actions::pointee_mut(&mut v5)?.list), groupDistinct: crate::actions::pointee(&v5)?.distinct, havingClause: v6, windowClause: v7, sortClause: v8, ..Default::default() };
if v9.is_some() {
n.limitOffset = std::mem::take(&mut crate::actions::pointee_mut(&mut v9)?.limitOffset);
n.limitCount = std::mem::take(&mut crate::actions::pointee_mut(&mut v9)?.limitCount);
if n.sortClause.is_empty() && crate::actions::pointee(&v9)?.limitOption == LimitOption::LIMIT_OPTION_WITH_TIES {
return Err(p.error(ERRCODE_SYNTAX_ERROR, "WITH TIES cannot be specified without ORDER BY clause", crate::actions::pointee(&v9)?.optionLoc));
}
n.limitOption = crate::actions::pointee(&v9)?.limitOption;
}
n.lockingClause = v10;
Value::node(Some(n.into()))
}
// PLAssignStmt.1
2498 => {
let [v1, v2, _, v4] = take(rhs);
let v1 = v1.into_str()?;
let v2 = v2.into_list()?;
let v4 = v4.into_node()?;
let n = PLAssignStmt { name: v1, indirection: crate::actions::check_indirection(v2, p)?, val: crate::actions::castNode::<SelectStmt>(v4)?, location: at[0], ..Default::default() };
Value::node(Some(n.into()))
}
// plassign_target.1
2499 => {
let [v1] = take(rhs);
v1
}
// plassign_target.2
2500 => {
let [v1] = take(rhs);
let v1 = v1.into_ival()?;
Value::str(Some(format!("${}", v1).into()))
}
// plassign_equals.1
2501 => Value::None,
// plassign_equals.2
2502 => Value::None,
// ColId.1
2503 => {
let [v1] = take(rhs);
v1
}
// ColId.2
2504 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// ColId.3
2505 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// type_function_name.1
2506 => {
let [v1] = take(rhs);
v1
}
// type_function_name.2
2507 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// type_function_name.3
2508 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// NonReservedWord.1
2509 => {
let [v1] = take(rhs);
v1
}
// NonReservedWord.2
2510 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// NonReservedWord.3
2511 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// NonReservedWord.4
2512 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// ColLabel.1
2513 => {
let [v1] = take(rhs);
v1
}
// ColLabel.2
2514 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// ColLabel.3
2515 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// ColLabel.4
2516 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// ColLabel.5
2517 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// BareColLabel.1
2518 => {
let [v1] = take(rhs);
v1
}
// BareColLabel.2
2519 => {
let [v1] = take(rhs);
Value::str(Some(v1.into_keyword()?.into()))
}
// unreserved_keyword.1
2520 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.2
2521 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.3
2522 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.4
2523 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.5
2524 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.6
2525 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.7
2526 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.8
2527 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.9
2528 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.10
2529 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.11
2530 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.12
2531 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.13
2532 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.14
2533 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.15
2534 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.16
2535 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.17
2536 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.18
2537 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.19
2538 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.20
2539 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.21
2540 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.22
2541 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.23
2542 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.24
2543 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.25
2544 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.26
2545 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.27
2546 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.28
2547 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.29
2548 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.30
2549 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.31
2550 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.32
2551 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.33
2552 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.34
2553 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.35
2554 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.36
2555 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.37
2556 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.38
2557 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.39
2558 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.40
2559 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.41
2560 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.42
2561 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.43
2562 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.44
2563 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.45
2564 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.46
2565 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.47
2566 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.48
2567 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.49
2568 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.50
2569 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.51
2570 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.52
2571 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.53
2572 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.54
2573 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.55
2574 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.56
2575 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.57
2576 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.58
2577 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.59
2578 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.60
2579 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.61
2580 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.62
2581 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.63
2582 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.64
2583 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.65
2584 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.66
2585 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.67
2586 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.68
2587 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.69
2588 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.70
2589 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.71
2590 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.72
2591 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.73
2592 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.74
2593 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.75
2594 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.76
2595 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.77
2596 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.78
2597 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.79
2598 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.80
2599 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.81
2600 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.82
2601 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.83
2602 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.84
2603 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.85
2604 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.86
2605 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.87
2606 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.88
2607 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.89
2608 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.90
2609 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.91
2610 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.92
2611 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.93
2612 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.94
2613 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.95
2614 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.96
2615 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.97
2616 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.98
2617 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.99
2618 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.100
2619 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.101
2620 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.102
2621 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.103
2622 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.104
2623 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.105
2624 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.106
2625 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.107
2626 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.108
2627 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.109
2628 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.110
2629 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.111
2630 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.112
2631 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.113
2632 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.114
2633 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.115
2634 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.116
2635 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.117
2636 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.118
2637 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.119
2638 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.120
2639 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.121
2640 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.122
2641 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.123
2642 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.124
2643 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.125
2644 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.126
2645 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.127
2646 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.128
2647 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.129
2648 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.130
2649 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.131
2650 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.132
2651 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.133
2652 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.134
2653 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.135
2654 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.136
2655 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.137
2656 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.138
2657 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.139
2658 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.140
2659 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.141
2660 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.142
2661 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.143
2662 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.144
2663 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.145
2664 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.146
2665 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.147
2666 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.148
2667 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.149
2668 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.150
2669 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.151
2670 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.152
2671 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.153
2672 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.154
2673 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.155
2674 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.156
2675 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.157
2676 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.158
2677 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.159
2678 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.160
2679 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.161
2680 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.162
2681 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.163
2682 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.164
2683 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.165
2684 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.166
2685 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.167
2686 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.168
2687 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.169
2688 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.170
2689 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.171
2690 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.172
2691 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.173
2692 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.174
2693 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.175
2694 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.176
2695 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.177
2696 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.178
2697 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.179
2698 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.180
2699 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.181
2700 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.182
2701 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.183
2702 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.184
2703 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.185
2704 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.186
2705 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.187
2706 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.188
2707 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.189
2708 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.190
2709 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.191
2710 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.192
2711 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.193
2712 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.194
2713 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.195
2714 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.196
2715 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.197
2716 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.198
2717 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.199
2718 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.200
2719 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.201
2720 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.202
2721 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.203
2722 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.204
2723 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.205
2724 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.206
2725 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.207
2726 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.208
2727 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.209
2728 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.210
2729 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.211
2730 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.212
2731 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.213
2732 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.214
2733 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.215
2734 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.216
2735 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.217
2736 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.218
2737 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.219
2738 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.220
2739 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.221
2740 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.222
2741 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.223
2742 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.224
2743 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.225
2744 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.226
2745 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.227
2746 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.228
2747 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.229
2748 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.230
2749 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.231
2750 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.232
2751 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.233
2752 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.234
2753 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.235
2754 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.236
2755 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.237
2756 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.238
2757 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.239
2758 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.240
2759 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.241
2760 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.242
2761 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.243
2762 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.244
2763 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.245
2764 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.246
2765 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.247
2766 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.248
2767 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.249
2768 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.250
2769 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.251
2770 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.252
2771 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.253
2772 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.254
2773 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.255
2774 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.256
2775 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.257
2776 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.258
2777 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.259
2778 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.260
2779 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.261
2780 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.262
2781 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.263
2782 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.264
2783 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.265
2784 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.266
2785 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.267
2786 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.268
2787 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.269
2788 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.270
2789 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.271
2790 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.272
2791 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.273
2792 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.274
2793 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.275
2794 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.276
2795 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.277
2796 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.278
2797 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.279
2798 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.280
2799 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.281
2800 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.282
2801 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.283
2802 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.284
2803 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.285
2804 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.286
2805 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.287
2806 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.288
2807 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.289
2808 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.290
2809 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.291
2810 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.292
2811 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.293
2812 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.294
2813 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.295
2814 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.296
2815 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.297
2816 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.298
2817 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.299
2818 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.300
2819 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.301
2820 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.302
2821 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.303
2822 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.304
2823 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.305
2824 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.306
2825 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.307
2826 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.308
2827 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.309
2828 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.310
2829 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.311
2830 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.312
2831 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.313
2832 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.314
2833 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.315
2834 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.316
2835 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.317
2836 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.318
2837 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.319
2838 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.320
2839 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.321
2840 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.322
2841 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.323
2842 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.324
2843 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.325
2844 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.326
2845 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.327
2846 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.328
2847 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.329
2848 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.330
2849 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.331
2850 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.332
2851 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.333
2852 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.334
2853 => {
let [v1] = take(rhs);
v1
}
// unreserved_keyword.335
2854 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.1
2855 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.2
2856 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.3
2857 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.4
2858 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.5
2859 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.6
2860 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.7
2861 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.8
2862 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.9
2863 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.10
2864 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.11
2865 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.12
2866 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.13
2867 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.14
2868 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.15
2869 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.16
2870 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.17
2871 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.18
2872 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.19
2873 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.20
2874 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.21
2875 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.22
2876 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.23
2877 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.24
2878 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.25
2879 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.26
2880 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.27
2881 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.28
2882 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.29
2883 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.30
2884 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.31
2885 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.32
2886 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.33
2887 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.34
2888 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.35
2889 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.36
2890 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.37
2891 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.38
2892 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.39
2893 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.40
2894 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.41
2895 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.42
2896 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.43
2897 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.44
2898 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.45
2899 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.46
2900 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.47
2901 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.48
2902 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.49
2903 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.50
2904 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.51
2905 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.52
2906 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.53
2907 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.54
2908 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.55
2909 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.56
2910 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.57
2911 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.58
2912 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.59
2913 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.60
2914 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.61
2915 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.62
2916 => {
let [v1] = take(rhs);
v1
}
// col_name_keyword.63
2917 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.1
2918 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.2
2919 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.3
2920 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.4
2921 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.5
2922 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.6
2923 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.7
2924 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.8
2925 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.9
2926 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.10
2927 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.11
2928 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.12
2929 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.13
2930 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.14
2931 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.15
2932 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.16
2933 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.17
2934 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.18
2935 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.19
2936 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.20
2937 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.21
2938 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.22
2939 => {
let [v1] = take(rhs);
v1
}
// type_func_name_keyword.23
2940 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.1
2941 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.2
2942 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.3
2943 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.4
2944 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.5
2945 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.6
2946 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.7
2947 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.8
2948 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.9
2949 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.10
2950 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.11
2951 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.12
2952 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.13
2953 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.14
2954 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.15
2955 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.16
2956 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.17
2957 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.18
2958 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.19
2959 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.20
2960 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.21
2961 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.22
2962 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.23
2963 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.24
2964 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.25
2965 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.26
2966 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.27
2967 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.28
2968 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.29
2969 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.30
2970 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.31
2971 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.32
2972 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.33
2973 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.34
2974 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.35
2975 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.36
2976 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.37
2977 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.38
2978 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.39
2979 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.40
2980 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.41
2981 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.42
2982 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.43
2983 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.44
2984 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.45
2985 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.46
2986 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.47
2987 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.48
2988 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.49
2989 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.50
2990 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.51
2991 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.52
2992 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.53
2993 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.54
2994 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.55
2995 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.56
2996 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.57
2997 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.58
2998 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.59
2999 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.60
3000 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.61
3001 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.62
3002 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.63
3003 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.64
3004 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.65
3005 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.66
3006 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.67
3007 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.68
3008 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.69
3009 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.70
3010 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.71
3011 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.72
3012 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.73
3013 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.74
3014 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.75
3015 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.76
3016 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.77
3017 => {
let [v1] = take(rhs);
v1
}
// reserved_keyword.78
3018 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.1
3019 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.2
3020 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.3
3021 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.4
3022 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.5
3023 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.6
3024 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.7
3025 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.8
3026 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.9
3027 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.10
3028 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.11
3029 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.12
3030 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.13
3031 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.14
3032 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.15
3033 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.16
3034 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.17
3035 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.18
3036 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.19
3037 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.20
3038 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.21
3039 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.22
3040 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.23
3041 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.24
3042 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.25
3043 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.26
3044 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.27
3045 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.28
3046 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.29
3047 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.30
3048 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.31
3049 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.32
3050 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.33
3051 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.34
3052 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.35
3053 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.36
3054 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.37
3055 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.38
3056 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.39
3057 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.40
3058 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.41
3059 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.42
3060 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.43
3061 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.44
3062 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.45
3063 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.46
3064 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.47
3065 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.48
3066 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.49
3067 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.50
3068 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.51
3069 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.52
3070 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.53
3071 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.54
3072 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.55
3073 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.56
3074 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.57
3075 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.58
3076 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.59
3077 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.60
3078 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.61
3079 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.62
3080 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.63
3081 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.64
3082 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.65
3083 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.66
3084 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.67
3085 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.68
3086 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.69
3087 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.70
3088 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.71
3089 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.72
3090 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.73
3091 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.74
3092 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.75
3093 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.76
3094 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.77
3095 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.78
3096 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.79
3097 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.80
3098 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.81
3099 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.82
3100 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.83
3101 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.84
3102 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.85
3103 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.86
3104 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.87
3105 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.88
3106 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.89
3107 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.90
3108 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.91
3109 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.92
3110 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.93
3111 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.94
3112 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.95
3113 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.96
3114 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.97
3115 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.98
3116 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.99
3117 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.100
3118 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.101
3119 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.102
3120 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.103
3121 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.104
3122 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.105
3123 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.106
3124 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.107
3125 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.108
3126 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.109
3127 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.110
3128 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.111
3129 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.112
3130 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.113
3131 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.114
3132 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.115
3133 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.116
3134 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.117
3135 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.118
3136 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.119
3137 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.120
3138 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.121
3139 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.122
3140 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.123
3141 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.124
3142 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.125
3143 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.126
3144 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.127
3145 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.128
3146 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.129
3147 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.130
3148 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.131
3149 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.132
3150 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.133
3151 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.134
3152 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.135
3153 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.136
3154 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.137
3155 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.138
3156 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.139
3157 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.140
3158 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.141
3159 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.142
3160 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.143
3161 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.144
3162 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.145
3163 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.146
3164 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.147
3165 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.148
3166 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.149
3167 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.150
3168 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.151
3169 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.152
3170 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.153
3171 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.154
3172 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.155
3173 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.156
3174 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.157
3175 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.158
3176 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.159
3177 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.160
3178 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.161
3179 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.162
3180 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.163
3181 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.164
3182 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.165
3183 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.166
3184 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.167
3185 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.168
3186 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.169
3187 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.170
3188 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.171
3189 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.172
3190 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.173
3191 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.174
3192 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.175
3193 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.176
3194 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.177
3195 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.178
3196 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.179
3197 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.180
3198 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.181
3199 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.182
3200 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.183
3201 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.184
3202 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.185
3203 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.186
3204 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.187
3205 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.188
3206 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.189
3207 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.190
3208 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.191
3209 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.192
3210 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.193
3211 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.194
3212 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.195
3213 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.196
3214 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.197
3215 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.198
3216 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.199
3217 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.200
3218 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.201
3219 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.202
3220 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.203
3221 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.204
3222 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.205
3223 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.206
3224 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.207
3225 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.208
3226 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.209
3227 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.210
3228 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.211
3229 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.212
3230 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.213
3231 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.214
3232 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.215
3233 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.216
3234 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.217
3235 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.218
3236 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.219
3237 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.220
3238 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.221
3239 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.222
3240 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.223
3241 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.224
3242 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.225
3243 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.226
3244 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.227
3245 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.228
3246 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.229
3247 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.230
3248 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.231
3249 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.232
3250 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.233
3251 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.234
3252 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.235
3253 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.236
3254 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.237
3255 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.238
3256 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.239
3257 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.240
3258 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.241
3259 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.242
3260 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.243
3261 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.244
3262 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.245
3263 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.246
3264 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.247
3265 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.248
3266 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.249
3267 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.250
3268 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.251
3269 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.252
3270 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.253
3271 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.254
3272 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.255
3273 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.256
3274 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.257
3275 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.258
3276 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.259
3277 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.260
3278 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.261
3279 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.262
3280 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.263
3281 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.264
3282 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.265
3283 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.266
3284 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.267
3285 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.268
3286 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.269
3287 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.270
3288 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.271
3289 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.272
3290 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.273
3291 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.274
3292 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.275
3293 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.276
3294 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.277
3295 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.278
3296 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.279
3297 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.280
3298 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.281
3299 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.282
3300 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.283
3301 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.284
3302 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.285
3303 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.286
3304 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.287
3305 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.288
3306 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.289
3307 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.290
3308 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.291
3309 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.292
3310 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.293
3311 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.294
3312 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.295
3313 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.296
3314 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.297
3315 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.298
3316 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.299
3317 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.300
3318 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.301
3319 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.302
3320 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.303
3321 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.304
3322 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.305
3323 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.306
3324 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.307
3325 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.308
3326 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.309
3327 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.310
3328 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.311
3329 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.312
3330 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.313
3331 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.314
3332 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.315
3333 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.316
3334 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.317
3335 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.318
3336 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.319
3337 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.320
3338 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.321
3339 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.322
3340 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.323
3341 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.324
3342 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.325
3343 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.326
3344 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.327
3345 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.328
3346 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.329
3347 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.330
3348 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.331
3349 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.332
3350 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.333
3351 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.334
3352 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.335
3353 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.336
3354 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.337
3355 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.338
3356 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.339
3357 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.340
3358 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.341
3359 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.342
3360 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.343
3361 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.344
3362 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.345
3363 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.346
3364 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.347
3365 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.348
3366 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.349
3367 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.350
3368 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.351
3369 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.352
3370 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.353
3371 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.354
3372 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.355
3373 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.356
3374 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.357
3375 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.358
3376 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.359
3377 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.360
3378 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.361
3379 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.362
3380 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.363
3381 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.364
3382 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.365
3383 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.366
3384 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.367
3385 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.368
3386 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.369
3387 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.370
3388 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.371
3389 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.372
3390 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.373
3391 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.374
3392 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.375
3393 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.376
3394 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.377
3395 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.378
3396 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.379
3397 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.380
3398 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.381
3399 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.382
3400 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.383
3401 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.384
3402 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.385
3403 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.386
3404 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.387
3405 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.388
3406 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.389
3407 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.390
3408 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.391
3409 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.392
3410 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.393
3411 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.394
3412 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.395
3413 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.396
3414 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.397
3415 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.398
3416 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.399
3417 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.400
3418 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.401
3419 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.402
3420 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.403
3421 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.404
3422 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.405
3423 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.406
3424 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.407
3425 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.408
3426 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.409
3427 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.410
3428 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.411
3429 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.412
3430 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.413
3431 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.414
3432 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.415
3433 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.416
3434 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.417
3435 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.418
3436 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.419
3437 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.420
3438 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.421
3439 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.422
3440 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.423
3441 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.424
3442 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.425
3443 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.426
3444 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.427
3445 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.428
3446 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.429
3447 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.430
3448 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.431
3449 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.432
3450 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.433
3451 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.434
3452 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.435
3453 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.436
3454 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.437
3455 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.438
3456 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.439
3457 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.440
3458 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.441
3459 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.442
3460 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.443
3461 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.444
3462 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.445
3463 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.446
3464 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.447
3465 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.448
3466 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.449
3467 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.450
3468 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.451
3469 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.452
3470 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.453
3471 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.454
3472 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.455
3473 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.456
3474 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.457
3475 => {
let [v1] = take(rhs);
v1
}
// bare_label_keyword.458
3476 => {
let [v1] = take(rhs);
v1
}
_ => return Err(Error::internal("no such rule")),
})
}
/// The actions that are not a move or a constant, one trait for each rule of `gram.y` with
/// one method for each such alternative. The default of each method gives the error that
/// the action is not ported.
pub(crate) mod rules {
// The names of the methods are those of the rules, as `into_clause_1`.
#![allow(clippy::too_many_arguments, clippy::wrong_self_convention)]
use crate::error::Error;
use crate::nodes::{List, Node, Str};
/// The actions of `parse_toplevel`.
pub(crate) trait parse_toplevel {
/// `parse_toplevel: stmtmulti`, line 924 of `gram.y`.
fn parse_toplevel_1(&mut self, _1: List) -> Result<List, Error> {
Err(Error::not_ported("parse_toplevel.1"))
}
/// `parse_toplevel: MODE_TYPE_NAME Typename`, line 929 of `gram.y`.
fn parse_toplevel_2(&mut self, _2: Option<Box<crate::nodes::TypeName>>) -> Result<List, Error> {
Err(Error::not_ported("parse_toplevel.2"))
}
/// `parse_toplevel: MODE_PLPGSQL_EXPR PLpgSQL_Expr`, line 933 of `gram.y`.
fn parse_toplevel_3(&mut self, _2: Option<Node>, _at2: i32) -> Result<List, Error> {
Err(Error::not_ported("parse_toplevel.3"))
}
/// `parse_toplevel: MODE_PLPGSQL_ASSIGN1 PLAssignStmt`, line 938 of `gram.y`.
fn parse_toplevel_4(&mut self, _2: Option<Node>, _at2: i32) -> Result<List, Error> {
Err(Error::not_ported("parse_toplevel.4"))
}
/// `parse_toplevel: MODE_PLPGSQL_ASSIGN2 PLAssignStmt`, line 946 of `gram.y`.
fn parse_toplevel_5(&mut self, _2: Option<Node>, _at2: i32) -> Result<List, Error> {
Err(Error::not_ported("parse_toplevel.5"))
}
/// `parse_toplevel: MODE_PLPGSQL_ASSIGN3 PLAssignStmt`, line 954 of `gram.y`.
fn parse_toplevel_6(&mut self, _2: Option<Node>, _at2: i32) -> Result<List, Error> {
Err(Error::not_ported("parse_toplevel.6"))
}
}
/// The actions of `stmtmulti`.
pub(crate) trait stmtmulti {
/// `stmtmulti: stmtmulti ';' toplevel_stmt`, line 970 of `gram.y`.
fn stmtmulti_1(&mut self, _1: List, _3: Option<Node>, _at2: i32, _at3: i32) -> Result<List, Error> {
Err(Error::not_ported("stmtmulti.1"))
}
}
/// The actions of `zone_value`.
pub(crate) trait zone_value {
/// `zone_value: ConstInterval Sconst opt_interval`, line 1927 of `gram.y`.
fn zone_value_3(&mut self, _1: Option<Box<crate::nodes::TypeName>>, _2: Option<Str>, _3: List, _at2: i32, _at3: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("zone_value.3"))
}
}
/// The actions of `CheckPointStmt`.
pub(crate) trait CheckPointStmt {
/// `CheckPointStmt: CHECKPOINT opt_utility_option_list`, line 2101 of `gram.y`.
fn CheckPointStmt_1(&mut self, _2: List) -> Result<Option<Node>, Error> {
Err(Error::not_ported("CheckPointStmt.1"))
}
}
/// The actions of `PartitionBoundSpec`.
pub(crate) trait PartitionBoundSpec {
/// `PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')'`, line 3218 of `gram.y`.
fn PartitionBoundSpec_1(&mut self, _5: List, _at3: i32) -> Result<Option<Box<crate::nodes::PartitionBoundSpec>>, Error> {
Err(Error::not_ported("PartitionBoundSpec.1"))
}
}
/// The actions of `NumericOnly`.
pub(crate) trait NumericOnly {
/// `NumericOnly: '-' FCONST`, line 5158 of `gram.y`.
fn NumericOnly_3(&mut self, _2: Option<Str>) -> Result<Option<Node>, Error> {
Err(Error::not_ported("NumericOnly.3"))
}
}
/// The actions of `set_clause`.
pub(crate) trait set_clause {
/// `set_clause: '(' set_target_list ')' '=' a_expr`, line 12791 of `gram.y`.
fn set_clause_2(&mut self, _2: List, _5: Option<Node>) -> Result<List, Error> {
Err(Error::not_ported("set_clause.2"))
}
}
/// The actions of `select_no_parens`.
pub(crate) trait select_no_parens {
/// `select_no_parens: select_clause sort_clause`, line 13110 of `gram.y`.
fn select_no_parens_2(&mut self, _1: Option<Node>, _2: List) -> Result<Option<Node>, Error> {
Err(Error::not_ported("select_no_parens.2"))
}
/// `select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit`, line 13117 of `gram.y`.
fn select_no_parens_3(&mut self, _1: Option<Node>, _2: List, _3: List, _4: Option<Box<super::SelectLimit>>) -> Result<Option<Node>, Error> {
Err(Error::not_ported("select_no_parens.3"))
}
/// `select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause`, line 13125 of `gram.y`.
fn select_no_parens_4(&mut self, _1: Option<Node>, _2: List, _3: Option<Box<super::SelectLimit>>, _4: List) -> Result<Option<Node>, Error> {
Err(Error::not_ported("select_no_parens.4"))
}
/// `select_no_parens: with_clause select_clause`, line 13133 of `gram.y`.
fn select_no_parens_5(&mut self, _1: Option<Box<crate::nodes::WithClause>>, _2: Option<Node>) -> Result<Option<Node>, Error> {
Err(Error::not_ported("select_no_parens.5"))
}
/// `select_no_parens: with_clause select_clause sort_clause`, line 13141 of `gram.y`.
fn select_no_parens_6(&mut self, _1: Option<Box<crate::nodes::WithClause>>, _2: Option<Node>, _3: List) -> Result<Option<Node>, Error> {
Err(Error::not_ported("select_no_parens.6"))
}
/// `select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit`, line 13149 of `gram.y`.
fn select_no_parens_7(&mut self, _1: Option<Box<crate::nodes::WithClause>>, _2: Option<Node>, _3: List, _4: List, _5: Option<Box<super::SelectLimit>>) -> Result<Option<Node>, Error> {
Err(Error::not_ported("select_no_parens.7"))
}
/// `select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause`, line 13157 of `gram.y`.
fn select_no_parens_8(&mut self, _1: Option<Box<crate::nodes::WithClause>>, _2: Option<Node>, _3: List, _4: Option<Box<super::SelectLimit>>, _5: List) -> Result<Option<Node>, Error> {
Err(Error::not_ported("select_no_parens.8"))
}
}
/// The actions of `joined_table`.
pub(crate) trait joined_table {
/// `joined_table: table_ref join_type JOIN table_ref join_qual`, line 14008 of `gram.y`.
fn joined_table_3(&mut self, _1: Option<Node>, _2: crate::nodes::JoinType, _4: Option<Node>, _5: Option<Node>) -> Result<Option<Box<crate::nodes::JoinExpr>>, Error> {
Err(Error::not_ported("joined_table.3"))
}
/// `joined_table: table_ref JOIN table_ref join_qual`, line 14029 of `gram.y`.
fn joined_table_4(&mut self, _1: Option<Node>, _3: Option<Node>, _4: Option<Node>) -> Result<Option<Box<crate::nodes::JoinExpr>>, Error> {
Err(Error::not_ported("joined_table.4"))
}
}
/// The actions of `xmltable_column_el`.
pub(crate) trait xmltable_column_el {
/// `xmltable_column_el: ColId Typename xmltable_column_option_list`, line 14450 of `gram.y`.
fn xmltable_column_el_2(&mut self, _1: Option<Str>, _2: Option<Box<crate::nodes::TypeName>>, _3: List, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("xmltable_column_el.2"))
}
}
/// The actions of `json_table`.
pub(crate) trait json_table {
/// `json_table: JSON_TABLE '(' json_value_expr ',' a_expr json_table_path_name_opt json_passing_clause_opt COLUMNS '(' json_table_column_definition_list ')' json_on_error_clause_opt ')'`, line 14574 of `gram.y`.
fn json_table_1(&mut self, _3: Option<Node>, _5: Option<Node>, _6: Option<Str>, _7: List, _10: List, _12: Option<Node>, _at1: i32, _at5: i32, _at6: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("json_table.1"))
}
}
/// The actions of `GenericType`.
pub(crate) trait GenericType {
/// `GenericType: type_function_name opt_type_modifiers`, line 14821 of `gram.y`.
fn GenericType_1(&mut self, _1: Option<Str>, _2: List, _at1: i32) -> Result<Option<Box<crate::nodes::TypeName>>, Error> {
Err(Error::not_ported("GenericType.1"))
}
}
/// The actions of `BitWithLength`.
pub(crate) trait BitWithLength {
/// `BitWithLength: BIT opt_varying '(' expr_list ')'`, line 14957 of `gram.y`.
fn BitWithLength_1(&mut self, _2: bool, _4: List, _at1: i32) -> Result<Option<Box<crate::nodes::TypeName>>, Error> {
Err(Error::not_ported("BitWithLength.1"))
}
}
/// The actions of `CharacterWithLength`.
pub(crate) trait CharacterWithLength {
/// `CharacterWithLength: character '(' Iconst ')'`, line 15017 of `gram.y`.
fn CharacterWithLength_1(&mut self, _1: Option<Str>, _3: i32, _at1: i32, _at3: i32) -> Result<Option<Box<crate::nodes::TypeName>>, Error> {
Err(Error::not_ported("CharacterWithLength.1"))
}
}
/// The actions of `CharacterWithoutLength`.
pub(crate) trait CharacterWithoutLength {
/// `CharacterWithoutLength: character`, line 15025 of `gram.y`.
fn CharacterWithoutLength_1(&mut self, _1: Option<Str>, _at1: i32) -> Result<Option<Box<crate::nodes::TypeName>>, Error> {
Err(Error::not_ported("CharacterWithoutLength.1"))
}
}
/// The actions of `opt_interval`.
pub(crate) trait opt_interval {
/// `opt_interval: YEAR_P`, line 15109 of `gram.y`.
fn opt_interval_1(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.1"))
}
/// `opt_interval: MONTH_P`, line 15111 of `gram.y`.
fn opt_interval_2(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.2"))
}
/// `opt_interval: DAY_P`, line 15113 of `gram.y`.
fn opt_interval_3(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.3"))
}
/// `opt_interval: HOUR_P`, line 15115 of `gram.y`.
fn opt_interval_4(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.4"))
}
/// `opt_interval: MINUTE_P`, line 15117 of `gram.y`.
fn opt_interval_5(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.5"))
}
/// `opt_interval: YEAR_P TO MONTH_P`, line 15121 of `gram.y`.
fn opt_interval_7(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.7"))
}
/// `opt_interval: DAY_P TO HOUR_P`, line 15126 of `gram.y`.
fn opt_interval_8(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.8"))
}
/// `opt_interval: DAY_P TO MINUTE_P`, line 15131 of `gram.y`.
fn opt_interval_9(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.9"))
}
/// `opt_interval: DAY_P TO interval_second`, line 15137 of `gram.y`.
fn opt_interval_10(&mut self, _3: List, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.10"))
}
/// `opt_interval: HOUR_P TO MINUTE_P`, line 15145 of `gram.y`.
fn opt_interval_11(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.11"))
}
/// `opt_interval: HOUR_P TO interval_second`, line 15150 of `gram.y`.
fn opt_interval_12(&mut self, _3: List, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.12"))
}
/// `opt_interval: MINUTE_P TO interval_second`, line 15157 of `gram.y`.
fn opt_interval_13(&mut self, _3: List, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("opt_interval.13"))
}
}
/// The actions of `interval_second`.
pub(crate) trait interval_second {
/// `interval_second: SECOND_P`, line 15168 of `gram.y`.
fn interval_second_1(&mut self, _at1: i32) -> Result<List, Error> {
Err(Error::not_ported("interval_second.1"))
}
/// `interval_second: SECOND_P '(' Iconst ')'`, line 15172 of `gram.y`.
fn interval_second_2(&mut self, _3: i32, _at1: i32, _at3: i32) -> Result<List, Error> {
Err(Error::not_ported("interval_second.2"))
}
}
/// The actions of `a_expr`.
pub(crate) trait a_expr {
/// `a_expr: a_expr IS NULL_P`, line 15396 of `gram.y`.
fn a_expr_38(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.38"))
}
/// `a_expr: a_expr ISNULL`, line 15405 of `gram.y`.
fn a_expr_39(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.39"))
}
/// `a_expr: a_expr IS NOT NULL_P`, line 15414 of `gram.y`.
fn a_expr_40(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.40"))
}
/// `a_expr: a_expr NOTNULL`, line 15423 of `gram.y`.
fn a_expr_41(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.41"))
}
/// `a_expr: a_expr IS TRUE_P`, line 15449 of `gram.y`.
fn a_expr_43(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.43"))
}
/// `a_expr: a_expr IS NOT TRUE_P`, line 15458 of `gram.y`.
fn a_expr_44(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.44"))
}
/// `a_expr: a_expr IS FALSE_P`, line 15467 of `gram.y`.
fn a_expr_45(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.45"))
}
/// `a_expr: a_expr IS NOT FALSE_P`, line 15476 of `gram.y`.
fn a_expr_46(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.46"))
}
/// `a_expr: a_expr IS UNKNOWN`, line 15485 of `gram.y`.
fn a_expr_47(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.47"))
}
/// `a_expr: a_expr IS NOT UNKNOWN`, line 15494 of `gram.y`.
fn a_expr_48(&mut self, _1: Option<Node>, _at2: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("a_expr.48"))
}
}
/// The actions of `c_expr`.
pub(crate) trait c_expr {
/// `c_expr: PARAM opt_indirection`, line 15793 of `gram.y`.
fn c_expr_3(&mut self, _1: i32, _2: List, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("c_expr.3"))
}
}
/// The actions of `func_expr`.
pub(crate) trait func_expr {
/// `func_expr: json_aggregate_func filter_clause over_clause`, line 16054 of `gram.y`.
fn func_expr_2(&mut self, _1: Option<Node>, _2: Option<Node>, _3: Option<Box<crate::nodes::WindowDef>>) -> Result<Option<Node>, Error> {
Err(Error::not_ported("func_expr.2"))
}
}
/// The actions of `func_expr_common_subexpr`.
pub(crate) trait func_expr_common_subexpr {
/// `func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')'`, line 16234 of `gram.y`.
fn func_expr_common_subexpr_27(&mut self, _3: Option<Node>, _5: Option<Box<crate::nodes::TypeName>>, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("func_expr_common_subexpr.27"))
}
/// `func_expr_common_subexpr: GREATEST '(' expr_list ')'`, line 16293 of `gram.y`.
fn func_expr_common_subexpr_34(&mut self, _3: List, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("func_expr_common_subexpr.34"))
}
/// `func_expr_common_subexpr: LEAST '(' expr_list ')'`, line 16302 of `gram.y`.
fn func_expr_common_subexpr_35(&mut self, _3: List, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("func_expr_common_subexpr.35"))
}
/// `func_expr_common_subexpr: JSON_SCALAR '(' a_expr ')'`, line 16461 of `gram.y`.
fn func_expr_common_subexpr_55(&mut self, _3: Option<Node>, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("func_expr_common_subexpr.55"))
}
}
/// The actions of `opt_frame_clause`.
pub(crate) trait opt_frame_clause {
/// `opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause`, line 16756 of `gram.y`.
fn opt_frame_clause_1(&mut self, _2: Option<Box<crate::nodes::WindowDef>>, _3: i32) -> Result<Option<Box<crate::nodes::WindowDef>>, Error> {
Err(Error::not_ported("opt_frame_clause.1"))
}
/// `opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause`, line 16764 of `gram.y`.
fn opt_frame_clause_2(&mut self, _2: Option<Box<crate::nodes::WindowDef>>, _3: i32) -> Result<Option<Box<crate::nodes::WindowDef>>, Error> {
Err(Error::not_ported("opt_frame_clause.2"))
}
/// `opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause`, line 16772 of `gram.y`.
fn opt_frame_clause_3(&mut self, _2: Option<Box<crate::nodes::WindowDef>>, _3: i32) -> Result<Option<Box<crate::nodes::WindowDef>>, Error> {
Err(Error::not_ported("opt_frame_clause.3"))
}
}
/// The actions of `frame_extent`.
pub(crate) trait frame_extent {
/// `frame_extent: frame_bound`, line 16791 of `gram.y`.
fn frame_extent_1(&mut self, _1: Option<Box<crate::nodes::WindowDef>>, _at1: i32) -> Result<Option<Box<crate::nodes::WindowDef>>, Error> {
Err(Error::not_ported("frame_extent.1"))
}
/// `frame_extent: BETWEEN frame_bound AND frame_bound`, line 16809 of `gram.y`.
fn frame_extent_2(&mut self, _2: Option<Box<crate::nodes::WindowDef>>, _4: Option<Box<crate::nodes::WindowDef>>, _at2: i32, _at4: i32) -> Result<Option<Box<crate::nodes::WindowDef>>, Error> {
Err(Error::not_ported("frame_extent.2"))
}
}
/// The actions of `func_arg_expr`.
pub(crate) trait func_arg_expr {
/// `func_arg_expr: param_name COLON_EQUALS a_expr`, line 17017 of `gram.y`.
fn func_arg_expr_2(&mut self, _1: Option<Str>, _3: Option<Node>, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("func_arg_expr.2"))
}
/// `func_arg_expr: param_name EQUALS_GREATER a_expr`, line 17027 of `gram.y`.
fn func_arg_expr_3(&mut self, _1: Option<Str>, _3: Option<Node>, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("func_arg_expr.3"))
}
}
/// The actions of `case_expr`.
pub(crate) trait case_expr {
/// `case_expr: CASE case_arg when_clause_list case_default END_P`, line 17186 of `gram.y`.
fn case_expr_1(&mut self, _2: Option<Node>, _3: List, _4: Option<Node>, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("case_expr.1"))
}
}
/// The actions of `when_clause`.
pub(crate) trait when_clause {
/// `when_clause: WHEN a_expr THEN a_expr`, line 17206 of `gram.y`.
fn when_clause_1(&mut self, _2: Option<Node>, _4: Option<Node>, _at1: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("when_clause.1"))
}
}
/// The actions of `json_value_expr`.
pub(crate) trait json_value_expr {
/// `json_value_expr: a_expr json_format_clause_opt`, line 17357 of `gram.y`.
fn json_value_expr_1(&mut self, _1: Option<Node>, _2: Option<Node>) -> Result<Option<Node>, Error> {
Err(Error::not_ported("json_value_expr.1"))
}
}
/// The actions of `json_format_clause`.
pub(crate) trait json_format_clause {
/// `json_format_clause: FORMAT_LA JSON ENCODING name`, line 17366 of `gram.y`.
fn json_format_clause_1(&mut self, _4: Option<Str>, _at1: i32, _at4: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("json_format_clause.1"))
}
}
/// The actions of `AexprConst`.
pub(crate) trait AexprConst {
/// `AexprConst: func_name '(' func_arg_list opt_sort_clause ')' Sconst`, line 17685 of `gram.y`.
fn AexprConst_7(&mut self, _1: List, _3: List, _4: List, _6: Option<Str>, _at1: i32, _at4: i32, _at6: i32) -> Result<Option<Node>, Error> {
Err(Error::not_ported("AexprConst.7"))
}
}
/// The actions of `RoleId`.
pub(crate) trait RoleId {
/// `RoleId: RoleSpec`, line 17759 of `gram.y`.
fn RoleId_1(&mut self, _1: Option<Box<crate::nodes::RoleSpec>>, _at1: i32) -> Result<Option<Str>, Error> {
Err(Error::not_ported("RoleId.1"))
}
}
/// The actions of `RoleSpec`.
pub(crate) trait RoleSpec {
/// `RoleSpec: NonReservedWord`, line 17800 of `gram.y`.
fn RoleSpec_1(&mut self, _1: Option<Str>, _at1: i32) -> Result<Option<Box<crate::nodes::RoleSpec>>, Error> {
Err(Error::not_ported("RoleSpec.1"))
}
}
}
// The rules with no ported action.