Expand description
Name normalization for SQL statements using the visitor pattern.
This module provides a flexible framework for transforming object names in SQL statements. It uses a trait-based visitor pattern to support different normalization strategies while sharing the same traversal logic.
§Normalization Strategies
- Fully Qualifying: Transforms names to
database.schema.objectformat - Flattening: Transforms names to
database_schema_objectformat (single identifier)
§Usage
ⓘ
use mz_deploy::project::resolve::normalize::NormalizingVisitor;
// Create a fully qualifying visitor
let visitor = NormalizingVisitor::fully_qualifying(&fqn);
// Or create a flattening visitor
let visitor = NormalizingVisitor::flattening(&fqn);§Module Structure
transformers: Name transformation strategies (FullyQualifying, Flattening, Staging)visitor: The NormalizingVisitor that traverses SQL AST and applies transformationsmod_rewriter: AST-based rewriting of database/schema names in mod statements
Modules§
- mod_
rewriter 🔒 - AST-based rewriting of database and schema names in mod statements.
- overlay_
transformer 🔒 - Name transformation for
mz-deploy devoverlay compilation. - transformers 🔒
- Name transformation strategies for SQL AST normalization.
- visitor 🔒
- The NormalizingVisitor for traversing SQL AST and applying name transformations.
Functions§
- transform_
cluster_ 🔒names_ for_ staging - Transform cluster names in index statements for staging environments.