Class StarColumnExpander
Object
gudusoft.gsqlparser.resolver2.expansion.StarColumnExpander
Expands SELECT * to explicit column lists.
Star expansion is crucial for: - Understanding exactly which columns are selected - Data lineage tracking - Query refactoring - Schema evolution analysis
Supports multiple star expansion scenarios: 1. Simple star: SELECT * FROM t1 2. Qualified star: SELECT t1.* FROM t1 JOIN t2 3. Multiple stars: SELECT t1.*, t2.* FROM t1 JOIN t2 4. Mixed: SELECT t1.*, t2.id FROM t1 JOIN t2 5. Nested: SELECT * FROM (SELECT * FROM t1) sub
Example:
-- Input: SELECT * FROM employees -- Expanded (if metadata available): SELECT employees.id, employees.name, employees.salary FROM employees
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexpandAllStars(List<TResultColumn> resultColumns, List<INamespace> availableNamespaces) Expand all stars in a result column list.expandQualifiedStar(TResultColumn starColumn, INamespace namespace, String tableAlias) Expand qualified star (e.g., t1.*) to explicit column list.expandStar(TResultColumn starColumn, INamespace namespace) Expand a star column to explicit column list.
-
Constructor Details
-
StarColumnExpander
public StarColumnExpander() -
StarColumnExpander
-
-
Method Details
-
expandStar
Expand a star column to explicit column list.- Parameters:
starColumn- the star column (SELECT *)namespace- the namespace to expand from- Returns:
- list of expanded columns, or empty if expansion not possible
-
expandQualifiedStar
public List<ExpandedColumn> expandQualifiedStar(TResultColumn starColumn, INamespace namespace, String tableAlias) Expand qualified star (e.g., t1.*) to explicit column list.- Parameters:
starColumn- the star column (SELECT t1.*)namespace- the namespace to expand fromtableAlias- the table qualifier (e.g., "t1")- Returns:
- list of expanded columns, or empty if expansion not possible
-
expandAllStars
public ExpansionResult expandAllStars(List<TResultColumn> resultColumns, List<INamespace> availableNamespaces) Expand all stars in a result column list.- Parameters:
resultColumns- the result columnsavailableNamespaces- list of available namespaces to expand from- Returns:
- expansion result with all expanded columns
-