Class RelCollationTraitDef

java.lang.Object
org.apache.calcite.plan.RelTraitDef<RelCollation>
org.apache.calcite.rel.RelCollationTraitDef

public class RelCollationTraitDef extends RelTraitDef<RelCollation>
Definition of the ordering trait.

Ordering is a physical property (i.e. a trait) because it can be changed without loss of information. The converter to do this is the Sort operator.

Unlike other current traits, a RelNode can have more than one value of this trait simultaneously. For example, LogicalTableScan(table=TIME_BY_DAY) might be sorted by {the_year, the_month, the_date} and also by {time_id}. We have to allow a RelNode to belong to more than one RelSubset (these RelSubsets are always in the same set).