#![allow(clippy::all)]
use crate::ast::*;
use crate::generated::visit::{self, Visit};
use crate::vocab::Meta;
#[derive(Default)]
pub struct NodeIdWalk {
pub metas: Vec<Meta>,
}
impl<'ast> Visit<'ast, NoExt> for NodeIdWalk {
fn visit_session_statement(&mut self, node: &'ast SessionStatement<NoExt>) {
self.metas.push(match node {
SessionStatement::Set { meta, .. } => *meta,
SessionStatement::SetTimeZone { meta, .. } => *meta,
SessionStatement::SetRole { meta, .. } => *meta,
SessionStatement::SetSessionAuthorization { meta, .. } => *meta,
SessionStatement::SetConstraints { meta, .. } => *meta,
SessionStatement::SetNames { meta, .. } => *meta,
SessionStatement::SetSessionCharacteristics { meta, .. } => *meta,
SessionStatement::Reset { meta, .. } => *meta,
SessionStatement::Show { meta, .. } => *meta,
SessionStatement::SetVariables { meta, .. } => *meta,
SessionStatement::SetCharacterSet { meta, .. } => *meta,
SessionStatement::SetResourceGroup { meta, .. } => *meta,
});
visit::walk_session_statement(self, node);
}
fn visit_set_variable_assignment(&mut self, node: &'ast SetVariableAssignment<NoExt>) {
self.metas.push(match node {
SetVariableAssignment::SystemVariable { meta, .. } => *meta,
SetVariableAssignment::UserVariable { meta, .. } => *meta,
});
visit::walk_set_variable_assignment(self, node);
}
fn visit_set_variable_value(&mut self, node: &'ast SetVariableValue<NoExt>) {
self.metas.push(match node {
SetVariableValue::Default { meta, .. } => *meta,
SetVariableValue::Keyword { meta, .. } => *meta,
SetVariableValue::Expr { meta, .. } => *meta,
});
visit::walk_set_variable_value(self, node);
}
fn visit_set_character_set_value(&mut self, node: &'ast SetCharacterSetValue) {
self.metas.push(match node {
SetCharacterSetValue::Default { meta, .. } => *meta,
SetCharacterSetValue::Charset { meta, .. } => *meta,
});
visit::walk_set_character_set_value(self, node);
}
fn visit_set_value(&mut self, node: &'ast SetValue) {
self.metas.push(match node {
SetValue::Default { meta, .. } => *meta,
SetValue::Values { meta, .. } => *meta,
});
visit::walk_set_value(self, node);
}
fn visit_set_parameter_value(&mut self, node: &'ast SetParameterValue) {
self.metas.push(match node {
SetParameterValue::Literal { meta, .. } => *meta,
SetParameterValue::Name { meta, .. } => *meta,
SetParameterValue::Parameter { meta, .. } => *meta,
SetParameterValue::List { meta, .. } => *meta,
});
visit::walk_set_parameter_value(self, node);
}
fn visit_special_set_value(&mut self, node: &'ast SpecialSetValue) {
self.metas.push(match node {
SpecialSetValue::Default { meta, .. } => *meta,
SpecialSetValue::Local { meta, .. } => *meta,
SpecialSetValue::None { meta, .. } => *meta,
SpecialSetValue::Value { meta, .. } => *meta,
});
visit::walk_special_set_value(self, node);
}
fn visit_constraints_target(&mut self, node: &'ast ConstraintsTarget) {
self.metas.push(match node {
ConstraintsTarget::All { meta, .. } => *meta,
ConstraintsTarget::Names { meta, .. } => *meta,
});
visit::walk_constraints_target(self, node);
}
fn visit_set_names_value(&mut self, node: &'ast SetNamesValue) {
self.metas.push(match node {
SetNamesValue::Default { meta, .. } => *meta,
SetNamesValue::Charset { meta, .. } => *meta,
});
visit::walk_set_names_value(self, node);
}
fn visit_config_parameter(&mut self, node: &'ast ConfigParameter) {
self.metas.push(match node {
ConfigParameter::All { meta, .. } => *meta,
ConfigParameter::Named { meta, .. } => *meta,
});
visit::walk_config_parameter(self, node);
}
fn visit_alter_system(&mut self, node: &'ast AlterSystem) {
self.metas.push(node.meta);
visit::walk_alter_system(self, node);
}
fn visit_alter_system_action(&mut self, node: &'ast AlterSystemAction) {
self.metas.push(match node {
AlterSystemAction::Set { meta, .. } => *meta,
AlterSystemAction::Reset { meta, .. } => *meta,
});
visit::walk_alter_system_action(self, node);
}
fn visit_access_control_statement(&mut self, node: &'ast AccessControlStatement<NoExt>) {
self.metas.push(match node {
AccessControlStatement::AlterRoleRename { meta, .. } => *meta,
AccessControlStatement::Grant { meta, .. } => *meta,
AccessControlStatement::Revoke { meta, .. } => *meta,
AccessControlStatement::GrantRole { meta, .. } => *meta,
AccessControlStatement::RevokeRole { meta, .. } => *meta,
AccessControlStatement::AccountGrantPrivilege { meta, .. } => *meta,
AccessControlStatement::AccountGrantProxy { meta, .. } => *meta,
AccessControlStatement::AccountGrantRole { meta, .. } => *meta,
AccessControlStatement::AccountRevokePrivilege { meta, .. } => *meta,
AccessControlStatement::AccountRevokeAll { meta, .. } => *meta,
AccessControlStatement::AccountRevokeProxy { meta, .. } => *meta,
AccessControlStatement::AccountRevokeRole { meta, .. } => *meta,
});
visit::walk_access_control_statement(self, node);
}
fn visit_privilege_level_object(&mut self, node: &'ast PrivilegeLevelObject) {
self.metas.push(node.meta);
visit::walk_privilege_level_object(self, node);
}
fn visit_privilege_level(&mut self, node: &'ast PrivilegeLevel) {
self.metas.push(match node {
PrivilegeLevel::Global { meta, .. } => *meta,
PrivilegeLevel::CurrentDatabase { meta, .. } => *meta,
PrivilegeLevel::Database { meta, .. } => *meta,
PrivilegeLevel::Object { meta, .. } => *meta,
});
visit::walk_privilege_level(self, node);
}
fn visit_grant_as(&mut self, node: &'ast GrantAs) {
self.metas.push(node.meta);
visit::walk_grant_as(self, node);
}
fn visit_with_role_spec(&mut self, node: &'ast WithRoleSpec) {
self.metas.push(match node {
WithRoleSpec::Roles { meta, .. } => *meta,
WithRoleSpec::All { meta, .. } => *meta,
WithRoleSpec::None { meta, .. } => *meta,
WithRoleSpec::Default { meta, .. } => *meta,
});
visit::walk_with_role_spec(self, node);
}
fn visit_privileges(&mut self, node: &'ast Privileges) {
self.metas.push(match node {
Privileges::All { meta, .. } => *meta,
Privileges::List { meta, .. } => *meta,
});
visit::walk_privileges(self, node);
}
fn visit_privilege(&mut self, node: &'ast Privilege) {
self.metas.push(match node {
Privilege::Known { meta, .. } => *meta,
Privilege::Other { meta, .. } => *meta,
});
visit::walk_privilege(self, node);
}
fn visit_grant_object(&mut self, node: &'ast GrantObject<NoExt>) {
self.metas.push(match node {
GrantObject::Table { meta, .. } => *meta,
GrantObject::Named { meta, .. } => *meta,
GrantObject::Routines { meta, .. } => *meta,
GrantObject::AllInSchema { meta, .. } => *meta,
});
visit::walk_grant_object(self, node);
}
fn visit_routine_signature(&mut self, node: &'ast RoutineSignature<NoExt>) {
self.metas.push(node.meta);
visit::walk_routine_signature(self, node);
}
fn visit_grantee(&mut self, node: &'ast Grantee) {
self.metas.push(node.meta);
visit::walk_grantee(self, node);
}
fn visit_role_spec(&mut self, node: &'ast RoleSpec) {
self.metas.push(match node {
RoleSpec::Public { meta, .. } => *meta,
RoleSpec::CurrentRole { meta, .. } => *meta,
RoleSpec::CurrentUser { meta, .. } => *meta,
RoleSpec::SessionUser { meta, .. } => *meta,
RoleSpec::Name { meta, .. } => *meta,
});
visit::walk_role_spec(self, node);
}
fn visit_create_user(&mut self, node: &'ast CreateUser) {
self.metas.push(node.meta);
visit::walk_create_user(self, node);
}
fn visit_user_spec(&mut self, node: &'ast UserSpec) {
self.metas.push(node.meta);
visit::walk_user_spec(self, node);
}
fn visit_auth_option(&mut self, node: &'ast AuthOption) {
self.metas.push(match node {
AuthOption::Password { meta, .. } => *meta,
AuthOption::RandomPassword { meta, .. } => *meta,
AuthOption::Plugin { meta, .. } => *meta,
AuthOption::PluginAs { meta, .. } => *meta,
AuthOption::PluginByPassword { meta, .. } => *meta,
AuthOption::PluginByRandomPassword { meta, .. } => *meta,
});
visit::walk_auth_option(self, node);
}
fn visit_alter_user(&mut self, node: &'ast AlterUser) {
self.metas.push(match node {
AlterUser::Modify { meta, .. } => *meta,
AlterUser::DefaultRole { meta, .. } => *meta,
});
visit::walk_alter_user(self, node);
}
fn visit_alter_user_spec(&mut self, node: &'ast AlterUserSpec) {
self.metas.push(node.meta);
visit::walk_alter_user_spec(self, node);
}
fn visit_default_role_target(&mut self, node: &'ast DefaultRoleTarget) {
self.metas.push(match node {
DefaultRoleTarget::All { meta, .. } => *meta,
DefaultRoleTarget::None { meta, .. } => *meta,
DefaultRoleTarget::Roles { meta, .. } => *meta,
});
visit::walk_default_role_target(self, node);
}
fn visit_user_role_list(&mut self, node: &'ast UserRoleList) {
self.metas.push(node.meta);
visit::walk_user_role_list(self, node);
}
fn visit_tls_requirement(&mut self, node: &'ast TlsRequirement) {
self.metas.push(match node {
TlsRequirement::None { meta, .. } => *meta,
TlsRequirement::Ssl { meta, .. } => *meta,
TlsRequirement::X509 { meta, .. } => *meta,
TlsRequirement::Options { meta, .. } => *meta,
});
visit::walk_tls_requirement(self, node);
}
fn visit_tls_option(&mut self, node: &'ast TlsOption) {
self.metas.push(match node {
TlsOption::Subject { meta, .. } => *meta,
TlsOption::Issuer { meta, .. } => *meta,
TlsOption::Cipher { meta, .. } => *meta,
});
visit::walk_tls_option(self, node);
}
fn visit_resource_limit(&mut self, node: &'ast ResourceLimit) {
self.metas.push(match node {
ResourceLimit::MaxQueriesPerHour { meta, .. } => *meta,
ResourceLimit::MaxUpdatesPerHour { meta, .. } => *meta,
ResourceLimit::MaxConnectionsPerHour { meta, .. } => *meta,
ResourceLimit::MaxUserConnections { meta, .. } => *meta,
});
visit::walk_resource_limit(self, node);
}
fn visit_password_lock_option(&mut self, node: &'ast PasswordLockOption) {
self.metas.push(match node {
PasswordLockOption::AccountLock { meta, .. } => *meta,
PasswordLockOption::AccountUnlock { meta, .. } => *meta,
PasswordLockOption::PasswordExpire { meta, .. } => *meta,
PasswordLockOption::PasswordExpireDefault { meta, .. } => *meta,
PasswordLockOption::PasswordExpireNever { meta, .. } => *meta,
PasswordLockOption::PasswordExpireInterval { meta, .. } => *meta,
PasswordLockOption::PasswordHistory { meta, .. } => *meta,
PasswordLockOption::PasswordHistoryDefault { meta, .. } => *meta,
PasswordLockOption::PasswordReuseInterval { meta, .. } => *meta,
PasswordLockOption::PasswordReuseIntervalDefault { meta, .. } => *meta,
PasswordLockOption::PasswordRequireCurrent { meta, .. } => *meta,
PasswordLockOption::PasswordRequireCurrentDefault { meta, .. } => *meta,
PasswordLockOption::PasswordRequireCurrentOptional { meta, .. } => *meta,
PasswordLockOption::FailedLoginAttempts { meta, .. } => *meta,
PasswordLockOption::PasswordLockTime { meta, .. } => *meta,
PasswordLockOption::PasswordLockTimeUnbounded { meta, .. } => *meta,
});
visit::walk_password_lock_option(self, node);
}
fn visit_user_attribute(&mut self, node: &'ast UserAttribute) {
self.metas.push(match node {
UserAttribute::Comment { meta, .. } => *meta,
UserAttribute::Attribute { meta, .. } => *meta,
});
visit::walk_user_attribute(self, node);
}
fn visit_create_table(&mut self, node: &'ast CreateTable<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_table(self, node);
}
fn visit_create_table_body(&mut self, node: &'ast CreateTableBody<NoExt>) {
self.metas.push(match node {
CreateTableBody::Definition { meta, .. } => *meta,
CreateTableBody::AsQuery { meta, .. } => *meta,
CreateTableBody::AsExecute { meta, .. } => *meta,
CreateTableBody::PartitionOf { meta, .. } => *meta,
CreateTableBody::OfType { meta, .. } => *meta,
CreateTableBody::LikeSource { meta, .. } => *meta,
});
visit::walk_create_table_body(self, node);
}
fn visit_partition_spec(&mut self, node: &'ast PartitionSpec<NoExt>) {
self.metas.push(node.meta);
visit::walk_partition_spec(self, node);
}
fn visit_partition_elem(&mut self, node: &'ast PartitionElem<NoExt>) {
self.metas.push(node.meta);
visit::walk_partition_elem(self, node);
}
fn visit_partition_bound(&mut self, node: &'ast PartitionBound<NoExt>) {
self.metas.push(match node {
PartitionBound::List { meta, .. } => *meta,
PartitionBound::Range { meta, .. } => *meta,
PartitionBound::Hash { meta, .. } => *meta,
PartitionBound::Default { meta, .. } => *meta,
});
visit::walk_partition_bound(self, node);
}
fn visit_table_element(&mut self, node: &'ast TableElement<NoExt>) {
self.metas.push(match node {
TableElement::Column { meta, .. } => *meta,
TableElement::Constraint { meta, .. } => *meta,
TableElement::Like { meta, .. } => *meta,
});
visit::walk_table_element(self, node);
}
fn visit_table_like_option(&mut self, node: &'ast TableLikeOption) {
self.metas.push(node.meta);
visit::walk_table_like_option(self, node);
}
fn visit_column_def(&mut self, node: &'ast ColumnDef<NoExt>) {
self.metas.push(node.meta);
visit::walk_column_def(self, node);
}
fn visit_column_constraint(&mut self, node: &'ast ColumnConstraint<NoExt>) {
self.metas.push(node.meta);
visit::walk_column_constraint(self, node);
}
fn visit_constraint_characteristics(&mut self, node: &'ast ConstraintCharacteristics) {
self.metas.push(node.meta);
visit::walk_constraint_characteristics(self, node);
}
fn visit_column_option(&mut self, node: &'ast ColumnOption<NoExt>) {
self.metas.push(match node {
ColumnOption::Null { meta, .. } => *meta,
ColumnOption::NotNull { meta, .. } => *meta,
ColumnOption::Default { meta, .. } => *meta,
ColumnOption::Generated { meta, .. } => *meta,
ColumnOption::Identity { meta, .. } => *meta,
ColumnOption::PrimaryKey { meta, .. } => *meta,
ColumnOption::Unique { meta, .. } => *meta,
ColumnOption::AutoIncrement { meta, .. } => *meta,
ColumnOption::Collate { meta, .. } => *meta,
ColumnOption::Check { meta, .. } => *meta,
ColumnOption::References { meta, .. } => *meta,
ColumnOption::Bare { meta, .. } => *meta,
ColumnOption::Other { meta, .. } => *meta,
});
visit::walk_column_option(self, node);
}
fn visit_foreign_key_ref(&mut self, node: &'ast ForeignKeyRef) {
self.metas.push(node.meta);
visit::walk_foreign_key_ref(self, node);
}
fn visit_referential_action(&mut self, node: &'ast ReferentialAction) {
self.metas.push(match node {
ReferentialAction::NoAction { meta, .. } => *meta,
ReferentialAction::Restrict { meta, .. } => *meta,
ReferentialAction::Cascade { meta, .. } => *meta,
ReferentialAction::SetNull { meta, .. } => *meta,
ReferentialAction::SetDefault { meta, .. } => *meta,
});
visit::walk_referential_action(self, node);
}
fn visit_generated_column(&mut self, node: &'ast GeneratedColumn<NoExt>) {
self.metas.push(node.meta);
visit::walk_generated_column(self, node);
}
fn visit_identity_column(&mut self, node: &'ast IdentityColumn<NoExt>) {
self.metas.push(node.meta);
visit::walk_identity_column(self, node);
}
fn visit_identity_option(&mut self, node: &'ast IdentityOption<NoExt>) {
self.metas.push(match node {
IdentityOption::StartWith { meta, .. } => *meta,
IdentityOption::IncrementBy { meta, .. } => *meta,
IdentityOption::MinValue { meta, .. } => *meta,
IdentityOption::MaxValue { meta, .. } => *meta,
IdentityOption::Cache { meta, .. } => *meta,
IdentityOption::Cycle { meta, .. } => *meta,
});
visit::walk_identity_option(self, node);
}
fn visit_table_constraint_def(&mut self, node: &'ast TableConstraintDef<NoExt>) {
self.metas.push(node.meta);
visit::walk_table_constraint_def(self, node);
}
fn visit_table_constraint(&mut self, node: &'ast TableConstraint<NoExt>) {
self.metas.push(match node {
TableConstraint::PrimaryKey { meta, .. } => *meta,
TableConstraint::Unique { meta, .. } => *meta,
TableConstraint::Check { meta, .. } => *meta,
TableConstraint::Exclude { meta, .. } => *meta,
TableConstraint::ForeignKey { meta, .. } => *meta,
TableConstraint::Bare { meta, .. } => *meta,
TableConstraint::Other { meta, .. } => *meta,
});
visit::walk_table_constraint(self, node);
}
fn visit_exclude_constraint(&mut self, node: &'ast ExcludeConstraint<NoExt>) {
self.metas.push(node.meta);
visit::walk_exclude_constraint(self, node);
}
fn visit_exclude_element(&mut self, node: &'ast ExcludeElement<NoExt>) {
self.metas.push(node.meta);
visit::walk_exclude_element(self, node);
}
fn visit_create_table_option(&mut self, node: &'ast CreateTableOption<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_table_option(self, node);
}
fn visit_create_table_option_kind(&mut self, node: &'ast CreateTableOptionKind<NoExt>) {
self.metas.push(match node {
CreateTableOptionKind::ColocateWith { meta, .. } => *meta,
CreateTableOptionKind::InColocationGroup { meta, .. } => *meta,
CreateTableOptionKind::With { meta, .. } => *meta,
CreateTableOptionKind::OnCommit { meta, .. } => *meta,
CreateTableOptionKind::Tablespace { meta, .. } => *meta,
CreateTableOptionKind::KeyValue { meta, .. } => *meta,
CreateTableOptionKind::WithoutRowid { meta, .. } => *meta,
CreateTableOptionKind::Strict { meta, .. } => *meta,
CreateTableOptionKind::WithoutOids { meta, .. } => *meta,
});
visit::walk_create_table_option_kind(self, node);
}
fn visit_table_option(&mut self, node: &'ast TableOption) {
self.metas.push(node.meta);
visit::walk_table_option(self, node);
}
fn visit_table_option_value(&mut self, node: &'ast TableOptionValue) {
self.metas.push(match node {
TableOptionValue::Word { meta, .. } => *meta,
TableOptionValue::String { meta, .. } => *meta,
TableOptionValue::Number { meta, .. } => *meta,
});
visit::walk_table_option_value(self, node);
}
fn visit_table_storage_parameter(&mut self, node: &'ast TableStorageParameter<NoExt>) {
self.metas.push(node.meta);
visit::walk_table_storage_parameter(self, node);
}
fn visit_alter_table(&mut self, node: &'ast AlterTable<NoExt>) {
self.metas.push(node.meta);
visit::walk_alter_table(self, node);
}
fn visit_alter_column_target(&mut self, node: &'ast AlterColumnTarget) {
self.metas.push(node.meta);
visit::walk_alter_column_target(self, node);
}
fn visit_alter_table_action(&mut self, node: &'ast AlterTableAction<NoExt>) {
self.metas.push(match node {
AlterTableAction::SetColocationGroup { meta, .. } => *meta,
AlterTableAction::DropColocationGroup { meta, .. } => *meta,
AlterTableAction::AddColumn { meta, .. } => *meta,
AlterTableAction::DropColumn { meta, .. } => *meta,
AlterTableAction::AlterColumn { meta, .. } => *meta,
AlterTableAction::AddConstraint { meta, .. } => *meta,
AlterTableAction::DropConstraint { meta, .. } => *meta,
AlterTableAction::DropPrimaryKey { meta, .. } => *meta,
AlterTableAction::SetOptions { meta, .. } => *meta,
AlterTableAction::RenameColumn { meta, .. } => *meta,
AlterTableAction::RenameConstraint { meta, .. } => *meta,
AlterTableAction::RenameTable { meta, .. } => *meta,
AlterTableAction::AttachPartition { meta, .. } => *meta,
AlterTableAction::DetachPartition { meta, .. } => *meta,
});
visit::walk_alter_table_action(self, node);
}
fn visit_alter_column_action(&mut self, node: &'ast AlterColumnAction<NoExt>) {
self.metas.push(match node {
AlterColumnAction::SetDefault { meta, .. } => *meta,
AlterColumnAction::DropDefault { meta, .. } => *meta,
AlterColumnAction::SetNotNull { meta, .. } => *meta,
AlterColumnAction::DropNotNull { meta, .. } => *meta,
AlterColumnAction::AddIdentity { meta, .. } => *meta,
AlterColumnAction::SetDataType { meta, .. } => *meta,
});
visit::walk_alter_column_action(self, node);
}
fn visit_drop_statement(&mut self, node: &'ast DropStatement) {
self.metas.push(node.meta);
visit::walk_drop_statement(self, node);
}
fn visit_drop_transform(&mut self, node: &'ast DropTransform<NoExt>) {
self.metas.push(node.meta);
visit::walk_drop_transform(self, node);
}
fn visit_comment_on_statement(&mut self, node: &'ast CommentOnStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_comment_on_statement(self, node);
}
fn visit_create_schema(&mut self, node: &'ast CreateSchema<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_schema(self, node);
}
fn visit_create_view(&mut self, node: &'ast CreateView<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_view(self, node);
}
fn visit_refresh_materialized_view(&mut self, node: &'ast RefreshMaterializedView) {
self.metas.push(node.meta);
visit::walk_refresh_materialized_view(self, node);
}
fn visit_create_colocation_group(&mut self, node: &'ast CreateColocationGroup) {
self.metas.push(node.meta);
visit::walk_create_colocation_group(self, node);
}
fn visit_drop_colocation_group(&mut self, node: &'ast DropColocationGroup) {
self.metas.push(node.meta);
visit::walk_drop_colocation_group(self, node);
}
fn visit_alter_view(&mut self, node: &'ast AlterView<NoExt>) {
self.metas.push(node.meta);
visit::walk_alter_view(self, node);
}
fn visit_create_secret(&mut self, node: &'ast CreateSecret<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_secret(self, node);
}
fn visit_secret_option(&mut self, node: &'ast SecretOption<NoExt>) {
self.metas.push(node.meta);
visit::walk_secret_option(self, node);
}
fn visit_drop_secret_stmt(&mut self, node: &'ast DropSecretStmt) {
self.metas.push(node.meta);
visit::walk_drop_secret_stmt(self, node);
}
fn visit_create_virtual_table(&mut self, node: &'ast CreateVirtualTable) {
self.metas.push(node.meta);
visit::walk_create_virtual_table(self, node);
}
fn visit_module_arg(&mut self, node: &'ast ModuleArg) {
self.metas.push(node.meta);
visit::walk_module_arg(self, node);
}
fn visit_create_index(&mut self, node: &'ast CreateIndex<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_index(self, node);
}
fn visit_index_column(&mut self, node: &'ast IndexColumn<NoExt>) {
self.metas.push(node.meta);
visit::walk_index_column(self, node);
}
fn visit_create_trigger(&mut self, node: &'ast CreateTrigger<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_trigger(self, node);
}
fn visit_trigger_event(&mut self, node: &'ast TriggerEvent) {
self.metas.push(match node {
TriggerEvent::Delete { meta, .. } => *meta,
TriggerEvent::Insert { meta, .. } => *meta,
TriggerEvent::Update { meta, .. } => *meta,
});
visit::walk_trigger_event(self, node);
}
fn visit_create_stored_trigger(&mut self, node: &'ast CreateStoredTrigger<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_stored_trigger(self, node);
}
fn visit_trigger_order(&mut self, node: &'ast TriggerOrder) {
self.metas.push(match node {
TriggerOrder::Follows { meta, .. } => *meta,
TriggerOrder::Precedes { meta, .. } => *meta,
});
visit::walk_trigger_order(self, node);
}
fn visit_create_database(&mut self, node: &'ast CreateDatabase) {
self.metas.push(node.meta);
visit::walk_create_database(self, node);
}
fn visit_create_function(&mut self, node: &'ast CreateFunction<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_function(self, node);
}
fn visit_function_param(&mut self, node: &'ast FunctionParam<NoExt>) {
self.metas.push(node.meta);
visit::walk_function_param(self, node);
}
fn visit_function_param_default(&mut self, node: &'ast FunctionParamDefault<NoExt>) {
self.metas.push(node.meta);
visit::walk_function_param_default(self, node);
}
fn visit_function_option(&mut self, node: &'ast FunctionOption<NoExt>) {
self.metas.push(match node {
FunctionOption::Language { meta, .. } => *meta,
FunctionOption::As { meta, .. } => *meta,
FunctionOption::NullBehavior { meta, .. } => *meta,
FunctionOption::Deterministic { meta, .. } => *meta,
FunctionOption::DataAccess { meta, .. } => *meta,
FunctionOption::SqlSecurity { meta, .. } => *meta,
FunctionOption::Comment { meta, .. } => *meta,
});
visit::walk_function_option(self, node);
}
fn visit_function_body(&mut self, node: &'ast FunctionBody<NoExt>) {
self.metas.push(match node {
FunctionBody::Definition { meta, .. } => *meta,
FunctionBody::Return { meta, .. } => *meta,
FunctionBody::Block { meta, .. } => *meta,
});
visit::walk_function_body(self, node);
}
fn visit_definer(&mut self, node: &'ast Definer) {
self.metas.push(match node {
Definer::Account { meta, .. } => *meta,
Definer::CurrentUser { meta, .. } => *meta,
});
visit::walk_definer(self, node);
}
fn visit_create_procedure(&mut self, node: &'ast CreateProcedure<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_procedure(self, node);
}
fn visit_alter_routine(&mut self, node: &'ast AlterRoutine<NoExt>) {
self.metas.push(node.meta);
visit::walk_alter_routine(self, node);
}
fn visit_event_schedule(&mut self, node: &'ast EventSchedule<NoExt>) {
self.metas.push(match node {
EventSchedule::At { meta, .. } => *meta,
EventSchedule::Every { meta, .. } => *meta,
});
visit::walk_event_schedule(self, node);
}
fn visit_create_event(&mut self, node: &'ast CreateEvent<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_event(self, node);
}
fn visit_alter_event(&mut self, node: &'ast AlterEvent<NoExt>) {
self.metas.push(node.meta);
visit::walk_alter_event(self, node);
}
fn visit_drop_event(&mut self, node: &'ast DropEvent) {
self.metas.push(node.meta);
visit::walk_drop_event(self, node);
}
fn visit_drop_database(&mut self, node: &'ast DropDatabase) {
self.metas.push(node.meta);
visit::walk_drop_database(self, node);
}
fn visit_drop_index_on_table(&mut self, node: &'ast DropIndexOnTable) {
self.metas.push(node.meta);
visit::walk_drop_index_on_table(self, node);
}
fn visit_create_macro(&mut self, node: &'ast CreateMacro<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_macro(self, node);
}
fn visit_macro_param(&mut self, node: &'ast MacroParam<NoExt>) {
self.metas.push(node.meta);
visit::walk_macro_param(self, node);
}
fn visit_macro_body(&mut self, node: &'ast MacroBody<NoExt>) {
self.metas.push(match node {
MacroBody::Scalar { meta, .. } => *meta,
MacroBody::Table { meta, .. } => *meta,
});
visit::walk_macro_body(self, node);
}
fn visit_create_type(&mut self, node: &'ast CreateType<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_type(self, node);
}
fn visit_create_type_definition(&mut self, node: &'ast CreateTypeDefinition<NoExt>) {
self.metas.push(match node {
CreateTypeDefinition::Enum { meta, .. } => *meta,
CreateTypeDefinition::EnumFromQuery { meta, .. } => *meta,
CreateTypeDefinition::Alias { meta, .. } => *meta,
});
visit::walk_create_type_definition(self, node);
}
fn visit_create_sequence(&mut self, node: &'ast CreateSequence<NoExt>) {
self.metas.push(node.meta);
visit::walk_create_sequence(self, node);
}
fn visit_create_extension(&mut self, node: &'ast CreateExtension) {
self.metas.push(node.meta);
visit::walk_create_extension(self, node);
}
fn visit_create_extension_option(&mut self, node: &'ast CreateExtensionOption) {
self.metas.push(match node {
CreateExtensionOption::Schema { meta, .. } => *meta,
CreateExtensionOption::Version { meta, .. } => *meta,
CreateExtensionOption::Cascade { meta, .. } => *meta,
});
visit::walk_create_extension_option(self, node);
}
fn visit_extension_version(&mut self, node: &'ast ExtensionVersion) {
self.metas.push(match node {
ExtensionVersion::Word { meta, .. } => *meta,
ExtensionVersion::String { meta, .. } => *meta,
});
visit::walk_extension_version(self, node);
}
fn visit_alter_extension(&mut self, node: &'ast AlterExtension<NoExt>) {
self.metas.push(node.meta);
visit::walk_alter_extension(self, node);
}
fn visit_alter_extension_action(&mut self, node: &'ast AlterExtensionAction<NoExt>) {
self.metas.push(match node {
AlterExtensionAction::Update { meta, .. } => *meta,
AlterExtensionAction::Change { meta, .. } => *meta,
});
visit::walk_alter_extension_action(self, node);
}
fn visit_alter_database(&mut self, node: &'ast AlterDatabase) {
self.metas.push(node.meta);
visit::walk_alter_database(self, node);
}
fn visit_alter_database_action(&mut self, node: &'ast AlterDatabaseAction) {
self.metas.push(match node {
AlterDatabaseAction::SetAlias { meta, .. } => *meta,
});
visit::walk_alter_database_action(self, node);
}
fn visit_alter_sequence(&mut self, node: &'ast AlterSequence<NoExt>) {
self.metas.push(node.meta);
visit::walk_alter_sequence(self, node);
}
fn visit_alter_sequence_option(&mut self, node: &'ast AlterSequenceOption<NoExt>) {
self.metas.push(match node {
AlterSequenceOption::Common { meta, .. } => *meta,
AlterSequenceOption::Restart { meta, .. } => *meta,
AlterSequenceOption::As { meta, .. } => *meta,
AlterSequenceOption::OwnedBy { meta, .. } => *meta,
AlterSequenceOption::SequenceName { meta, .. } => *meta,
});
visit::walk_alter_sequence_option(self, node);
}
fn visit_alter_object_schema(&mut self, node: &'ast AlterObjectSchema) {
self.metas.push(node.meta);
visit::walk_alter_object_schema(self, node);
}
fn visit_object_reference(&mut self, node: &'ast ObjectReference<NoExt>) {
self.metas.push(match node {
ObjectReference::Named { meta, .. } => *meta,
ObjectReference::Routine { meta, .. } => *meta,
ObjectReference::Aggregate { meta, .. } => *meta,
ObjectReference::Operator { meta, .. } => *meta,
ObjectReference::OperatorClass { meta, .. } => *meta,
ObjectReference::Cast { meta, .. } => *meta,
ObjectReference::Type { meta, .. } => *meta,
ObjectReference::Transform { meta, .. } => *meta,
ObjectReference::Trigger { meta, .. } => *meta,
});
visit::walk_object_reference(self, node);
}
fn visit_aggregate_args(&mut self, node: &'ast AggregateArgs<NoExt>) {
self.metas.push(match node {
AggregateArgs::Star { meta, .. } => *meta,
AggregateArgs::Types { meta, .. } => *meta,
});
visit::walk_aggregate_args(self, node);
}
fn visit_operator_args(&mut self, node: &'ast OperatorArgs<NoExt>) {
self.metas.push(node.meta);
visit::walk_operator_args(self, node);
}
fn visit_alter_object_depends(&mut self, node: &'ast AlterObjectDepends<NoExt>) {
self.metas.push(node.meta);
visit::walk_alter_object_depends(self, node);
}
fn visit_create_server(&mut self, node: &'ast CreateServer) {
self.metas.push(node.meta);
visit::walk_create_server(self, node);
}
fn visit_alter_server(&mut self, node: &'ast AlterServer) {
self.metas.push(node.meta);
visit::walk_alter_server(self, node);
}
fn visit_drop_server(&mut self, node: &'ast DropServer) {
self.metas.push(node.meta);
visit::walk_drop_server(self, node);
}
fn visit_server_option(&mut self, node: &'ast ServerOption) {
self.metas.push(node.meta);
visit::walk_server_option(self, node);
}
fn visit_alter_instance(&mut self, node: &'ast AlterInstance) {
self.metas.push(node.meta);
visit::walk_alter_instance(self, node);
}
fn visit_alter_instance_action(&mut self, node: &'ast AlterInstanceAction) {
self.metas.push(match node {
AlterInstanceAction::RotateInnodbMasterKey { meta, .. } => *meta,
AlterInstanceAction::RotateBinlogMasterKey { meta, .. } => *meta,
AlterInstanceAction::ReloadTls { meta, .. } => *meta,
AlterInstanceAction::ReloadKeyring { meta, .. } => *meta,
AlterInstanceAction::EnableInnodbRedoLog { meta, .. } => *meta,
AlterInstanceAction::DisableInnodbRedoLog { meta, .. } => *meta,
});
visit::walk_alter_instance_action(self, node);
}
fn visit_create_spatial_reference_system(&mut self, node: &'ast CreateSpatialReferenceSystem) {
self.metas.push(node.meta);
visit::walk_create_spatial_reference_system(self, node);
}
fn visit_srs_attribute(&mut self, node: &'ast SrsAttribute) {
self.metas.push(match node {
SrsAttribute::Name { meta, .. } => *meta,
SrsAttribute::Definition { meta, .. } => *meta,
SrsAttribute::Organization { meta, .. } => *meta,
SrsAttribute::Description { meta, .. } => *meta,
});
visit::walk_srs_attribute(self, node);
}
fn visit_drop_spatial_reference_system(&mut self, node: &'ast DropSpatialReferenceSystem) {
self.metas.push(node.meta);
visit::walk_drop_spatial_reference_system(self, node);
}
fn visit_create_resource_group(&mut self, node: &'ast CreateResourceGroup) {
self.metas.push(node.meta);
visit::walk_create_resource_group(self, node);
}
fn visit_alter_resource_group(&mut self, node: &'ast AlterResourceGroup) {
self.metas.push(node.meta);
visit::walk_alter_resource_group(self, node);
}
fn visit_drop_resource_group(&mut self, node: &'ast DropResourceGroup) {
self.metas.push(node.meta);
visit::walk_drop_resource_group(self, node);
}
fn visit_resource_group_vcpu(&mut self, node: &'ast ResourceGroupVcpu) {
self.metas.push(node.meta);
visit::walk_resource_group_vcpu(self, node);
}
fn visit_vcpu_range(&mut self, node: &'ast VcpuRange) {
self.metas.push(node.meta);
visit::walk_vcpu_range(self, node);
}
fn visit_resource_group_thread_priority(&mut self, node: &'ast ResourceGroupThreadPriority) {
self.metas.push(node.meta);
visit::walk_resource_group_thread_priority(self, node);
}
fn visit_alter_database_options(&mut self, node: &'ast AlterDatabaseOptions) {
self.metas.push(node.meta);
visit::walk_alter_database_options(self, node);
}
fn visit_alter_database_option(&mut self, node: &'ast AlterDatabaseOption) {
self.metas.push(match node {
AlterDatabaseOption::CharacterSet { meta, .. } => *meta,
AlterDatabaseOption::Collate { meta, .. } => *meta,
AlterDatabaseOption::Encryption { meta, .. } => *meta,
AlterDatabaseOption::ReadOnly { meta, .. } => *meta,
});
visit::walk_alter_database_option(self, node);
}
fn visit_size_literal(&mut self, node: &'ast SizeLiteral) {
self.metas.push(node.meta);
visit::walk_size_literal(self, node);
}
fn visit_tablespace_option(&mut self, node: &'ast TablespaceOption) {
self.metas.push(match node {
TablespaceOption::Size { meta, .. } => *meta,
TablespaceOption::Nodegroup { meta, .. } => *meta,
TablespaceOption::Engine { meta, .. } => *meta,
TablespaceOption::Wait { meta, .. } => *meta,
TablespaceOption::Comment { meta, .. } => *meta,
TablespaceOption::Encryption { meta, .. } => *meta,
TablespaceOption::EngineAttribute { meta, .. } => *meta,
});
visit::walk_tablespace_option(self, node);
}
fn visit_create_tablespace(&mut self, node: &'ast CreateTablespace) {
self.metas.push(node.meta);
visit::walk_create_tablespace(self, node);
}
fn visit_alter_tablespace(&mut self, node: &'ast AlterTablespace) {
self.metas.push(node.meta);
visit::walk_alter_tablespace(self, node);
}
fn visit_alter_tablespace_action(&mut self, node: &'ast AlterTablespaceAction) {
self.metas.push(match node {
AlterTablespaceAction::AddDatafile { meta, .. } => *meta,
AlterTablespaceAction::DropDatafile { meta, .. } => *meta,
AlterTablespaceAction::Rename { meta, .. } => *meta,
AlterTablespaceAction::Options { meta, .. } => *meta,
AlterTablespaceAction::SetState { meta, .. } => *meta,
});
visit::walk_alter_tablespace_action(self, node);
}
fn visit_drop_tablespace(&mut self, node: &'ast DropTablespace) {
self.metas.push(node.meta);
visit::walk_drop_tablespace(self, node);
}
fn visit_create_logfile_group(&mut self, node: &'ast CreateLogfileGroup) {
self.metas.push(node.meta);
visit::walk_create_logfile_group(self, node);
}
fn visit_alter_logfile_group(&mut self, node: &'ast AlterLogfileGroup) {
self.metas.push(node.meta);
visit::walk_alter_logfile_group(self, node);
}
fn visit_drop_logfile_group(&mut self, node: &'ast DropLogfileGroup) {
self.metas.push(node.meta);
visit::walk_drop_logfile_group(self, node);
}
fn visit_insert(&mut self, node: &'ast Insert<NoExt>) {
self.metas.push(node.meta);
visit::walk_insert(self, node);
}
fn visit_insert_target(&mut self, node: &'ast InsertTarget) {
self.metas.push(node.meta);
visit::walk_insert_target(self, node);
}
fn visit_insert_source(&mut self, node: &'ast InsertSource<NoExt>) {
self.metas.push(match node {
InsertSource::DefaultValues { meta, .. } => *meta,
InsertSource::Values { meta, .. } => *meta,
InsertSource::Query { meta, .. } => *meta,
InsertSource::Set { meta, .. } => *meta,
});
visit::walk_insert_source(self, node);
}
fn visit_insert_values(&mut self, node: &'ast InsertValues<NoExt>) {
self.metas.push(node.meta);
visit::walk_insert_values(self, node);
}
fn visit_insert_value(&mut self, node: &'ast InsertValue<NoExt>) {
self.metas.push(match node {
InsertValue::Expr { meta, .. } => *meta,
InsertValue::Default { meta, .. } => *meta,
});
visit::walk_insert_value(self, node);
}
fn visit_dml_target(&mut self, node: &'ast DmlTarget) {
self.metas.push(node.meta);
visit::walk_dml_target(self, node);
}
fn visit_update(&mut self, node: &'ast Update<NoExt>) {
self.metas.push(node.meta);
visit::walk_update(self, node);
}
fn visit_update_assignment(&mut self, node: &'ast UpdateAssignment<NoExt>) {
self.metas.push(match node {
UpdateAssignment::Single { meta, .. } => *meta,
UpdateAssignment::Tuple { meta, .. } => *meta,
});
visit::walk_update_assignment(self, node);
}
fn visit_update_value(&mut self, node: &'ast UpdateValue<NoExt>) {
self.metas.push(match node {
UpdateValue::Expr { meta, .. } => *meta,
UpdateValue::Default { meta, .. } => *meta,
});
visit::walk_update_value(self, node);
}
fn visit_update_tuple_source(&mut self, node: &'ast UpdateTupleSource<NoExt>) {
self.metas.push(match node {
UpdateTupleSource::Row { meta, .. } => *meta,
UpdateTupleSource::Subquery { meta, .. } => *meta,
UpdateTupleSource::Default { meta, .. } => *meta,
});
visit::walk_update_tuple_source(self, node);
}
fn visit_delete(&mut self, node: &'ast Delete<NoExt>) {
self.metas.push(node.meta);
visit::walk_delete(self, node);
}
fn visit_dml_selection(&mut self, node: &'ast DmlSelection<NoExt>) {
self.metas.push(match node {
DmlSelection::Where { meta, .. } => *meta,
DmlSelection::CurrentOf { meta, .. } => *meta,
});
visit::walk_dml_selection(self, node);
}
fn visit_default_value(&mut self, node: &'ast DefaultValue) {
self.metas.push(node.meta);
visit::walk_default_value(self, node);
}
fn visit_returning(&mut self, node: &'ast Returning<NoExt>) {
self.metas.push(node.meta);
visit::walk_returning(self, node);
}
fn visit_upsert(&mut self, node: &'ast Upsert<NoExt>) {
self.metas.push(match node {
Upsert::OnConflict { meta, .. } => *meta,
Upsert::OnDuplicateKeyUpdate { meta, .. } => *meta,
});
visit::walk_upsert(self, node);
}
fn visit_on_conflict(&mut self, node: &'ast OnConflict<NoExt>) {
self.metas.push(node.meta);
visit::walk_on_conflict(self, node);
}
fn visit_conflict_target(&mut self, node: &'ast ConflictTarget<NoExt>) {
self.metas.push(match node {
ConflictTarget::Index { meta, .. } => *meta,
ConflictTarget::Constraint { meta, .. } => *meta,
});
visit::walk_conflict_target(self, node);
}
fn visit_conflict_action(&mut self, node: &'ast ConflictAction<NoExt>) {
self.metas.push(match node {
ConflictAction::Nothing { meta, .. } => *meta,
ConflictAction::Update { meta, .. } => *meta,
});
visit::walk_conflict_action(self, node);
}
fn visit_merge(&mut self, node: &'ast Merge<NoExt>) {
self.metas.push(node.meta);
visit::walk_merge(self, node);
}
fn visit_merge_when_clause(&mut self, node: &'ast MergeWhenClause<NoExt>) {
self.metas.push(node.meta);
visit::walk_merge_when_clause(self, node);
}
fn visit_merge_action(&mut self, node: &'ast MergeAction<NoExt>) {
self.metas.push(match node {
MergeAction::Insert { meta, .. } => *meta,
MergeAction::InsertDefault { meta, .. } => *meta,
MergeAction::Update { meta, .. } => *meta,
MergeAction::UpdateStar { meta, .. } => *meta,
MergeAction::InsertStar { meta, .. } => *meta,
MergeAction::InsertByName { meta, .. } => *meta,
MergeAction::Error { meta, .. } => *meta,
MergeAction::Delete { meta, .. } => *meta,
MergeAction::DoNothing { meta, .. } => *meta,
});
visit::walk_merge_action(self, node);
}
fn visit_expr(&mut self, node: &'ast Expr<NoExt>) {
self.metas.push(match node {
Expr::Column { meta, .. } => *meta,
Expr::Literal { meta, .. } => *meta,
Expr::BinaryOp { meta, .. } => *meta,
Expr::UnaryOp { meta, .. } => *meta,
Expr::Function { meta, .. } => *meta,
Expr::Case { meta, .. } => *meta,
Expr::Extract { meta, .. } => *meta,
Expr::Cast { meta, .. } => *meta,
Expr::IsNull { meta, .. } => *meta,
Expr::IsTruth { meta, .. } => *meta,
Expr::IsNormalized { meta, .. } => *meta,
Expr::Between { meta, .. } => *meta,
Expr::Like { meta, .. } => *meta,
Expr::InList { meta, .. } => *meta,
Expr::InSubquery { meta, .. } => *meta,
Expr::InExpr { meta, .. } => *meta,
Expr::Exists { meta, .. } => *meta,
Expr::QuantifiedComparison { meta, .. } => *meta,
Expr::QuantifiedList { meta, .. } => *meta,
Expr::QuantifiedLike { meta, .. } => *meta,
Expr::Subquery { meta, .. } => *meta,
Expr::Parameter { meta, .. } => *meta,
Expr::PositionalColumn { meta, .. } => *meta,
Expr::SessionVariable { meta, .. } => *meta,
Expr::Subscript { meta, .. } => *meta,
Expr::SemiStructuredAccess { meta, .. } => *meta,
Expr::Collate { meta, .. } => *meta,
Expr::Interval { meta, .. } => *meta,
Expr::AtTimeZone { meta, .. } => *meta,
Expr::Array { meta, .. } => *meta,
Expr::Struct { meta, .. } => *meta,
Expr::StructConstructor { meta, .. } => *meta,
Expr::Map { meta, .. } => *meta,
Expr::Row { meta, .. } => *meta,
Expr::FieldSelection { meta, .. } => *meta,
Expr::NamedOperator { meta, .. } => *meta,
Expr::PrefixOperator { meta, .. } => *meta,
Expr::PostfixOperator { meta, .. } => *meta,
Expr::Lambda { meta, .. } => *meta,
Expr::Columns { meta, .. } => *meta,
Expr::SpecialFunction { meta, .. } => *meta,
Expr::JsonFunc { meta, .. } => *meta,
Expr::JsonObject { meta, .. } => *meta,
Expr::JsonArray { meta, .. } => *meta,
Expr::JsonAggregate { meta, .. } => *meta,
Expr::JsonConstructor { meta, .. } => *meta,
Expr::IsJson { meta, .. } => *meta,
Expr::XmlFunc { meta, .. } => *meta,
Expr::IsDocument { meta, .. } => *meta,
Expr::StringFunc { meta, .. } => *meta,
Expr::Other { meta, .. } => *meta,
});
visit::walk_expr(self, node);
}
fn visit_subscript_expr(&mut self, node: &'ast SubscriptExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_subscript_expr(self, node);
}
fn visit_semi_structured_access_expr(&mut self, node: &'ast SemiStructuredAccessExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_semi_structured_access_expr(self, node);
}
fn visit_semi_structured_path_segment(&mut self, node: &'ast SemiStructuredPathSegment<NoExt>) {
self.metas.push(match node {
SemiStructuredPathSegment::Key { meta, .. } => *meta,
SemiStructuredPathSegment::Index { meta, .. } => *meta,
});
visit::walk_semi_structured_path_segment(self, node);
}
fn visit_collate_expr(&mut self, node: &'ast CollateExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_collate_expr(self, node);
}
fn visit_at_time_zone_expr(&mut self, node: &'ast AtTimeZoneExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_at_time_zone_expr(self, node);
}
fn visit_array_expr(&mut self, node: &'ast ArrayExpr<NoExt>) {
self.metas.push(match node {
ArrayExpr::Elements { meta, .. } => *meta,
ArrayExpr::Subquery { meta, .. } => *meta,
ArrayExpr::Comprehension { meta, .. } => *meta,
});
visit::walk_array_expr(self, node);
}
fn visit_list_comprehension(&mut self, node: &'ast ListComprehension<NoExt>) {
self.metas.push(node.meta);
visit::walk_list_comprehension(self, node);
}
fn visit_comprehension_source(&mut self, node: &'ast ComprehensionSource<NoExt>) {
self.metas.push(match node {
ComprehensionSource::Expr { meta, .. } => *meta,
ComprehensionSource::Star { meta, .. } => *meta,
});
visit::walk_comprehension_source(self, node);
}
fn visit_struct_expr(&mut self, node: &'ast StructExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_struct_expr(self, node);
}
fn visit_struct_field(&mut self, node: &'ast StructField<NoExt>) {
self.metas.push(node.meta);
visit::walk_struct_field(self, node);
}
fn visit_struct_constructor_expr(&mut self, node: &'ast StructConstructorExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_struct_constructor_expr(self, node);
}
fn visit_struct_constructor_field(&mut self, node: &'ast StructConstructorField<NoExt>) {
self.metas.push(node.meta);
visit::walk_struct_constructor_field(self, node);
}
fn visit_struct_constructor_arg(&mut self, node: &'ast StructConstructorArg<NoExt>) {
self.metas.push(node.meta);
visit::walk_struct_constructor_arg(self, node);
}
fn visit_map_expr(&mut self, node: &'ast MapExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_map_expr(self, node);
}
fn visit_map_entry(&mut self, node: &'ast MapEntry<NoExt>) {
self.metas.push(node.meta);
visit::walk_map_entry(self, node);
}
fn visit_row_expr(&mut self, node: &'ast RowExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_row_expr(self, node);
}
fn visit_field_selection_expr(&mut self, node: &'ast FieldSelectionExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_field_selection_expr(self, node);
}
fn visit_field_selector(&mut self, node: &'ast FieldSelector) {
self.metas.push(match node {
FieldSelector::Field { meta, .. } => *meta,
FieldSelector::Star { meta, .. } => *meta,
});
visit::walk_field_selector(self, node);
}
fn visit_named_operator_expr(&mut self, node: &'ast NamedOperatorExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_named_operator_expr(self, node);
}
fn visit_prefix_operator_expr(&mut self, node: &'ast PrefixOperatorExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_prefix_operator_expr(self, node);
}
fn visit_postfix_operator_expr(&mut self, node: &'ast PostfixOperatorExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_postfix_operator_expr(self, node);
}
fn visit_lambda_expr(&mut self, node: &'ast LambdaExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_lambda_expr(self, node);
}
fn visit_function_call(&mut self, node: &'ast FunctionCall<NoExt>) {
self.metas.push(node.meta);
visit::walk_function_call(self, node);
}
fn visit_function_arg(&mut self, node: &'ast FunctionArg<NoExt>) {
self.metas.push(node.meta);
visit::walk_function_arg(self, node);
}
fn visit_case_expr(&mut self, node: &'ast CaseExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_case_expr(self, node);
}
fn visit_when_clause(&mut self, node: &'ast WhenClause<NoExt>) {
self.metas.push(node.meta);
visit::walk_when_clause(self, node);
}
fn visit_extract_expr(&mut self, node: &'ast ExtractExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_extract_expr(self, node);
}
fn visit_json_value_expr(&mut self, node: &'ast JsonValueExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_value_expr(self, node);
}
fn visit_json_returning(&mut self, node: &'ast JsonReturning<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_returning(self, node);
}
fn visit_json_passing_arg(&mut self, node: &'ast JsonPassingArg<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_passing_arg(self, node);
}
fn visit_json_behavior(&mut self, node: &'ast JsonBehavior<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_behavior(self, node);
}
fn visit_json_func_expr(&mut self, node: &'ast JsonFuncExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_func_expr(self, node);
}
fn visit_json_key_value(&mut self, node: &'ast JsonKeyValue<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_key_value(self, node);
}
fn visit_json_object_expr(&mut self, node: &'ast JsonObjectExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_object_expr(self, node);
}
fn visit_json_array_body(&mut self, node: &'ast JsonArrayBody<NoExt>) {
self.metas.push(match node {
JsonArrayBody::Values { meta, .. } => *meta,
JsonArrayBody::Query { meta, .. } => *meta,
});
visit::walk_json_array_body(self, node);
}
fn visit_json_array_expr(&mut self, node: &'ast JsonArrayExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_array_expr(self, node);
}
fn visit_json_aggregate_body(&mut self, node: &'ast JsonAggregateBody<NoExt>) {
self.metas.push(match node {
JsonAggregateBody::Object { meta, .. } => *meta,
JsonAggregateBody::Array { meta, .. } => *meta,
});
visit::walk_json_aggregate_body(self, node);
}
fn visit_json_aggregate_expr(&mut self, node: &'ast JsonAggregateExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_aggregate_expr(self, node);
}
fn visit_json_constructor_expr(&mut self, node: &'ast JsonConstructorExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_constructor_expr(self, node);
}
fn visit_is_json_expr(&mut self, node: &'ast IsJsonExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_is_json_expr(self, node);
}
fn visit_xml_func(&mut self, node: &'ast XmlFunc<NoExt>) {
self.metas.push(match node {
XmlFunc::Element { meta, .. } => *meta,
XmlFunc::Forest { meta, .. } => *meta,
XmlFunc::Concat { meta, .. } => *meta,
XmlFunc::Parse { meta, .. } => *meta,
XmlFunc::Pi { meta, .. } => *meta,
XmlFunc::Root { meta, .. } => *meta,
XmlFunc::Serialize { meta, .. } => *meta,
XmlFunc::Exists { meta, .. } => *meta,
});
visit::walk_xml_func(self, node);
}
fn visit_xml_attribute(&mut self, node: &'ast XmlAttribute<NoExt>) {
self.metas.push(node.meta);
visit::walk_xml_attribute(self, node);
}
fn visit_string_func(&mut self, node: &'ast StringFunc<NoExt>) {
self.metas.push(match node {
StringFunc::Substring { meta, .. } => *meta,
StringFunc::SubstringSimilar { meta, .. } => *meta,
StringFunc::Position { meta, .. } => *meta,
StringFunc::Overlay { meta, .. } => *meta,
StringFunc::Trim { meta, .. } => *meta,
StringFunc::CollationFor { meta, .. } => *meta,
StringFunc::ConvertUsing { meta, .. } => *meta,
StringFunc::MatchAgainst { meta, .. } => *meta,
StringFunc::CeilTo { meta, .. } => *meta,
StringFunc::FloorTo { meta, .. } => *meta,
});
visit::walk_string_func(self, node);
}
fn visit_ident(&mut self, node: &'ast Ident) {
self.metas.push(node.meta);
visit::walk_ident(self, node);
}
fn visit_literal(&mut self, node: &'ast Literal) {
self.metas.push(node.meta);
visit::walk_literal(self, node);
}
fn visit_match_recognize(&mut self, node: &'ast MatchRecognize<NoExt>) {
self.metas.push(node.meta);
visit::walk_match_recognize(self, node);
}
fn visit_measure(&mut self, node: &'ast Measure<NoExt>) {
self.metas.push(node.meta);
visit::walk_measure(self, node);
}
fn visit_after_match_skip(&mut self, node: &'ast AfterMatchSkip) {
self.metas.push(match node {
AfterMatchSkip::PastLastRow { meta, .. } => *meta,
AfterMatchSkip::ToNextRow { meta, .. } => *meta,
AfterMatchSkip::ToFirst { meta, .. } => *meta,
AfterMatchSkip::ToLast { meta, .. } => *meta,
});
visit::walk_after_match_skip(self, node);
}
fn visit_subset_definition(&mut self, node: &'ast SubsetDefinition) {
self.metas.push(node.meta);
visit::walk_subset_definition(self, node);
}
fn visit_symbol_definition(&mut self, node: &'ast SymbolDefinition<NoExt>) {
self.metas.push(node.meta);
visit::walk_symbol_definition(self, node);
}
fn visit_match_recognize_pattern(&mut self, node: &'ast MatchRecognizePattern) {
self.metas.push(match node {
MatchRecognizePattern::Symbol { meta, .. } => *meta,
MatchRecognizePattern::Start { meta, .. } => *meta,
MatchRecognizePattern::End { meta, .. } => *meta,
MatchRecognizePattern::Concat { meta, .. } => *meta,
MatchRecognizePattern::Alternation { meta, .. } => *meta,
MatchRecognizePattern::Group { meta, .. } => *meta,
MatchRecognizePattern::Exclude { meta, .. } => *meta,
MatchRecognizePattern::Permute { meta, .. } => *meta,
MatchRecognizePattern::Repetition { meta, .. } => *meta,
});
visit::walk_match_recognize_pattern(self, node);
}
fn visit_pipe_operator(&mut self, node: &'ast PipeOperator<NoExt>) {
self.metas.push(match node {
PipeOperator::Where { meta, .. } => *meta,
PipeOperator::Select { meta, .. } => *meta,
PipeOperator::Extend { meta, .. } => *meta,
PipeOperator::As { meta, .. } => *meta,
PipeOperator::OrderBy { meta, .. } => *meta,
PipeOperator::Limit { meta, .. } => *meta,
PipeOperator::Join { meta, .. } => *meta,
PipeOperator::SetOperation { meta, .. } => *meta,
PipeOperator::Set { meta, .. } => *meta,
PipeOperator::Call { meta, .. } => *meta,
PipeOperator::Aggregate { meta, .. } => *meta,
PipeOperator::Drop { meta, .. } => *meta,
PipeOperator::Rename { meta, .. } => *meta,
PipeOperator::Pivot { meta, .. } => *meta,
PipeOperator::Unpivot { meta, .. } => *meta,
PipeOperator::TableSample { meta, .. } => *meta,
});
visit::walk_pipe_operator(self, node);
}
fn visit_pipe_aggregate_expr(&mut self, node: &'ast PipeAggregateExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_pipe_aggregate_expr(self, node);
}
fn visit_pipe_rename_item(&mut self, node: &'ast PipeRenameItem) {
self.metas.push(node.meta);
visit::walk_pipe_rename_item(self, node);
}
fn visit_pivot(&mut self, node: &'ast Pivot<NoExt>) {
self.metas.push(node.meta);
visit::walk_pivot(self, node);
}
fn visit_unpivot(&mut self, node: &'ast Unpivot<NoExt>) {
self.metas.push(node.meta);
visit::walk_unpivot(self, node);
}
fn visit_pivot_expr(&mut self, node: &'ast PivotExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_pivot_expr(self, node);
}
fn visit_pivot_column(&mut self, node: &'ast PivotColumn<NoExt>) {
self.metas.push(node.meta);
visit::walk_pivot_column(self, node);
}
fn visit_pivot_value_source(&mut self, node: &'ast PivotValueSource<NoExt>) {
self.metas.push(match node {
PivotValueSource::Any { meta, .. } => *meta,
PivotValueSource::Subquery { meta, .. } => *meta,
});
visit::walk_pivot_value_source(self, node);
}
fn visit_unpivot_column(&mut self, node: &'ast UnpivotColumn<NoExt>) {
self.metas.push(node.meta);
visit::walk_unpivot_column(self, node);
}
fn visit_query(&mut self, node: &'ast Query<NoExt>) {
self.metas.push(node.meta);
visit::walk_query(self, node);
}
fn visit_locking_clause(&mut self, node: &'ast LockingClause) {
self.metas.push(node.meta);
visit::walk_locking_clause(self, node);
}
fn visit_set_expr(&mut self, node: &'ast SetExpr<NoExt>) {
self.metas.push(match node {
SetExpr::Select { meta, .. } => *meta,
SetExpr::Values { meta, .. } => *meta,
SetExpr::Query { meta, .. } => *meta,
SetExpr::SetOperation { meta, .. } => *meta,
SetExpr::Pivot { meta, .. } => *meta,
SetExpr::Unpivot { meta, .. } => *meta,
});
visit::walk_set_expr(self, node);
}
fn visit_with(&mut self, node: &'ast With<NoExt>) {
self.metas.push(node.meta);
visit::walk_with(self, node);
}
fn visit_cte(&mut self, node: &'ast Cte<NoExt>) {
self.metas.push(node.meta);
visit::walk_cte(self, node);
}
fn visit_cte_search_clause(&mut self, node: &'ast CteSearchClause) {
self.metas.push(node.meta);
visit::walk_cte_search_clause(self, node);
}
fn visit_cte_cycle_clause(&mut self, node: &'ast CteCycleClause<NoExt>) {
self.metas.push(node.meta);
visit::walk_cte_cycle_clause(self, node);
}
fn visit_cte_cycle_mark(&mut self, node: &'ast CteCycleMark<NoExt>) {
self.metas.push(node.meta);
visit::walk_cte_cycle_mark(self, node);
}
fn visit_cte_body(&mut self, node: &'ast CteBody<NoExt>) {
self.metas.push(match node {
CteBody::Query { meta, .. } => *meta,
CteBody::Insert { meta, .. } => *meta,
CteBody::Update { meta, .. } => *meta,
CteBody::Delete { meta, .. } => *meta,
CteBody::Merge { meta, .. } => *meta,
});
visit::walk_cte_body(self, node);
}
fn visit_values(&mut self, node: &'ast Values<NoExt>) {
self.metas.push(node.meta);
visit::walk_values(self, node);
}
fn visit_values_item(&mut self, node: &'ast ValuesItem<NoExt>) {
self.metas.push(match node {
ValuesItem::Expr { meta, .. } => *meta,
ValuesItem::Default { meta, .. } => *meta,
});
visit::walk_values_item(self, node);
}
fn visit_select(&mut self, node: &'ast Select<NoExt>) {
self.metas.push(node.meta);
visit::walk_select(self, node);
}
fn visit_into_target(&mut self, node: &'ast IntoTarget) {
self.metas.push(node.meta);
visit::walk_into_target(self, node);
}
fn visit_group_by_item(&mut self, node: &'ast GroupByItem<NoExt>) {
self.metas.push(match node {
GroupByItem::Expr { meta, .. } => *meta,
GroupByItem::Rollup { meta, .. } => *meta,
GroupByItem::Cube { meta, .. } => *meta,
GroupByItem::GroupingSets { meta, .. } => *meta,
GroupByItem::Empty { meta, .. } => *meta,
});
visit::walk_group_by_item(self, node);
}
fn visit_select_item(&mut self, node: &'ast SelectItem<NoExt>) {
self.metas.push(match node {
SelectItem::Wildcard { meta, .. } => *meta,
SelectItem::QualifiedWildcard { meta, .. } => *meta,
SelectItem::Expr { meta, .. } => *meta,
});
visit::walk_select_item(self, node);
}
fn visit_wildcard_options(&mut self, node: &'ast WildcardOptions<NoExt>) {
self.metas.push(node.meta);
visit::walk_wildcard_options(self, node);
}
fn visit_wildcard_replace(&mut self, node: &'ast WildcardReplace<NoExt>) {
self.metas.push(node.meta);
visit::walk_wildcard_replace(self, node);
}
fn visit_wildcard_rename(&mut self, node: &'ast WildcardRename) {
self.metas.push(node.meta);
visit::walk_wildcard_rename(self, node);
}
fn visit_select_distinct(&mut self, node: &'ast SelectDistinct<NoExt>) {
self.metas.push(match node {
SelectDistinct::Quantifier { meta, .. } => *meta,
SelectDistinct::On { meta, .. } => *meta,
});
visit::walk_select_distinct(self, node);
}
fn visit_table_with_joins(&mut self, node: &'ast TableWithJoins<NoExt>) {
self.metas.push(node.meta);
visit::walk_table_with_joins(self, node);
}
fn visit_table_alias(&mut self, node: &'ast TableAlias) {
self.metas.push(node.meta);
visit::walk_table_alias(self, node);
}
fn visit_table_sample(&mut self, node: &'ast TableSample<NoExt>) {
self.metas.push(node.meta);
visit::walk_table_sample(self, node);
}
fn visit_table_version(&mut self, node: &'ast TableVersion<NoExt>) {
self.metas.push(match node {
TableVersion::ForSystemTimeAsOf { meta, .. } => *meta,
TableVersion::ForSystemTimeFromTo { meta, .. } => *meta,
TableVersion::ForSystemTimeBetween { meta, .. } => *meta,
TableVersion::ForSystemTimeContainedIn { meta, .. } => *meta,
TableVersion::ForSystemTimeAll { meta, .. } => *meta,
TableVersion::VersionAsOf { meta, .. } => *meta,
TableVersion::TimestampAsOf { meta, .. } => *meta,
});
visit::walk_table_version(self, node);
}
fn visit_sample_clause(&mut self, node: &'ast SampleClause) {
self.metas.push(node.meta);
visit::walk_sample_clause(self, node);
}
fn visit_table_function_column(&mut self, node: &'ast TableFunctionColumn<NoExt>) {
self.metas.push(node.meta);
visit::walk_table_function_column(self, node);
}
fn visit_rows_from_item(&mut self, node: &'ast RowsFromItem<NoExt>) {
self.metas.push(node.meta);
visit::walk_rows_from_item(self, node);
}
fn visit_index_hint(&mut self, node: &'ast IndexHint) {
self.metas.push(node.meta);
visit::walk_index_hint(self, node);
}
fn visit_indexed_by(&mut self, node: &'ast IndexedBy) {
self.metas.push(match node {
IndexedBy::Named { meta, .. } => *meta,
IndexedBy::NotIndexed { meta, .. } => *meta,
});
visit::walk_indexed_by(self, node);
}
fn visit_table_hint(&mut self, node: &'ast TableHint) {
self.metas.push(match node {
TableHint::Keyword { meta, .. } => *meta,
TableHint::Index { meta, .. } => *meta,
TableHint::ForceSeek { meta, .. } => *meta,
TableHint::Other { meta, .. } => *meta,
});
visit::walk_table_hint(self, node);
}
fn visit_force_seek_target(&mut self, node: &'ast ForceSeekTarget) {
self.metas.push(node.meta);
visit::walk_force_seek_target(self, node);
}
fn visit_table_factor(&mut self, node: &'ast TableFactor<NoExt>) {
self.metas.push(match node {
TableFactor::Table { meta, .. } => *meta,
TableFactor::Derived { meta, .. } => *meta,
TableFactor::Function { meta, .. } => *meta,
TableFactor::RowsFrom { meta, .. } => *meta,
TableFactor::Unnest { meta, .. } => *meta,
TableFactor::NestedJoin { meta, .. } => *meta,
TableFactor::SpecialFunction { meta, .. } => *meta,
TableFactor::Pivot { meta, .. } => *meta,
TableFactor::Unpivot { meta, .. } => *meta,
TableFactor::MatchRecognize { meta, .. } => *meta,
TableFactor::ShowRef { meta, .. } => *meta,
TableFactor::JsonTable { meta, .. } => *meta,
TableFactor::XmlTable { meta, .. } => *meta,
TableFactor::OpenJson { meta, .. } => *meta,
TableFactor::TableExpr { meta, .. } => *meta,
TableFactor::Other { meta, .. } => *meta,
});
visit::walk_table_factor(self, node);
}
fn visit_show_ref(&mut self, node: &'ast ShowRef<NoExt>) {
self.metas.push(node.meta);
visit::walk_show_ref(self, node);
}
fn visit_show_ref_target(&mut self, node: &'ast ShowRefTarget<NoExt>) {
self.metas.push(match node {
ShowRefTarget::Empty { meta, .. } => *meta,
ShowRefTarget::Query { meta, .. } => *meta,
ShowRefTarget::Name { meta, .. } => *meta,
});
visit::walk_show_ref_target(self, node);
}
fn visit_json_table(&mut self, node: &'ast JsonTable<NoExt>) {
self.metas.push(node.meta);
visit::walk_json_table(self, node);
}
fn visit_json_table_column(&mut self, node: &'ast JsonTableColumn<NoExt>) {
self.metas.push(match node {
JsonTableColumn::ForOrdinality { meta, .. } => *meta,
JsonTableColumn::Regular { meta, .. } => *meta,
JsonTableColumn::Exists { meta, .. } => *meta,
JsonTableColumn::Nested { meta, .. } => *meta,
});
visit::walk_json_table_column(self, node);
}
fn visit_xml_table(&mut self, node: &'ast XmlTable<NoExt>) {
self.metas.push(node.meta);
visit::walk_xml_table(self, node);
}
fn visit_xml_namespace(&mut self, node: &'ast XmlNamespace<NoExt>) {
self.metas.push(node.meta);
visit::walk_xml_namespace(self, node);
}
fn visit_xml_table_column(&mut self, node: &'ast XmlTableColumn<NoExt>) {
self.metas.push(match node {
XmlTableColumn::ForOrdinality { meta, .. } => *meta,
XmlTableColumn::Regular { meta, .. } => *meta,
});
visit::walk_xml_table_column(self, node);
}
fn visit_open_json(&mut self, node: &'ast OpenJson<NoExt>) {
self.metas.push(node.meta);
visit::walk_open_json(self, node);
}
fn visit_open_json_column(&mut self, node: &'ast OpenJsonColumn<NoExt>) {
self.metas.push(node.meta);
visit::walk_open_json_column(self, node);
}
fn visit_join(&mut self, node: &'ast Join<NoExt>) {
self.metas.push(node.meta);
visit::walk_join(self, node);
}
fn visit_join_operator(&mut self, node: &'ast JoinOperator<NoExt>) {
self.metas.push(match node {
JoinOperator::Inner { meta, .. } => *meta,
JoinOperator::LeftOuter { meta, .. } => *meta,
JoinOperator::RightOuter { meta, .. } => *meta,
JoinOperator::FullOuter { meta, .. } => *meta,
JoinOperator::AsOf { meta, .. } => *meta,
JoinOperator::Cross { meta, .. } => *meta,
JoinOperator::Positional { meta, .. } => *meta,
JoinOperator::Semi { meta, .. } => *meta,
JoinOperator::Anti { meta, .. } => *meta,
JoinOperator::Apply { meta, .. } => *meta,
});
visit::walk_join_operator(self, node);
}
fn visit_join_constraint(&mut self, node: &'ast JoinConstraint<NoExt>) {
self.metas.push(match node {
JoinConstraint::On { meta, .. } => *meta,
JoinConstraint::Using { meta, .. } => *meta,
JoinConstraint::Natural { meta, .. } => *meta,
JoinConstraint::None { meta, .. } => *meta,
});
visit::walk_join_constraint(self, node);
}
fn visit_order_by_expr(&mut self, node: &'ast OrderByExpr<NoExt>) {
self.metas.push(node.meta);
visit::walk_order_by_expr(self, node);
}
fn visit_order_by_using(&mut self, node: &'ast OrderByUsing) {
self.metas.push(node.meta);
visit::walk_order_by_using(self, node);
}
fn visit_order_by_all(&mut self, node: &'ast OrderByAll) {
self.metas.push(node.meta);
visit::walk_order_by_all(self, node);
}
fn visit_limit(&mut self, node: &'ast Limit<NoExt>) {
self.metas.push(node.meta);
visit::walk_limit(self, node);
}
fn visit_limit_by(&mut self, node: &'ast LimitBy<NoExt>) {
self.metas.push(node.meta);
visit::walk_limit_by(self, node);
}
fn visit_setting(&mut self, node: &'ast Setting<NoExt>) {
self.metas.push(node.meta);
visit::walk_setting(self, node);
}
fn visit_format_clause(&mut self, node: &'ast FormatClause) {
self.metas.push(node.meta);
visit::walk_format_clause(self, node);
}
fn visit_for_clause(&mut self, node: &'ast ForClause) {
self.metas.push(match node {
ForClause::Xml { meta, .. } => *meta,
ForClause::Json { meta, .. } => *meta,
});
visit::walk_for_clause(self, node);
}
fn visit_for_xml_mode(&mut self, node: &'ast ForXmlMode) {
self.metas.push(match node {
ForXmlMode::Raw { meta, .. } => *meta,
ForXmlMode::Auto { meta, .. } => *meta,
ForXmlMode::Explicit { meta, .. } => *meta,
ForXmlMode::Path { meta, .. } => *meta,
});
visit::walk_for_xml_mode(self, node);
}
fn visit_for_root(&mut self, node: &'ast ForRoot) {
self.metas.push(node.meta);
visit::walk_for_root(self, node);
}
fn visit_lateral_view(&mut self, node: &'ast LateralView<NoExt>) {
self.metas.push(node.meta);
visit::walk_lateral_view(self, node);
}
fn visit_hierarchical_clause(&mut self, node: &'ast HierarchicalClause<NoExt>) {
self.metas.push(node.meta);
visit::walk_hierarchical_clause(self, node);
}
fn visit_replication_statement(&mut self, node: &'ast ReplicationStatement) {
self.metas.push(match node {
ReplicationStatement::ChangeSource { meta, .. } => *meta,
ReplicationStatement::ChangeFilter { meta, .. } => *meta,
ReplicationStatement::StartReplica { meta, .. } => *meta,
ReplicationStatement::StopReplica { meta, .. } => *meta,
ReplicationStatement::StartGroupReplication { meta, .. } => *meta,
ReplicationStatement::StopGroupReplication { meta, .. } => *meta,
});
visit::walk_replication_statement(self, node);
}
fn visit_change_replication_source_option(
&mut self,
node: &'ast ChangeReplicationSourceOption,
) {
self.metas.push(node.meta);
visit::walk_change_replication_source_option(self, node);
}
fn visit_change_replication_source_option_value(
&mut self,
node: &'ast ChangeReplicationSourceOptionValue,
) {
self.metas.push(match node {
ChangeReplicationSourceOptionValue::String { meta, .. } => *meta,
ChangeReplicationSourceOptionValue::Number { meta, .. } => *meta,
ChangeReplicationSourceOptionValue::NullableString { meta, .. } => *meta,
ChangeReplicationSourceOptionValue::User { meta, .. } => *meta,
ChangeReplicationSourceOptionValue::ServerIds { meta, .. } => *meta,
ChangeReplicationSourceOptionValue::PrimaryKeyCheck { meta, .. } => *meta,
ChangeReplicationSourceOptionValue::AssignGtids { meta, .. } => *meta,
});
visit::walk_change_replication_source_option_value(self, node);
}
fn visit_replication_filter_rule(&mut self, node: &'ast ReplicationFilterRule) {
self.metas.push(match node {
ReplicationFilterRule::DoDb { meta, .. } => *meta,
ReplicationFilterRule::IgnoreDb { meta, .. } => *meta,
ReplicationFilterRule::DoTable { meta, .. } => *meta,
ReplicationFilterRule::IgnoreTable { meta, .. } => *meta,
ReplicationFilterRule::WildDoTable { meta, .. } => *meta,
ReplicationFilterRule::WildIgnoreTable { meta, .. } => *meta,
ReplicationFilterRule::RewriteDb { meta, .. } => *meta,
});
visit::walk_replication_filter_rule(self, node);
}
fn visit_rewrite_db_pair(&mut self, node: &'ast RewriteDbPair) {
self.metas.push(node.meta);
visit::walk_rewrite_db_pair(self, node);
}
fn visit_replica_thread_option(&mut self, node: &'ast ReplicaThreadOption) {
self.metas.push(match node {
ReplicaThreadOption::Sql { meta, .. } => *meta,
ReplicaThreadOption::Io { meta, .. } => *meta,
});
visit::walk_replica_thread_option(self, node);
}
fn visit_replica_until_condition(&mut self, node: &'ast ReplicaUntilCondition) {
self.metas.push(match node {
ReplicaUntilCondition::SourceLogFile { meta, .. } => *meta,
ReplicaUntilCondition::SourceLogPos { meta, .. } => *meta,
ReplicaUntilCondition::RelayLogFile { meta, .. } => *meta,
ReplicaUntilCondition::RelayLogPos { meta, .. } => *meta,
ReplicaUntilCondition::SqlBeforeGtids { meta, .. } => *meta,
ReplicaUntilCondition::SqlAfterGtids { meta, .. } => *meta,
ReplicaUntilCondition::SqlAfterMtsGaps { meta, .. } => *meta,
});
visit::walk_replica_until_condition(self, node);
}
fn visit_group_replication_option(&mut self, node: &'ast GroupReplicationOption) {
self.metas.push(match node {
GroupReplicationOption::User { meta, .. } => *meta,
GroupReplicationOption::Password { meta, .. } => *meta,
GroupReplicationOption::DefaultAuth { meta, .. } => *meta,
});
visit::walk_group_replication_option(self, node);
}
fn visit_statement(&mut self, node: &'ast Statement<NoExt>) {
self.metas.push(match node {
Statement::Query { meta, .. } => *meta,
Statement::CreateTable { meta, .. } => *meta,
Statement::AlterTable { meta, .. } => *meta,
Statement::Drop { meta, .. } => *meta,
Statement::CreateSchema { meta, .. } => *meta,
Statement::CreateView { meta, .. } => *meta,
Statement::RefreshMaterializedView { meta, .. } => *meta,
Statement::CreateColocationGroup { meta, .. } => *meta,
Statement::DropColocationGroup { meta, .. } => *meta,
Statement::AlterView { meta, .. } => *meta,
Statement::CreateIndex { meta, .. } => *meta,
Statement::CreateFunction { meta, .. } => *meta,
Statement::CreateProcedure { meta, .. } => *meta,
Statement::AlterRoutine { meta, .. } => *meta,
Statement::CreateEvent { meta, .. } => *meta,
Statement::AlterEvent { meta, .. } => *meta,
Statement::DropEvent { meta, .. } => *meta,
Statement::DropDatabase { meta, .. } => *meta,
Statement::DropIndex { meta, .. } => *meta,
Statement::CreateDatabase { meta, .. } => *meta,
Statement::DropRoutine { meta, .. } => *meta,
Statement::DropTransform { meta, .. } => *meta,
Statement::Truncate { meta, .. } => *meta,
Statement::CommentOn { meta, .. } => *meta,
Statement::Insert { meta, .. } => *meta,
Statement::Update { meta, .. } => *meta,
Statement::Delete { meta, .. } => *meta,
Statement::Merge { meta, .. } => *meta,
Statement::Transaction { meta, .. } => *meta,
Statement::Xa { meta, .. } => *meta,
Statement::Session { meta, .. } => *meta,
Statement::AccessControl { meta, .. } => *meta,
Statement::Copy { meta, .. } => *meta,
Statement::CopyInto { meta, .. } => *meta,
Statement::Export { meta, .. } => *meta,
Statement::Import { meta, .. } => *meta,
Statement::Explain { meta, .. } => *meta,
Statement::Describe { meta, .. } => *meta,
Statement::Show { meta, .. } => *meta,
Statement::Kill { meta, .. } => *meta,
Statement::Handler { meta, .. } => *meta,
Statement::Install { meta, .. } => *meta,
Statement::Uninstall { meta, .. } => *meta,
Statement::Shutdown { meta, .. } => *meta,
Statement::Restart { meta, .. } => *meta,
Statement::Clone { meta, .. } => *meta,
Statement::ImportTable { meta, .. } => *meta,
Statement::Help { meta, .. } => *meta,
Statement::Binlog { meta, .. } => *meta,
Statement::Pragma { meta, .. } => *meta,
Statement::Attach { meta, .. } => *meta,
Statement::Detach { meta, .. } => *meta,
Statement::Checkpoint { meta, .. } => *meta,
Statement::Load { meta, .. } => *meta,
Statement::LoadData { meta, .. } => *meta,
Statement::UpdateExtensions { meta, .. } => *meta,
Statement::Vacuum { meta, .. } => *meta,
Statement::Reindex { meta, .. } => *meta,
Statement::Analyze { meta, .. } => *meta,
Statement::TableMaintenance { meta, .. } => *meta,
Statement::CacheIndex { meta, .. } => *meta,
Statement::LoadIndex { meta, .. } => *meta,
Statement::Rename { meta, .. } => *meta,
Statement::Flush { meta, .. } => *meta,
Statement::Purge { meta, .. } => *meta,
Statement::Replication { meta, .. } => *meta,
Statement::CreateUser { meta, .. } => *meta,
Statement::AlterUser { meta, .. } => *meta,
Statement::UserRoleList { meta, .. } => *meta,
Statement::Use { meta, .. } => *meta,
Statement::CreateTrigger { meta, .. } => *meta,
Statement::CreateStoredTrigger { meta, .. } => *meta,
Statement::CreateMacro { meta, .. } => *meta,
Statement::CreateSecret { meta, .. } => *meta,
Statement::DropSecret { meta, .. } => *meta,
Statement::CreateType { meta, .. } => *meta,
Statement::CreateVirtualTable { meta, .. } => *meta,
Statement::CreateSequence { meta, .. } => *meta,
Statement::CreateExtension { meta, .. } => *meta,
Statement::AlterExtension { meta, .. } => *meta,
Statement::CreateTablespace { meta, .. } => *meta,
Statement::AlterTablespace { meta, .. } => *meta,
Statement::DropTablespace { meta, .. } => *meta,
Statement::CreateLogfileGroup { meta, .. } => *meta,
Statement::AlterLogfileGroup { meta, .. } => *meta,
Statement::DropLogfileGroup { meta, .. } => *meta,
Statement::AlterObjectDepends { meta, .. } => *meta,
Statement::AlterSystem { meta, .. } => *meta,
Statement::AlterDatabase { meta, .. } => *meta,
Statement::AlterDatabaseOptions { meta, .. } => *meta,
Statement::CreateServer { meta, .. } => *meta,
Statement::AlterServer { meta, .. } => *meta,
Statement::DropServer { meta, .. } => *meta,
Statement::AlterInstance { meta, .. } => *meta,
Statement::CreateSpatialReferenceSystem { meta, .. } => *meta,
Statement::DropSpatialReferenceSystem { meta, .. } => *meta,
Statement::CreateResourceGroup { meta, .. } => *meta,
Statement::AlterResourceGroup { meta, .. } => *meta,
Statement::DropResourceGroup { meta, .. } => *meta,
Statement::AlterSequence { meta, .. } => *meta,
Statement::AlterObjectSchema { meta, .. } => *meta,
Statement::Pivot { meta, .. } => *meta,
Statement::Unpivot { meta, .. } => *meta,
Statement::ShowRef { meta, .. } => *meta,
Statement::Prepare { meta, .. } => *meta,
Statement::Execute { meta, .. } => *meta,
Statement::PrepareFrom { meta, .. } => *meta,
Statement::ExecuteUsing { meta, .. } => *meta,
Statement::Deallocate { meta, .. } => *meta,
Statement::Call { meta, .. } => *meta,
Statement::Do { meta, .. } => *meta,
Statement::DoExpressions { meta, .. } => *meta,
Statement::LockTables { meta, .. } => *meta,
Statement::UnlockTables { meta, .. } => *meta,
Statement::InstanceLock { meta, .. } => *meta,
Statement::Compound { meta, .. } => *meta,
Statement::If { meta, .. } => *meta,
Statement::Case { meta, .. } => *meta,
Statement::Loop { meta, .. } => *meta,
Statement::While { meta, .. } => *meta,
Statement::Repeat { meta, .. } => *meta,
Statement::Leave { meta, .. } => *meta,
Statement::Iterate { meta, .. } => *meta,
Statement::Return { meta, .. } => *meta,
Statement::OpenCursor { meta, .. } => *meta,
Statement::FetchCursor { meta, .. } => *meta,
Statement::CloseCursor { meta, .. } => *meta,
Statement::Signal { meta, .. } => *meta,
Statement::Resignal { meta, .. } => *meta,
Statement::GetDiagnostics { meta, .. } => *meta,
Statement::Other { meta, .. } => *meta,
});
visit::walk_statement(self, node);
}
fn visit_compound_statement(&mut self, node: &'ast CompoundStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_compound_statement(self, node);
}
fn visit_declaration(&mut self, node: &'ast Declaration<NoExt>) {
self.metas.push(match node {
Declaration::Variable { meta, .. } => *meta,
Declaration::Condition { meta, .. } => *meta,
Declaration::Cursor { meta, .. } => *meta,
Declaration::Handler { meta, .. } => *meta,
});
visit::walk_declaration(self, node);
}
fn visit_condition_value(&mut self, node: &'ast ConditionValue) {
self.metas.push(match node {
ConditionValue::SqlState { meta, .. } => *meta,
ConditionValue::ErrorCode { meta, .. } => *meta,
ConditionValue::ConditionName { meta, .. } => *meta,
});
visit::walk_condition_value(self, node);
}
fn visit_handler_condition(&mut self, node: &'ast HandlerCondition) {
self.metas.push(match node {
HandlerCondition::SqlState { meta, .. } => *meta,
HandlerCondition::ErrorCode { meta, .. } => *meta,
HandlerCondition::ConditionName { meta, .. } => *meta,
HandlerCondition::SqlWarning { meta, .. } => *meta,
HandlerCondition::NotFound { meta, .. } => *meta,
HandlerCondition::SqlException { meta, .. } => *meta,
});
visit::walk_handler_condition(self, node);
}
fn visit_if_statement(&mut self, node: &'ast IfStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_if_statement(self, node);
}
fn visit_conditional_branch(&mut self, node: &'ast ConditionalBranch<NoExt>) {
self.metas.push(node.meta);
visit::walk_conditional_branch(self, node);
}
fn visit_case_statement(&mut self, node: &'ast CaseStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_case_statement(self, node);
}
fn visit_loop_statement(&mut self, node: &'ast LoopStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_loop_statement(self, node);
}
fn visit_while_statement(&mut self, node: &'ast WhileStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_while_statement(self, node);
}
fn visit_repeat_statement(&mut self, node: &'ast RepeatStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_repeat_statement(self, node);
}
fn visit_leave_statement(&mut self, node: &'ast LeaveStatement) {
self.metas.push(node.meta);
visit::walk_leave_statement(self, node);
}
fn visit_iterate_statement(&mut self, node: &'ast IterateStatement) {
self.metas.push(node.meta);
visit::walk_iterate_statement(self, node);
}
fn visit_return_statement(&mut self, node: &'ast ReturnStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_return_statement(self, node);
}
fn visit_open_cursor_statement(&mut self, node: &'ast OpenCursorStatement) {
self.metas.push(node.meta);
visit::walk_open_cursor_statement(self, node);
}
fn visit_close_cursor_statement(&mut self, node: &'ast CloseCursorStatement) {
self.metas.push(node.meta);
visit::walk_close_cursor_statement(self, node);
}
fn visit_fetch_cursor_statement(&mut self, node: &'ast FetchCursorStatement) {
self.metas.push(node.meta);
visit::walk_fetch_cursor_statement(self, node);
}
fn visit_signal_statement(&mut self, node: &'ast SignalStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_signal_statement(self, node);
}
fn visit_signal_item(&mut self, node: &'ast SignalItem<NoExt>) {
self.metas.push(node.meta);
visit::walk_signal_item(self, node);
}
fn visit_get_diagnostics_statement(&mut self, node: &'ast GetDiagnosticsStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_get_diagnostics_statement(self, node);
}
fn visit_diagnostics_info(&mut self, node: &'ast DiagnosticsInfo<NoExt>) {
self.metas.push(match node {
DiagnosticsInfo::Statement { meta, .. } => *meta,
DiagnosticsInfo::Condition { meta, .. } => *meta,
});
visit::walk_diagnostics_info(self, node);
}
fn visit_statement_info_item(&mut self, node: &'ast StatementInfoItem<NoExt>) {
self.metas.push(node.meta);
visit::walk_statement_info_item(self, node);
}
fn visit_condition_info_item(&mut self, node: &'ast ConditionInfoItem<NoExt>) {
self.metas.push(node.meta);
visit::walk_condition_info_item(self, node);
}
fn visit_transaction_statement(&mut self, node: &'ast TransactionStatement) {
self.metas.push(match node {
TransactionStatement::Begin { meta, .. } => *meta,
TransactionStatement::Commit { meta, .. } => *meta,
TransactionStatement::Rollback { meta, .. } => *meta,
TransactionStatement::Savepoint { meta, .. } => *meta,
TransactionStatement::Release { meta, .. } => *meta,
TransactionStatement::SetCharacteristics { meta, .. } => *meta,
});
visit::walk_transaction_statement(self, node);
}
fn visit_transaction_mode(&mut self, node: &'ast TransactionMode) {
self.metas.push(match node {
TransactionMode::IsolationLevel { meta, .. } => *meta,
TransactionMode::AccessMode { meta, .. } => *meta,
TransactionMode::Deferrable { meta, .. } => *meta,
TransactionMode::ConsistentSnapshot { meta, .. } => *meta,
});
visit::walk_transaction_mode(self, node);
}
fn visit_xa_statement(&mut self, node: &'ast XaStatement) {
self.metas.push(match node {
XaStatement::Start { meta, .. } => *meta,
XaStatement::End { meta, .. } => *meta,
XaStatement::Prepare { meta, .. } => *meta,
XaStatement::Commit { meta, .. } => *meta,
XaStatement::Rollback { meta, .. } => *meta,
XaStatement::Recover { meta, .. } => *meta,
});
visit::walk_xa_statement(self, node);
}
fn visit_xid(&mut self, node: &'ast Xid) {
self.metas.push(node.meta);
visit::walk_xid(self, node);
}
fn visit_data_type(&mut self, node: &'ast DataType<NoExt>) {
self.metas.push(match node {
DataType::Boolean { meta, .. } => *meta,
DataType::TinyInt { meta, .. } => *meta,
DataType::SmallInt { meta, .. } => *meta,
DataType::MediumInt { meta, .. } => *meta,
DataType::Integer { meta, .. } => *meta,
DataType::BigInt { meta, .. } => *meta,
DataType::Decimal { meta, .. } => *meta,
DataType::Float { meta, .. } => *meta,
DataType::Real { meta, .. } => *meta,
DataType::Double { meta, .. } => *meta,
DataType::Text { meta, .. } => *meta,
DataType::Blob { meta, .. } => *meta,
DataType::Character { meta, .. } => *meta,
DataType::Binary { meta, .. } => *meta,
DataType::Bit { meta, .. } => *meta,
DataType::Json { meta, .. } => *meta,
DataType::Uuid { meta, .. } => *meta,
DataType::Date { meta, .. } => *meta,
DataType::Time { meta, .. } => *meta,
DataType::Timestamp { meta, .. } => *meta,
DataType::Interval { meta, .. } => *meta,
DataType::Enum { meta, .. } => *meta,
DataType::Set { meta, .. } => *meta,
DataType::NumericModifier { meta, .. } => *meta,
DataType::Array { meta, .. } => *meta,
DataType::Struct { meta, .. } => *meta,
DataType::Union { meta, .. } => *meta,
DataType::Map { meta, .. } => *meta,
DataType::Wrapped { meta, .. } => *meta,
DataType::FixedString { meta, .. } => *meta,
DataType::DateTime64 { meta, .. } => *meta,
DataType::Nested { meta, .. } => *meta,
DataType::FixedWidthInt { meta, .. } => *meta,
DataType::UserDefined { meta, .. } => *meta,
DataType::Liberal { meta, .. } => *meta,
DataType::Other { meta, .. } => *meta,
});
visit::walk_data_type(self, node);
}
fn visit_struct_type_field(&mut self, node: &'ast StructTypeField<NoExt>) {
self.metas.push(node.meta);
visit::walk_struct_type_field(self, node);
}
fn visit_charset_annotation(&mut self, node: &'ast CharsetAnnotation) {
self.metas.push(node.meta);
visit::walk_charset_annotation(self, node);
}
fn visit_copy_statement(&mut self, node: &'ast CopyStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_copy_statement(self, node);
}
fn visit_copy_source(&mut self, node: &'ast CopySource<NoExt>) {
self.metas.push(match node {
CopySource::Table { meta, .. } => *meta,
CopySource::Query { meta, .. } => *meta,
});
visit::walk_copy_source(self, node);
}
fn visit_copy_target(&mut self, node: &'ast CopyTarget) {
self.metas.push(match node {
CopyTarget::File { meta, .. } => *meta,
CopyTarget::Stdin { meta, .. } => *meta,
CopyTarget::Stdout { meta, .. } => *meta,
CopyTarget::Program { meta, .. } => *meta,
});
visit::walk_copy_target(self, node);
}
fn visit_copy_option(&mut self, node: &'ast CopyOption) {
self.metas.push(node.meta);
visit::walk_copy_option(self, node);
}
fn visit_copy_option_value(&mut self, node: &'ast CopyOptionValue) {
self.metas.push(match node {
CopyOptionValue::Word { meta, .. } => *meta,
CopyOptionValue::String { meta, .. } => *meta,
CopyOptionValue::Number { meta, .. } => *meta,
CopyOptionValue::Star { meta, .. } => *meta,
CopyOptionValue::List { meta, .. } => *meta,
CopyOptionValue::Force { meta, .. } => *meta,
CopyOptionValue::OptionList { meta, .. } => *meta,
});
visit::walk_copy_option_value(self, node);
}
fn visit_copy_into_statement(&mut self, node: &'ast CopyIntoStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_copy_into_statement(self, node);
}
fn visit_copy_into_target(&mut self, node: &'ast CopyIntoTarget) {
self.metas.push(match node {
CopyIntoTarget::Table { meta, .. } => *meta,
CopyIntoTarget::External { meta, .. } => *meta,
CopyIntoTarget::Stage { meta, .. } => *meta,
});
visit::walk_copy_into_target(self, node);
}
fn visit_copy_into_source(&mut self, node: &'ast CopyIntoSource<NoExt>) {
self.metas.push(match node {
CopyIntoSource::Table { meta, .. } => *meta,
CopyIntoSource::External { meta, .. } => *meta,
CopyIntoSource::Stage { meta, .. } => *meta,
CopyIntoSource::Query { meta, .. } => *meta,
});
visit::walk_copy_into_source(self, node);
}
fn visit_export_statement(&mut self, node: &'ast ExportStatement) {
self.metas.push(node.meta);
visit::walk_export_statement(self, node);
}
fn visit_import_statement(&mut self, node: &'ast ImportStatement) {
self.metas.push(node.meta);
visit::walk_import_statement(self, node);
}
fn visit_explain_statement(&mut self, node: &'ast ExplainStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_explain_statement(self, node);
}
fn visit_explain_option(&mut self, node: &'ast ExplainOption) {
self.metas.push(match node {
ExplainOption::Analyze { meta, .. } => *meta,
ExplainOption::Verbose { meta, .. } => *meta,
ExplainOption::Format { meta, .. } => *meta,
ExplainOption::Other { meta, .. } => *meta,
});
visit::walk_explain_option(self, node);
}
fn visit_describe_statement(&mut self, node: &'ast DescribeStatement) {
self.metas.push(node.meta);
visit::walk_describe_statement(self, node);
}
fn visit_describe_column(&mut self, node: &'ast DescribeColumn) {
self.metas.push(match node {
DescribeColumn::Name { meta, .. } => *meta,
DescribeColumn::Wild { meta, .. } => *meta,
});
visit::walk_describe_column(self, node);
}
fn visit_kill_statement(&mut self, node: &'ast KillStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_kill_statement(self, node);
}
fn visit_install_statement(&mut self, node: &'ast InstallStatement<NoExt>) {
self.metas.push(match node {
InstallStatement::Plugin { meta, .. } => *meta,
InstallStatement::Component { meta, .. } => *meta,
});
visit::walk_install_statement(self, node);
}
fn visit_uninstall_statement(&mut self, node: &'ast UninstallStatement) {
self.metas.push(match node {
UninstallStatement::Plugin { meta, .. } => *meta,
UninstallStatement::Component { meta, .. } => *meta,
});
visit::walk_uninstall_statement(self, node);
}
fn visit_install_component_set_element(
&mut self,
node: &'ast InstallComponentSetElement<NoExt>,
) {
self.metas.push(node.meta);
visit::walk_install_component_set_element(self, node);
}
fn visit_install_component_set_value(&mut self, node: &'ast InstallComponentSetValue<NoExt>) {
self.metas.push(match node {
InstallComponentSetValue::On { meta, .. } => *meta,
InstallComponentSetValue::Expr { meta, .. } => *meta,
});
visit::walk_install_component_set_value(self, node);
}
fn visit_handler_statement(&mut self, node: &'ast HandlerStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_handler_statement(self, node);
}
fn visit_handler_operation(&mut self, node: &'ast HandlerOperation<NoExt>) {
self.metas.push(match node {
HandlerOperation::Open { meta, .. } => *meta,
HandlerOperation::Close { meta, .. } => *meta,
HandlerOperation::Read { meta, .. } => *meta,
});
visit::walk_handler_operation(self, node);
}
fn visit_handler_read_selector(&mut self, node: &'ast HandlerReadSelector<NoExt>) {
self.metas.push(match node {
HandlerReadSelector::Scan { meta, .. } => *meta,
HandlerReadSelector::Index { meta, .. } => *meta,
HandlerReadSelector::Key { meta, .. } => *meta,
});
visit::walk_handler_read_selector(self, node);
}
fn visit_clone_statement(&mut self, node: &'ast CloneStatement) {
self.metas.push(match node {
CloneStatement::Local { meta, .. } => *meta,
CloneStatement::Instance { meta, .. } => *meta,
});
visit::walk_clone_statement(self, node);
}
fn visit_clone_data_directory(&mut self, node: &'ast CloneDataDirectory) {
self.metas.push(node.meta);
visit::walk_clone_data_directory(self, node);
}
fn visit_import_table_statement(&mut self, node: &'ast ImportTableStatement) {
self.metas.push(node.meta);
visit::walk_import_table_statement(self, node);
}
fn visit_help_statement(&mut self, node: &'ast HelpStatement) {
self.metas.push(node.meta);
visit::walk_help_statement(self, node);
}
fn visit_binlog_statement(&mut self, node: &'ast BinlogStatement) {
self.metas.push(node.meta);
visit::walk_binlog_statement(self, node);
}
fn visit_pragma_statement(&mut self, node: &'ast PragmaStatement) {
self.metas.push(node.meta);
visit::walk_pragma_statement(self, node);
}
fn visit_attach_statement(&mut self, node: &'ast AttachStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_attach_statement(self, node);
}
fn visit_detach_statement(&mut self, node: &'ast DetachStatement) {
self.metas.push(node.meta);
visit::walk_detach_statement(self, node);
}
fn visit_checkpoint_statement(&mut self, node: &'ast CheckpointStatement) {
self.metas.push(node.meta);
visit::walk_checkpoint_statement(self, node);
}
fn visit_load_statement(&mut self, node: &'ast LoadStatement) {
self.metas.push(node.meta);
visit::walk_load_statement(self, node);
}
fn visit_load_target(&mut self, node: &'ast LoadTarget) {
self.metas.push(match node {
LoadTarget::Name { meta, .. } => *meta,
LoadTarget::Path { meta, .. } => *meta,
});
visit::walk_load_target(self, node);
}
fn visit_update_extensions_statement(&mut self, node: &'ast UpdateExtensionsStatement) {
self.metas.push(node.meta);
visit::walk_update_extensions_statement(self, node);
}
fn visit_vacuum_statement(&mut self, node: &'ast VacuumStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_vacuum_statement(self, node);
}
fn visit_reindex_statement(&mut self, node: &'ast ReindexStatement) {
self.metas.push(node.meta);
visit::walk_reindex_statement(self, node);
}
fn visit_analyze_statement(&mut self, node: &'ast AnalyzeStatement) {
self.metas.push(node.meta);
visit::walk_analyze_statement(self, node);
}
fn visit_table_maintenance_statement(&mut self, node: &'ast TableMaintenanceStatement) {
self.metas.push(node.meta);
visit::walk_table_maintenance_statement(self, node);
}
fn visit_table_maintenance_kind(&mut self, node: &'ast TableMaintenanceKind) {
self.metas.push(match node {
TableMaintenanceKind::Analyze { meta, .. } => *meta,
TableMaintenanceKind::Check { meta, .. } => *meta,
TableMaintenanceKind::Checksum { meta, .. } => *meta,
TableMaintenanceKind::Optimize { meta, .. } => *meta,
TableMaintenanceKind::Repair { meta, .. } => *meta,
});
visit::walk_table_maintenance_kind(self, node);
}
fn visit_analyze_histogram(&mut self, node: &'ast AnalyzeHistogram) {
self.metas.push(match node {
AnalyzeHistogram::Update { meta, .. } => *meta,
AnalyzeHistogram::Drop { meta, .. } => *meta,
});
visit::walk_analyze_histogram(self, node);
}
fn visit_cache_index_statement(&mut self, node: &'ast CacheIndexStatement) {
self.metas.push(node.meta);
visit::walk_cache_index_statement(self, node);
}
fn visit_cache_index_targets(&mut self, node: &'ast CacheIndexTargets) {
self.metas.push(match node {
CacheIndexTargets::Tables { meta, .. } => *meta,
CacheIndexTargets::Partition { meta, .. } => *meta,
});
visit::walk_cache_index_targets(self, node);
}
fn visit_cache_index_table(&mut self, node: &'ast CacheIndexTable) {
self.metas.push(node.meta);
visit::walk_cache_index_table(self, node);
}
fn visit_load_index_statement(&mut self, node: &'ast LoadIndexStatement) {
self.metas.push(node.meta);
visit::walk_load_index_statement(self, node);
}
fn visit_load_index_targets(&mut self, node: &'ast LoadIndexTargets) {
self.metas.push(match node {
LoadIndexTargets::Tables { meta, .. } => *meta,
LoadIndexTargets::Partition { meta, .. } => *meta,
});
visit::walk_load_index_targets(self, node);
}
fn visit_load_index_table(&mut self, node: &'ast LoadIndexTable) {
self.metas.push(node.meta);
visit::walk_load_index_table(self, node);
}
fn visit_cache_index_key_list(&mut self, node: &'ast CacheIndexKeyList) {
self.metas.push(node.meta);
visit::walk_cache_index_key_list(self, node);
}
fn visit_key_cache_name(&mut self, node: &'ast KeyCacheName) {
self.metas.push(match node {
KeyCacheName::Named { meta, .. } => *meta,
KeyCacheName::Default { meta, .. } => *meta,
});
visit::walk_key_cache_name(self, node);
}
fn visit_partition_selection(&mut self, node: &'ast PartitionSelection) {
self.metas.push(match node {
PartitionSelection::All { meta, .. } => *meta,
PartitionSelection::Names { meta, .. } => *meta,
});
visit::walk_partition_selection(self, node);
}
fn visit_rename_statement(&mut self, node: &'ast RenameStatement) {
self.metas.push(match node {
RenameStatement::Table { meta, .. } => *meta,
RenameStatement::User { meta, .. } => *meta,
});
visit::walk_rename_statement(self, node);
}
fn visit_table_rename(&mut self, node: &'ast TableRename) {
self.metas.push(node.meta);
visit::walk_table_rename(self, node);
}
fn visit_user_rename(&mut self, node: &'ast UserRename) {
self.metas.push(node.meta);
visit::walk_user_rename(self, node);
}
fn visit_account_name(&mut self, node: &'ast AccountName) {
self.metas.push(match node {
AccountName::Account { meta, .. } => *meta,
AccountName::CurrentUser { meta, .. } => *meta,
});
visit::walk_account_name(self, node);
}
fn visit_flush_statement(&mut self, node: &'ast FlushStatement) {
self.metas.push(node.meta);
visit::walk_flush_statement(self, node);
}
fn visit_flush_target(&mut self, node: &'ast FlushTarget) {
self.metas.push(match node {
FlushTarget::Tables { meta, .. } => *meta,
FlushTarget::Options { meta, .. } => *meta,
});
visit::walk_flush_target(self, node);
}
fn visit_flush_option(&mut self, node: &'ast FlushOption) {
self.metas.push(match node {
FlushOption::Privileges { meta, .. } => *meta,
FlushOption::Logs { meta, .. } => *meta,
FlushOption::BinaryLogs { meta, .. } => *meta,
FlushOption::EngineLogs { meta, .. } => *meta,
FlushOption::ErrorLogs { meta, .. } => *meta,
FlushOption::GeneralLogs { meta, .. } => *meta,
FlushOption::SlowLogs { meta, .. } => *meta,
FlushOption::RelayLogs { meta, .. } => *meta,
FlushOption::Status { meta, .. } => *meta,
FlushOption::UserResources { meta, .. } => *meta,
FlushOption::OptimizerCosts { meta, .. } => *meta,
});
visit::walk_flush_option(self, node);
}
fn visit_purge_statement(&mut self, node: &'ast PurgeStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_purge_statement(self, node);
}
fn visit_purge_target(&mut self, node: &'ast PurgeTarget<NoExt>) {
self.metas.push(match node {
PurgeTarget::To { meta, .. } => *meta,
PurgeTarget::Before { meta, .. } => *meta,
});
visit::walk_purge_target(self, node);
}
fn visit_use_statement(&mut self, node: &'ast UseStatement) {
self.metas.push(node.meta);
visit::walk_use_statement(self, node);
}
fn visit_prepare_statement(&mut self, node: &'ast PrepareStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_prepare_statement(self, node);
}
fn visit_prepare_from_statement(&mut self, node: &'ast PrepareFromStatement) {
self.metas.push(node.meta);
visit::walk_prepare_from_statement(self, node);
}
fn visit_prepare_source(&mut self, node: &'ast PrepareSource) {
self.metas.push(match node {
PrepareSource::Text { meta, .. } => *meta,
PrepareSource::Variable { meta, .. } => *meta,
});
visit::walk_prepare_source(self, node);
}
fn visit_execute_statement(&mut self, node: &'ast ExecuteStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_execute_statement(self, node);
}
fn visit_execute_using_statement(&mut self, node: &'ast ExecuteUsingStatement) {
self.metas.push(node.meta);
visit::walk_execute_using_statement(self, node);
}
fn visit_call_statement(&mut self, node: &'ast CallStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_call_statement(self, node);
}
fn visit_deallocate_statement(&mut self, node: &'ast DeallocateStatement) {
self.metas.push(node.meta);
visit::walk_deallocate_statement(self, node);
}
fn visit_do_statement(&mut self, node: &'ast DoStatement) {
self.metas.push(node.meta);
visit::walk_do_statement(self, node);
}
fn visit_do_arg(&mut self, node: &'ast DoArg) {
self.metas.push(match node {
DoArg::Body { meta, .. } => *meta,
DoArg::Language { meta, .. } => *meta,
});
visit::walk_do_arg(self, node);
}
fn visit_language_name(&mut self, node: &'ast LanguageName) {
self.metas.push(match node {
LanguageName::Word { meta, .. } => *meta,
LanguageName::String { meta, .. } => *meta,
});
visit::walk_language_name(self, node);
}
fn visit_do_expressions_statement(&mut self, node: &'ast DoExpressionsStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_do_expressions_statement(self, node);
}
fn visit_lock_tables_statement(&mut self, node: &'ast LockTablesStatement) {
self.metas.push(node.meta);
visit::walk_lock_tables_statement(self, node);
}
fn visit_table_lock(&mut self, node: &'ast TableLock) {
self.metas.push(node.meta);
visit::walk_table_lock(self, node);
}
fn visit_unlock_tables_statement(&mut self, node: &'ast UnlockTablesStatement) {
self.metas.push(node.meta);
visit::walk_unlock_tables_statement(self, node);
}
fn visit_instance_lock_statement(&mut self, node: &'ast InstanceLockStatement) {
self.metas.push(node.meta);
visit::walk_instance_lock_statement(self, node);
}
fn visit_load_data_statement(&mut self, node: &'ast LoadDataStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_load_data_statement(self, node);
}
fn visit_load_data_fields(&mut self, node: &'ast LoadDataFields) {
self.metas.push(node.meta);
visit::walk_load_data_fields(self, node);
}
fn visit_load_data_enclosed(&mut self, node: &'ast LoadDataEnclosed) {
self.metas.push(node.meta);
visit::walk_load_data_enclosed(self, node);
}
fn visit_load_data_lines(&mut self, node: &'ast LoadDataLines) {
self.metas.push(node.meta);
visit::walk_load_data_lines(self, node);
}
fn visit_load_data_ignore_rows(&mut self, node: &'ast LoadDataIgnoreRows) {
self.metas.push(node.meta);
visit::walk_load_data_ignore_rows(self, node);
}
fn visit_load_data_field_or_var(&mut self, node: &'ast LoadDataFieldOrVar) {
self.metas.push(match node {
LoadDataFieldOrVar::Column { meta, .. } => *meta,
LoadDataFieldOrVar::Variable { meta, .. } => *meta,
});
visit::walk_load_data_field_or_var(self, node);
}
fn visit_show_statement(&mut self, node: &'ast ShowStatement<NoExt>) {
self.metas.push(node.meta);
visit::walk_show_statement(self, node);
}
fn visit_show_target(&mut self, node: &'ast ShowTarget<NoExt>) {
self.metas.push(match node {
ShowTarget::Tables { meta, .. } => *meta,
ShowTarget::Columns { meta, .. } => *meta,
ShowTarget::Create { meta, .. } => *meta,
ShowTarget::Functions { meta, .. } => *meta,
ShowTarget::RoutineStatus { meta, .. } => *meta,
ShowTarget::Listing { meta, .. } => *meta,
ShowTarget::Bare { meta, .. } => *meta,
ShowTarget::Grants { meta, .. } => *meta,
ShowTarget::CreateUser { meta, .. } => *meta,
ShowTarget::Profile { meta, .. } => *meta,
ShowTarget::LogEvents { meta, .. } => *meta,
ShowTarget::Index { meta, .. } => *meta,
ShowTarget::Engine { meta, .. } => *meta,
ShowTarget::ReplicaStatus { meta, .. } => *meta,
ShowTarget::Diagnostics { meta, .. } => *meta,
ShowTarget::RoutineCode { meta, .. } => *meta,
});
visit::walk_show_target(self, node);
}
fn visit_show_functions_filter(&mut self, node: &'ast ShowFunctionsFilter) {
self.metas.push(match node {
ShowFunctionsFilter::Name { meta, .. } => *meta,
ShowFunctionsFilter::Regex { meta, .. } => *meta,
});
visit::walk_show_functions_filter(self, node);
}
fn visit_show_from(&mut self, node: &'ast ShowFrom) {
self.metas.push(node.meta);
visit::walk_show_from(self, node);
}
fn visit_show_filter(&mut self, node: &'ast ShowFilter<NoExt>) {
self.metas.push(match node {
ShowFilter::Like { meta, .. } => *meta,
ShowFilter::Where { meta, .. } => *meta,
});
visit::walk_show_filter(self, node);
}
fn visit_show_limit(&mut self, node: &'ast ShowLimit) {
self.metas.push(node.meta);
visit::walk_show_limit(self, node);
}
fn visit_window_spec(&mut self, node: &'ast WindowSpec<NoExt>) {
self.metas.push(match node {
WindowSpec::Named { meta, .. } => *meta,
WindowSpec::Inline { meta, .. } => *meta,
});
visit::walk_window_spec(self, node);
}
fn visit_window_definition(&mut self, node: &'ast WindowDefinition<NoExt>) {
self.metas.push(node.meta);
visit::walk_window_definition(self, node);
}
fn visit_window_frame(&mut self, node: &'ast WindowFrame<NoExt>) {
self.metas.push(node.meta);
visit::walk_window_frame(self, node);
}
fn visit_window_frame_bound(&mut self, node: &'ast WindowFrameBound<NoExt>) {
self.metas.push(match node {
WindowFrameBound::CurrentRow { meta, .. } => *meta,
WindowFrameBound::UnboundedPreceding { meta, .. } => *meta,
WindowFrameBound::UnboundedFollowing { meta, .. } => *meta,
WindowFrameBound::Preceding { meta, .. } => *meta,
WindowFrameBound::Following { meta, .. } => *meta,
});
visit::walk_window_frame_bound(self, node);
}
fn visit_named_window(&mut self, node: &'ast NamedWindow<NoExt>) {
self.metas.push(node.meta);
visit::walk_named_window(self, node);
}
}