Class ColumnMappings

java.lang.Object
org.apache.druid.sql.calcite.planner.ColumnMappings

public class ColumnMappings extends Object
Maps column names from the query to output names desired by the user, in the order desired by the user. The query is translated by org.apache.druid.msq.querykit.QueryKit into a org.apache.druid.msq.kernel.QueryDefinition. So, this class also represents mappings from org.apache.druid.msq.kernel.QueryDefinition#getFinalStageDefinition() into the output names desired by the user.
  • Constructor Details

  • Method Details

    • identity

      public static ColumnMappings identity(RowSignature signature)
    • size

      public int size()
      Number of output columns.
    • getOutputColumnNames

      public List<String> getOutputColumnNames()
      All output column names, in order. Some names may appear more than once, unless hasUniqueOutputColumnNames() is true.
    • hasUniqueOutputColumnNames

      public boolean hasUniqueOutputColumnNames()
      Whether output column names from getOutputColumnNames() are all unique.
    • hasOutputColumn

      public boolean hasOutputColumn(String outputColumnName)
      Whether a particular output column name exists.
    • getQueryColumnName

      public String getQueryColumnName(int outputColumn)
      Query column name for a particular output column position.
      Throws:
      IllegalArgumentException - if the output column position is out of range
    • getOutputColumnName

      public String getOutputColumnName(int outputColumn)
      Output column name for a particular output column position.
      Throws:
      IllegalArgumentException - if the output column position is out of range
    • getOutputColumnsByName

      public it.unimi.dsi.fastutil.ints.IntList getOutputColumnsByName(String outputColumnName)
      Output column positions for a particular output column name.
    • getOutputColumnsForQueryColumn

      public it.unimi.dsi.fastutil.ints.IntList getOutputColumnsForQueryColumn(String queryColumnName)
      Output column positions for a particular query column name.
    • getMappings

      public List<ColumnMapping> getMappings()
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getOutputColumns

      public Iterable<String> getOutputColumns()