Struct mz_sql::session::vars::SessionVars
source · pub struct SessionVars {
vars: OrdMap<&'static UncasedStr, SessionVar>,
mz_version: MzVersion,
user: User,
}
Expand description
Session variables.
See the crate::session::vars
module documentation for more details on the
Materialize configuration model.
Fields§
§vars: OrdMap<&'static UncasedStr, SessionVar>
The set of all session variables.
mz_version: MzVersion
Inputs to computed variables.
user: User
Information about the user associated with this Session.
Implementations§
source§impl SessionVars
impl SessionVars
sourcepub fn new_unchecked(
build_info: &'static BuildInfo,
user: User,
helm_chart_version: Option<String>,
) -> SessionVars
pub fn new_unchecked( build_info: &'static BuildInfo, user: User, helm_chart_version: Option<String>, ) -> SessionVars
Creates a new SessionVars
without considering the System or Role defaults.
fn expect_value<V: Value>(&self, var: &VarDefinition) -> &V
sourcepub fn iter(&self) -> impl Iterator<Item = &dyn Var>
pub fn iter(&self) -> impl Iterator<Item = &dyn Var>
Returns an iterator over the configuration parameters and their current values for this session.
Note that this function does not check that the access variable should
be visible because of other settings or users. Before or after accessing
this method, you should call Var::visible
.
sourcepub fn notify_set(&self) -> impl Iterator<Item = &dyn Var>
pub fn notify_set(&self) -> impl Iterator<Item = &dyn Var>
Returns an iterator over configuration parameters (and their current values for this session) that are expected to be sent to the client when a new connection is established or when their value changes.
sourcepub fn get(
&self,
system_vars: Option<&SystemVars>,
name: &str,
) -> Result<&dyn Var, VarError>
pub fn get( &self, system_vars: Option<&SystemVars>, name: &str, ) -> Result<&dyn Var, VarError>
Returns a Var
representing the configuration parameter with the
specified name.
Configuration parameters are matched case insensitively. If no such
configuration parameter exists, get
returns an error.
Note that if name
is known at compile time, you should instead use the
named accessor to access the variable with its true Rust type. For
example, self.get("sql_safe_updates").value()
returns the string
"true"
or "false"
, while self.sql_safe_updates()
returns a bool.
sourcepub fn inspect(&self, name: &str) -> Result<&SessionVar, VarError>
pub fn inspect(&self, name: &str) -> Result<&SessionVar, VarError>
Returns a SessionVar
for inspection.
Note: If you’re trying to determine the value of the variable with name
you should
instead use the named accessor, or SessionVars::get
.
sourcepub fn set(
&mut self,
system_vars: Option<&SystemVars>,
name: &str,
input: VarInput<'_>,
local: bool,
) -> Result<(), VarError>
pub fn set( &mut self, system_vars: Option<&SystemVars>, name: &str, input: VarInput<'_>, local: bool, ) -> Result<(), VarError>
Sets the configuration parameter named name
to the value represented
by value
.
The new value may be either committed or rolled back by the next call to
SessionVars::end_transaction
. If local
is true, the new value is always
discarded by the next call to SessionVars::end_transaction
, even if the
transaction is marked to commit.
Like with SessionVars::get
, configuration parameters are matched case
insensitively. If value
is not valid, as determined by the underlying
configuration parameter, or if the named configuration parameter does
not exist, an error is returned.
sourcepub fn set_default(
&mut self,
name: &str,
input: VarInput<'_>,
) -> Result<(), VarError>
pub fn set_default( &mut self, name: &str, input: VarInput<'_>, ) -> Result<(), VarError>
Sets the default value for the parameter named name
to the value
represented by value
.
sourcepub fn reset(
&mut self,
system_vars: Option<&SystemVars>,
name: &str,
local: bool,
) -> Result<(), VarError>
pub fn reset( &mut self, system_vars: Option<&SystemVars>, name: &str, local: bool, ) -> Result<(), VarError>
Sets the configuration parameter named name
to its default value.
The new value may be either committed or rolled back by the next call to
SessionVars::end_transaction
. If local
is true, the new value is
always discarded by the next call to SessionVars::end_transaction
,
even if the transaction is marked to commit.
Like with SessionVars::get
, configuration parameters are matched
case insensitively. If the named configuration parameter does not exist,
an error is returned.
If the variable does not exist or the user does not have the visibility requires, this function returns an error.
sourcefn check_read_only(&self, name: &UncasedStr) -> Result<(), VarError>
fn check_read_only(&self, name: &UncasedStr) -> Result<(), VarError>
Returns an error if the variable corresponding to name
is read only.
sourcepub fn end_transaction(
&mut self,
action: EndTransactionAction,
) -> BTreeMap<&'static str, String>
pub fn end_transaction( &mut self, action: EndTransactionAction, ) -> BTreeMap<&'static str, String>
Commits or rolls back configuration parameter updates made via
SessionVars::set
since the last call to end_transaction
.
Returns any session parameters that changed because the transaction ended.
sourcepub fn application_name(&self) -> &str
pub fn application_name(&self) -> &str
Returns the value of the application_name
configuration parameter.
sourcepub fn build_info(&self) -> &'static BuildInfo
pub fn build_info(&self) -> &'static BuildInfo
Returns the build info.
sourcepub fn client_encoding(&self) -> &ClientEncoding
pub fn client_encoding(&self) -> &ClientEncoding
Returns the value of the client_encoding
configuration parameter.
sourcepub fn client_min_messages(&self) -> &ClientSeverity
pub fn client_min_messages(&self) -> &ClientSeverity
Returns the value of the client_min_messages
configuration parameter.
sourcepub fn cluster_replica(&self) -> Option<&str>
pub fn cluster_replica(&self) -> Option<&str>
Returns the value of the cluster_replica
configuration parameter.
sourcepub fn current_object_missing_warnings(&self) -> bool
pub fn current_object_missing_warnings(&self) -> bool
Returns the value of the current_object_missing_warnings
configuration
parameter.
sourcepub fn date_style(&self) -> &[&str]
pub fn date_style(&self) -> &[&str]
Returns the value of the DateStyle
configuration parameter.
sourcepub fn extra_float_digits(&self) -> i32
pub fn extra_float_digits(&self) -> i32
Returns the value of the extra_float_digits
configuration parameter.
sourcepub fn integer_datetimes(&self) -> bool
pub fn integer_datetimes(&self) -> bool
Returns the value of the integer_datetimes
configuration parameter.
sourcepub fn intervalstyle(&self) -> &IntervalStyle
pub fn intervalstyle(&self) -> &IntervalStyle
Returns the value of the intervalstyle
configuration parameter.
sourcepub fn mz_version(&self) -> String
pub fn mz_version(&self) -> String
Returns the value of the mz_version
configuration parameter.
sourcepub fn search_path(&self) -> &[Ident]
pub fn search_path(&self) -> &[Ident]
Returns the value of the search_path
configuration parameter.
sourcepub fn server_version(&self) -> &str
pub fn server_version(&self) -> &str
Returns the value of the server_version
configuration parameter.
sourcepub fn server_version_num(&self) -> i32
pub fn server_version_num(&self) -> i32
Returns the value of the server_version_num
configuration parameter.
sourcepub fn sql_safe_updates(&self) -> bool
pub fn sql_safe_updates(&self) -> bool
Returns the value of the sql_safe_updates
configuration parameter.
sourcepub fn standard_conforming_strings(&self) -> bool
pub fn standard_conforming_strings(&self) -> bool
Returns the value of the standard_conforming_strings
configuration
parameter.
sourcepub fn statement_timeout(&self) -> &Duration
pub fn statement_timeout(&self) -> &Duration
Returns the value of the statement_timeout
configuration parameter.
sourcepub fn idle_in_transaction_session_timeout(&self) -> &Duration
pub fn idle_in_transaction_session_timeout(&self) -> &Duration
Returns the value of the idle_in_transaction_session_timeout
configuration parameter.
sourcepub fn transaction_isolation(&self) -> &IsolationLevel
pub fn transaction_isolation(&self) -> &IsolationLevel
Returns the value of the transaction_isolation
configuration
parameter.
sourcepub fn real_time_recency(&self) -> bool
pub fn real_time_recency(&self) -> bool
Returns the value of real_time_recency
configuration parameter.
sourcepub fn real_time_recency_timeout(&self) -> &Duration
pub fn real_time_recency_timeout(&self) -> &Duration
Returns the value of the real_time_recency_timeout
configuration parameter.
sourcepub fn emit_plan_insights_notice(&self) -> bool
pub fn emit_plan_insights_notice(&self) -> bool
Returns the value of emit_plan_insights_notice
configuration parameter.
sourcepub fn emit_timestamp_notice(&self) -> bool
pub fn emit_timestamp_notice(&self) -> bool
Returns the value of emit_timestamp_notice
configuration parameter.
sourcepub fn emit_trace_id_notice(&self) -> bool
pub fn emit_trace_id_notice(&self) -> bool
Returns the value of emit_trace_id_notice
configuration parameter.
sourcepub fn auto_route_catalog_queries(&self) -> bool
pub fn auto_route_catalog_queries(&self) -> bool
Returns the value of auto_route_catalog_queries
configuration parameter.
sourcepub fn enable_session_rbac_checks(&self) -> bool
pub fn enable_session_rbac_checks(&self) -> bool
Returns the value of enable_session_rbac_checks
configuration parameter.
sourcepub fn enable_session_cardinality_estimates(&self) -> bool
pub fn enable_session_cardinality_estimates(&self) -> bool
Returns the value of enable_session_cardinality_estimates
configuration parameter.
sourcepub fn is_superuser(&self) -> bool
pub fn is_superuser(&self) -> bool
Returns the value of is_superuser
configuration parameter.
sourcepub fn max_query_result_size(&self) -> u64
pub fn max_query_result_size(&self) -> u64
Returns the value of the max_query_result_size
configuration parameter.
sourcepub fn set_external_user_metadata(&mut self, metadata: ExternalUserMetadata)
pub fn set_external_user_metadata(&mut self, metadata: ExternalUserMetadata)
Sets the external metadata associated with the user.
pub fn set_cluster(&mut self, cluster: String)
pub fn get_statement_logging_sample_rate(&self) -> Numeric
sourcepub fn emit_introspection_query_notice(&self) -> bool
pub fn emit_introspection_query_notice(&self) -> bool
Returns the value of the emit_introspection_query_notice
configuration parameter.
pub fn unsafe_new_transaction_wall_time( &self, ) -> Option<CheckedTimestamp<DateTime<Utc>>>
sourcepub fn welcome_message(&self) -> bool
pub fn welcome_message(&self) -> bool
Returns the value of the welcome_message
configuration parameter.
Trait Implementations§
source§impl Clone for SessionVars
impl Clone for SessionVars
source§fn clone(&self) -> SessionVars
fn clone(&self) -> SessionVars
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for SessionVars
impl !RefUnwindSafe for SessionVars
impl Send for SessionVars
impl Sync for SessionVars
impl Unpin for SessionVars
impl !UnwindSafe for SessionVars
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign
, for types that do not implement AddAssign
.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.