pub enum Set {
SingleAssignment {
scope: Option<ContextModifier>,
hivevar: bool,
variable: ObjectName,
values: Vec<Expr>,
},
ParenthesizedAssignments {
variables: Vec<ObjectName>,
values: Vec<Expr>,
},
MultipleAssignments {
assignments: Vec<SetAssignment>,
},
SetSessionAuthorization(SetSessionAuthorizationParam),
SetSessionParam(SetSessionParamKind),
SetRole {
context_modifier: Option<ContextModifier>,
role_name: Option<Ident>,
},
SetTimeZone {
local: bool,
value: Expr,
},
SetNames {
charset_name: Ident,
collation_name: Option<String>,
},
SetNamesDefault {},
SetTransaction {
modes: Vec<TransactionMode>,
snapshot: Option<Value>,
session: bool,
},
}Expand description
Variants for the SET family of statements.
Variants§
SingleAssignment
SQL Standard-style
SET a = 1;
SET var = value (standard SQL-style assignment).
Fields
scope: Option<ContextModifier>Optional scope modifier (SESSION / LOCAL).
variable: ObjectNameVariable name to assign.
ParenthesizedAssignments
Snowflake-style
SET (a, b, ..) = (1, 2, ..);
SET (a, b) = (1, 2) (tuple assignment syntax).
Fields
variables: Vec<ObjectName>Variables being assigned in tuple form.
MultipleAssignments
MySQL-style
SET a = 1, b = 2, ..;
SET a = 1, b = 2 (MySQL-style comma-separated assignments).
Fields
assignments: Vec<SetAssignment>List of SET assignments (MySQL-style comma-separated).
SetSessionAuthorization(SetSessionAuthorizationParam)
Session authorization for Postgres/Redshift
SET SESSION AUTHORIZATION { user_name | DEFAULT }See https://www.postgresql.org/docs/current/sql-set-session-authorization.html See https://docs.aws.amazon.com/redshift/latest/dg/r_SET_SESSION_AUTHORIZATION.html
SetSessionParam(SetSessionParamKind)
MS-SQL session
See https://learn.microsoft.com/en-us/sql/t-sql/statements/set-statements-transact-sql
SetRole
SET [ SESSION | LOCAL ] ROLE role_nameSets session state. Examples: ANSI, Postgresql, MySQL, and Oracle
Fields
context_modifier: Option<ContextModifier>Non-ANSI optional identifier to inform if the role is defined inside the current session (SESSION) or transaction (LOCAL).
SetTimeZone
SET TIME ZONE <value>Note: this is a PostgreSQL-specific statements
SET TIME ZONE <value> is an alias for SET timezone TO <value> in PostgreSQL
However, we allow it for all dialects.
SET TIME ZONE statement. local indicates the LOCAL keyword.
SET TIME ZONE <value> statement.
SetNames
SET NAMES 'charset_name' [COLLATE 'collation_name']Fields
SetNamesDefault
SET NAMES DEFAULTNote: this is a MySQL-specific statement.
SetTransaction
SET TRANSACTION ...Trait Implementations§
Source§impl<'de> Deserialize<'de> for Set
impl<'de> Deserialize<'de> for Set
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Ord for Set
impl Ord for Set
Source§impl PartialOrd for Set
impl PartialOrd for Set
Source§impl VisitMut for Set
impl VisitMut for Set
Source§fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
VisitorMut. Read more