Skip to main content

CatalogState

Struct CatalogState 

Source
pub struct CatalogState { /* private fields */ }
Expand description

The in-memory representation of the Catalog. This struct is not directly used to persist metadata to persistent storage. For persistent metadata see mz_catalog::durable::DurableCatalogState.

Serialize is implemented to create human readable dumps of the in-memory state, not for storing the contents of this struct on disk.

Implementations§

Source§

impl CatalogState

Source

pub fn render_notices_core( humanizer: &dyn ExprHumanizer, now: EpochMillis, df_meta: &DataflowMetainfo<RawOptimizerNotice>, notice_ids: Vec<GlobalId>, item_id: Option<GlobalId>, ) -> DataflowMetainfo<Arc<OptimizerNotice>>

Render the raw optimizer notices in df_meta into fully-formatted OptimizerNotices, using the given humanizer to resolve object names and now as the created_at timestamp for every rendered notice.

This is the humanizer-agnostic core of Catalog::render_notices; it can be called before the new item is in the catalog by wrapping a base humanizer with an mz_repr::explain::ExprHumanizerExt that knows about the to-be-created item.

Source§

impl CatalogState

Source

pub fn resolve_builtin_table_updates( &self, builtin_table_update: Vec<BuiltinTableUpdate<&'static BuiltinTable>>, ) -> Vec<BuiltinTableUpdate<CatalogItemId>>

Source

pub fn resolve_builtin_table_update( &self, _: BuiltinTableUpdate<&'static BuiltinTable>, ) -> BuiltinTableUpdate<CatalogItemId>

Source

pub fn pack_depends_update( &self, depender: CatalogItemId, dependee: CatalogItemId, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_aws_connection_update( &self, connection_id: CatalogItemId, aws_config: &AwsConnection, diff: Diff, ) -> Result<BuiltinTableUpdate<&'static BuiltinTable>, Error>

Source

pub fn pack_op_update( &self, operator: &str, func_impl_details: FuncImplCatalogDetails, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_audit_log_update( &self, event: &VersionedEvent, diff: Diff, ) -> Result<BuiltinTableUpdate<&'static BuiltinTable>, Error>

Source

pub fn pack_storage_usage_update( &self, VersionedStorageUsage::V1: VersionedStorageUsage, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_egress_ip_update( &self, ip: &IpNet, ) -> Result<BuiltinTableUpdate<&'static BuiltinTable>, Error>

Source

pub fn pack_license_key_update( &self, license_key: &ValidatedLicenseKey, ) -> Result<BuiltinTableUpdate<&'static BuiltinTable>, Error>

Source

pub fn pack_all_replica_size_updates( &self, ) -> Vec<BuiltinTableUpdate<&'static BuiltinTable>>

Source

pub fn pack_subscribe_update( &self, id: GlobalId, subscribe: &ActiveSubscribe, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_session_update( &self, conn: &ConnMeta, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_default_privileges_update( &self, default_privilege_object: &DefaultPrivilegeObject, grantee: &RoleId, acl_mode: &AclMode, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_system_privileges_update( &self, privileges: MzAclItem, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_comment_update( &self, object_id: CommentObjectId, column_pos: Option<usize>, comment: &str, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_webhook_source_update( &self, item_id: CatalogItemId, diff: Diff, ) -> BuiltinTableUpdate<&'static BuiltinTable>

Source

pub fn pack_source_references_update( &self, source_references: &SourceReferences, diff: Diff, ) -> Vec<BuiltinTableUpdate<&'static BuiltinTable>>

Source§

impl CatalogState

Source

pub fn check_consistency(&self) -> Result<(), Box<CatalogInconsistencies>>

Checks the CatalogState to make sure we’re internally consistent.

Source§

impl CatalogState

Source

pub fn empty_test() -> Self

Returns an empty CatalogState that can be used in tests.

Source

pub fn for_session<'a>(&'a self, session: &'a Session) -> ConnCatalog<'a>

Source

pub fn for_sessionless_user(&self, role_id: RoleId) -> ConnCatalog<'_>

Source

pub fn for_system_session(&self) -> ConnCatalog<'_>

Source

pub fn transitive_uses( &self, id: CatalogItemId, ) -> impl Iterator<Item = CatalogItemId> + '_

Returns an iterator over the deduplicated identifiers of all objects this catalog entry transitively depends on (where “depends on” is meant in the sense of CatalogItem::uses, rather than CatalogItem::references).

Source

pub fn introspection_dependencies( &self, id: CatalogItemId, ) -> Vec<CatalogItemId>

Computes the IDs of any log sources this catalog entry transitively depends on.

Source

pub fn resolve_full_name( &self, name: &QualifiedItemName, conn_id: Option<&ConnectionId>, ) -> FullItemName

Source

pub fn get_entry(&self, id: &CatalogItemId) -> &CatalogEntry

Source

pub fn get_entry_by_global_id(&self, id: &GlobalId) -> CatalogCollectionEntry

Source

pub fn get_entries( &self, ) -> impl Iterator<Item = (&CatalogItemId, &CatalogEntry)> + '_

Source

pub fn get_temp_items( &self, conn: &ConnectionId, ) -> impl Iterator<Item = ObjectId> + '_

Source

pub fn has_temporary_schema(&self, conn: &ConnectionId) -> bool

Returns true if a temporary schema exists for the given connection.

Temporary schemas are created lazily when the first temporary object is created for a connection, so this may return false for connections that haven’t created any temporary objects.

Source

pub fn get_item_by_name( &self, name: &QualifiedItemName, conn_id: &ConnectionId, ) -> Option<&CatalogEntry>

Source

pub fn get_type_by_name( &self, name: &QualifiedItemName, conn_id: &ConnectionId, ) -> Option<&CatalogEntry>

Source

pub fn try_get_entry(&self, id: &CatalogItemId) -> Option<&CatalogEntry>

Source

pub fn try_get_entry_by_global_id(&self, id: &GlobalId) -> Option<&CatalogEntry>

Source

pub fn try_get_desc_by_global_id( &self, id: &GlobalId, ) -> Option<Cow<'_, RelationDesc>>

Returns the RelationDesc for a GlobalId, if the provided GlobalId refers to an object that returns rows.

Source

pub fn get_role(&self, id: &RoleId) -> &Role

Source

pub fn get_roles(&self) -> impl Iterator<Item = &RoleId>

Source

pub fn get_network_policy(&self, id: &NetworkPolicyId) -> &NetworkPolicy

Source

pub fn get_network_policies(&self) -> impl Iterator<Item = &NetworkPolicyId>

Source

pub fn try_get_webhook_url(&self, id: &CatalogItemId) -> Option<Url>

Returns the URL for POST-ing data to a webhook source, if id corresponds to a webhook source.

Note: Identifiers for the source, e.g. item name, are URL encoded.

Source

pub fn with_enable_for_item_parsing<T>( &mut self, f: impl FnOnce(&mut Self) -> T, ) -> T

Execute function f on self, with all “enable_for_item_parsing” feature flags enabled. Calling this method will not permanently modify any system configuration variables.

WARNING: Any modifications made to the system configuration variables in f, will be lost.

Source

pub fn get_indexes_on( &self, id: GlobalId, cluster: ClusterId, ) -> impl Iterator<Item = (GlobalId, &Index)>

Returns all indexes on the given object and cluster known in the catalog.

Source

pub fn get_system_configuration(&self, name: &str) -> Result<&dyn Var, Error>

Get system configuration name.

Source

pub fn try_get_schema( &self, database_spec: &ResolvedDatabaseSpecifier, schema_spec: &SchemaSpecifier, conn_id: &ConnectionId, ) -> Option<&Schema>

Try to get a schema, returning None if it doesn’t exist.

For temporary schemas, returns None if the schema hasn’t been created yet (temporary schemas are created lazily when the first temporary object is created).

Source

pub fn get_schema( &self, database_spec: &ResolvedDatabaseSpecifier, schema_spec: &SchemaSpecifier, conn_id: &ConnectionId, ) -> &Schema

Source

pub fn get_mz_catalog_schema_id(&self) -> SchemaId

Source

pub fn get_mz_catalog_unstable_schema_id(&self) -> SchemaId

Source

pub fn get_pg_catalog_schema_id(&self) -> SchemaId

Source

pub fn get_information_schema_id(&self) -> SchemaId

Source

pub fn get_mz_internal_schema_id(&self) -> SchemaId

Source

pub fn get_mz_introspection_schema_id(&self) -> SchemaId

Source

pub fn get_mz_unsafe_schema_id(&self) -> SchemaId

Source

pub fn system_schema_ids(&self) -> impl Iterator<Item = SchemaId> + '_

Source

pub fn is_system_schema_id(&self, id: SchemaId) -> bool

Source

pub fn is_system_schema_specifier(&self, spec: SchemaSpecifier) -> bool

Source

pub fn unstable_schema_ids(&self) -> impl Iterator<Item = SchemaId> + '_

Source

pub fn is_unstable_schema_id(&self, id: SchemaId) -> bool

Source

pub fn is_unstable_schema_specifier(&self, spec: SchemaSpecifier) -> bool

Source

pub fn create_temporary_schema( &mut self, conn_id: &ConnectionId, owner_id: RoleId, ) -> Result<(), Error>

Creates a new schema in the Catalog for temporary items indicated by the TEMPORARY or TEMP keywords.

Source

pub fn resolve_builtin_table( &self, builtin: &'static BuiltinTable, ) -> CatalogItemId

Optimized lookup for a builtin table.

Panics if the builtin table doesn’t exist in the catalog.

Source

pub fn resolve_builtin_log( &self, builtin: &'static BuiltinLog, ) -> (CatalogItemId, GlobalId)

Optimized lookup for a builtin log.

Panics if the builtin log doesn’t exist in the catalog.

Source

pub fn resolve_builtin_source( &self, builtin: &'static BuiltinSource, ) -> CatalogItemId

Optimized lookup for a builtin storage collection.

Panics if the builtin storage collection doesn’t exist in the catalog.

Source

pub fn resolve_builtin_object<T: TypeReference>( &self, builtin: &Builtin<T>, ) -> CatalogItemId

Optimized lookup for a builtin object.

Panics if the builtin object doesn’t exist in the catalog.

Source

pub fn resolve_builtin_type_references( &self, builtin: &BuiltinType<NameReference>, ) -> BuiltinType<IdReference>

Source

pub fn config(&self) -> &CatalogConfig

Source

pub fn resolve_database( &self, database_name: &str, ) -> Result<&Database, SqlCatalogError>

Source

pub fn resolve_schema( &self, current_database: Option<&DatabaseId>, database_name: Option<&str>, schema_name: &str, conn_id: &ConnectionId, ) -> Result<&Schema, SqlCatalogError>

Source

pub fn resolve_system_schema(&self, name: &'static str) -> SchemaId

Optimized lookup for a system schema.

Panics if the system schema doesn’t exist in the catalog.

Source

pub fn resolve_search_path( &self, session: &dyn SessionMetadata, ) -> Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>

Source

pub fn effective_search_path( &self, search_path: &[(ResolvedDatabaseSpecifier, SchemaSpecifier)], include_temp_schema: bool, ) -> Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>

Source

pub fn resolve_cluster(&self, name: &str) -> Result<&Cluster, SqlCatalogError>

Source

pub fn resolve_builtin_cluster(&self, cluster: &BuiltinCluster) -> &Cluster

Source

pub fn resolve_cluster_replica( &self, cluster_replica_name: &QualifiedReplica, ) -> Result<&ClusterReplica, SqlCatalogError>

Source

pub fn resolve( &self, get_schema_entries: fn(&Schema) -> &BTreeMap<String, CatalogItemId>, current_database: Option<&DatabaseId>, search_path: &Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>, name: &PartialItemName, conn_id: &ConnectionId, err_gen: fn(String) -> SqlCatalogError, ) -> Result<&CatalogEntry, SqlCatalogError>

Resolves PartialItemName into a CatalogEntry.

If name does not specify a database, the current_database is used. If name does not specify a schema, then the schemas in search_path are searched in order.

Source

pub fn resolve_entry( &self, current_database: Option<&DatabaseId>, search_path: &Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>, name: &PartialItemName, conn_id: &ConnectionId, ) -> Result<&CatalogEntry, SqlCatalogError>

Resolves name to a non-function CatalogEntry.

Source

pub fn resolve_function( &self, current_database: Option<&DatabaseId>, search_path: &Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>, name: &PartialItemName, conn_id: &ConnectionId, ) -> Result<&CatalogEntry, SqlCatalogError>

Resolves name to a function CatalogEntry.

Source

pub fn resolve_type( &self, current_database: Option<&DatabaseId>, search_path: &Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>, name: &PartialItemName, conn_id: &ConnectionId, ) -> Result<&CatalogEntry, SqlCatalogError>

Resolves name to a type CatalogEntry.

Source

pub fn system_config(&self) -> &SystemVars

Return current system configuration.

Source

pub fn system_config_mut(&mut self) -> &mut SystemVars

Return a mutable reference to the current system configuration.

Source

pub fn dump( &self, unfinalized_shards: Option<BTreeSet<String>>, ) -> Result<String, Error>

Serializes the catalog’s in-memory state.

There are no guarantees about the format of the serialized state, except that the serialized state for two identical catalogs will compare identically.

Some consumers would like the ability to overwrite the unfinalized_shards catalog field, which they can accomplish by passing in a value of Some for the unfinalized_shards argument.

Source

pub fn availability_zones(&self) -> &[String]

Source

pub fn concretize_replica_location( &self, location: ReplicaLocation, allowed_sizes: &Vec<String>, allowed_availability_zones: Option<&[String]>, ) -> Result<ReplicaLocation, Error>

Source

pub fn ensure_not_reserved_role(&self, role_id: &RoleId) -> Result<(), Error>

Source

pub fn ensure_not_reserved_network_policy( &self, network_policy_id: &NetworkPolicyId, ) -> Result<(), Error>

Source

pub fn ensure_grantable_role(&self, role_id: &RoleId) -> Result<(), Error>

Source

pub fn ensure_not_system_role(&self, role_id: &RoleId) -> Result<(), Error>

Source

pub fn ensure_not_predefined_role(&self, role_id: &RoleId) -> Result<(), Error>

Source

pub fn storage_metadata(&self) -> &StorageMetadata

Returns a read-only view of the current StorageMetadata.

To write to this struct, you must use a catalog transaction.

Source

pub fn source_compaction_windows( &self, ids: impl IntoIterator<Item = CatalogItemId>, ) -> BTreeMap<CompactionWindow, BTreeSet<CatalogItemId>>

For the Sources ids in ids, return their compaction windows.

Source

pub fn comment_id_to_item_id(id: &CommentObjectId) -> Option<CatalogItemId>

Source

pub fn get_comment_id_entry( &self, id: &CommentObjectId, ) -> Option<&CatalogEntry>

Source

pub fn comment_id_to_audit_log_name( &self, id: CommentObjectId, conn_id: &ConnectionId, ) -> String

Source

pub fn mock_authentication_nonce(&self) -> String

Trait Implementations§

Source§

impl Clone for CatalogState

Source§

fn clone(&self) -> CatalogState

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl ConnectionResolver for CatalogState

Source§

impl Debug for CatalogState

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Serialize for CatalogState

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. 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§

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

Source§

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

Gets the type name of self
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§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Downcast for T
where T: AsAny + ?Sized,

Source§

fn is<T>(&self) -> bool
where T: AsAny,

Returns true if the boxed type is the same as T. Read more
Source§

fn downcast_ref<T>(&self) -> Option<&T>
where T: AsAny,

Forward to the method defined on the type Any.
Source§

fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: AsAny,

Forward to the method defined on the type Any.
Source§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
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> Paint for T
where T: ?Sized,

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1:

renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
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.
Source§

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

impl<T> Same for T

Source§

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> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

Source§

impl<T> ServiceExt for T

Source§

fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>
where Self: Sized,

Available on crate feature map-response-body only.
Apply a transformation to the response body. Read more
Source§

fn decompression(self) -> Decompression<Self>
where Self: Sized,

Available on crate features decompression-br or decompression-deflate or decompression-gzip or decompression-zstd only.
Decompress response bodies. Read more
Source§

fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>
where Self: Sized,

Available on crate feature trace only.
High level tracing that classifies responses using HTTP status codes. Read more
Source§

fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>
where Self: Sized,

Available on crate feature trace only.
High level tracing that classifies responses using gRPC headers. Read more
Source§

fn follow_redirects(self) -> FollowRedirect<Self>
where Self: Sized,

Available on crate feature follow-redirect only.
Follow redirect resposes using the Standard policy. Read more
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,

Source§

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>,

Source§

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>,

Source§

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> MaybeSend for T
where T: Send,