Class StarColumnExpander

Object
gudusoft.gsqlparser.resolver2.expansion.StarColumnExpander

public class StarColumnExpander extends Object
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 Details

  • Method Details

    • expandStar

      public List<ExpandedColumn> expandStar(TResultColumn starColumn, INamespace namespace)
      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 from
      tableAlias - 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 columns
      availableNamespaces - list of available namespaces to expand from
      Returns:
      expansion result with all expanded columns