pub trait NameTransformer {
// Required methods
fn transform_name(&self, name: &UnresolvedItemName) -> UnresolvedItemName;
fn database_name(&self) -> &str;
// Provided method
fn transform_own_name(
&self,
name: &UnresolvedItemName,
) -> UnresolvedItemName { ... }
}Expand description
Trait for transforming object names in SQL AST nodes.
Implementations of this trait define how names should be transformed (e.g., fully qualified, flattened, etc.).
Required Methods§
Sourcefn transform_name(&self, name: &UnresolvedItemName) -> UnresolvedItemName
fn transform_name(&self, name: &UnresolvedItemName) -> UnresolvedItemName
Transform a name using the implementing strategy.
Takes an UnresolvedItemName and returns a transformed version according
to the strategy. The input may be partially qualified (1, 2, or 3 parts).
Sourcefn database_name(&self) -> &str
fn database_name(&self) -> &str
Get the database name from the transformer’s FQN context.
Provided Methods§
Sourcefn transform_own_name(&self, name: &UnresolvedItemName) -> UnresolvedItemName
fn transform_own_name(&self, name: &UnresolvedItemName) -> UnresolvedItemName
Transform the object’s own name (the name in the CREATE statement).
By default, delegates to transform_name. Override to apply different
rules for the object being created vs. references to other objects.
For example, the staging transformer always suffixes the object’s own
schema even when it is a replacement object.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".