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

source

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.

source

fn expect_value<V: Value>(&self, var: &VarDefinition) -> &V

source

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.

source

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.

source

pub fn reset_all(&mut self)

Resets all variables to their default value.

source

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.

source

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.

source

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.

source

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.

source

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.

source

fn check_read_only(&self, name: &UncasedStr) -> Result<(), VarError>

Returns an error if the variable corresponding to name is read only.

source

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.

source

pub fn application_name(&self) -> &str

Returns the value of the application_name configuration parameter.

source

pub fn build_info(&self) -> &'static BuildInfo

Returns the build info.

source

pub fn client_encoding(&self) -> &ClientEncoding

Returns the value of the client_encoding configuration parameter.

source

pub fn client_min_messages(&self) -> &ClientSeverity

Returns the value of the client_min_messages configuration parameter.

source

pub fn cluster(&self) -> &str

Returns the value of the cluster configuration parameter.

source

pub fn cluster_replica(&self) -> Option<&str>

Returns the value of the cluster_replica configuration parameter.

source

pub fn current_object_missing_warnings(&self) -> bool

Returns the value of the current_object_missing_warnings configuration parameter.

source

pub fn date_style(&self) -> &[&str]

Returns the value of the DateStyle configuration parameter.

source

pub fn database(&self) -> &str

Returns the value of the database configuration parameter.

source

pub fn extra_float_digits(&self) -> i32

Returns the value of the extra_float_digits configuration parameter.

source

pub fn integer_datetimes(&self) -> bool

Returns the value of the integer_datetimes configuration parameter.

source

pub fn intervalstyle(&self) -> &IntervalStyle

Returns the value of the intervalstyle configuration parameter.

source

pub fn mz_version(&self) -> String

Returns the value of the mz_version configuration parameter.

source

pub fn search_path(&self) -> &[Ident]

Returns the value of the search_path configuration parameter.

source

pub fn server_version(&self) -> &str

Returns the value of the server_version configuration parameter.

source

pub fn server_version_num(&self) -> i32

Returns the value of the server_version_num configuration parameter.

source

pub fn sql_safe_updates(&self) -> bool

Returns the value of the sql_safe_updates configuration parameter.

source

pub fn standard_conforming_strings(&self) -> bool

Returns the value of the standard_conforming_strings configuration parameter.

source

pub fn statement_timeout(&self) -> &Duration

Returns the value of the statement_timeout configuration parameter.

source

pub fn idle_in_transaction_session_timeout(&self) -> &Duration

Returns the value of the idle_in_transaction_session_timeout configuration parameter.

source

pub fn timezone(&self) -> &TimeZone

Returns the value of the timezone configuration parameter.

source

pub fn transaction_isolation(&self) -> &IsolationLevel

Returns the value of the transaction_isolation configuration parameter.

source

pub fn real_time_recency(&self) -> bool

Returns the value of real_time_recency configuration parameter.

source

pub fn real_time_recency_timeout(&self) -> &Duration

Returns the value of the real_time_recency_timeout configuration parameter.

source

pub fn emit_plan_insights_notice(&self) -> bool

Returns the value of emit_plan_insights_notice configuration parameter.

source

pub fn emit_timestamp_notice(&self) -> bool

Returns the value of emit_timestamp_notice configuration parameter.

source

pub fn emit_trace_id_notice(&self) -> bool

Returns the value of emit_trace_id_notice configuration parameter.

source

pub fn auto_route_catalog_queries(&self) -> bool

Returns the value of auto_route_catalog_queries configuration parameter.

source

pub fn enable_session_rbac_checks(&self) -> bool

Returns the value of enable_session_rbac_checks configuration parameter.

source

pub fn enable_session_cardinality_estimates(&self) -> bool

Returns the value of enable_session_cardinality_estimates configuration parameter.

source

pub fn is_superuser(&self) -> bool

Returns the value of is_superuser configuration parameter.

source

pub fn user(&self) -> &User

Returns the user associated with this SessionVars instance.

source

pub fn max_query_result_size(&self) -> u64

Returns the value of the max_query_result_size configuration parameter.

source

pub fn set_external_user_metadata(&mut self, metadata: ExternalUserMetadata)

Sets the external metadata associated with the user.

source

pub fn set_cluster(&mut self, cluster: String)

source

pub fn get_statement_logging_sample_rate(&self) -> Numeric

source

pub fn emit_introspection_query_notice(&self) -> bool

Returns the value of the emit_introspection_query_notice configuration parameter.

source

pub fn unsafe_new_transaction_wall_time( &self, ) -> Option<CheckedTimestamp<DateTime<Utc>>>

source

pub fn welcome_message(&self) -> bool

Returns the value of the welcome_message configuration parameter.

Trait Implementations§

source§

impl Clone for SessionVars

source§

fn clone(&self) -> SessionVars

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SessionVars

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AsAny for T
where T: Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T, U> CastInto<U> for T
where U: CastFrom<T>,

source§

fn cast_into(self) -> U

Performs the cast.
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> Conv for T

source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

impl<T> FmtForward for T

source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromRef<T> for T
where T: Clone,

source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T, U> OverrideFrom<Option<&T>> for U
where U: OverrideFrom<T>,

source§

fn override_from(self, layer: &Option<&T>) -> U

Override the configuration represented by Self with values from the given layer.
source§

impl<T> Pipe for T
where T: ?Sized,

source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ProgressEventTimestamp for T
where T: Data + Debug + Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Upcasts this ProgressEventTimestamp to Any. Read more
source§

fn type_name(&self) -> &'static str

Returns the name of the concrete type of this object. Read more
source§

impl<P, R> ProtoType<R> for P
where R: RustType<P>,

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<'a, S, T> Semigroup<&'a S> for T
where T: Semigroup<S>,

source§

fn plus_equals(&mut self, rhs: &&'a S)

The method of std::ops::AddAssign, for types that do not implement AddAssign.
source§

impl<T> Tap for T

source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .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
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> TryConv for T

source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> Data for T
where T: Clone + 'static,