Class RelCrossType

java.lang.Object
org.apache.calcite.rel.type.RelDataTypeImpl
org.apache.calcite.rel.type.RelCrossType
All Implemented Interfaces:
RelDataType, RelDataTypeFamily

public class RelCrossType extends RelDataTypeImpl
Type of the cartesian product of two or more sets of records.

Its fields are those of its constituent records, but unlike a RelRecordType, those fields' names are not necessarily distinct.

  • Constructor Details

    • RelCrossType

      public RelCrossType(List<RelDataType> types, List<RelDataTypeField> fields)
      Creates a cartesian product type. This should only be called from a factory method.
  • Method Details

    • isStruct

      public boolean isStruct()
      Description copied from interface: RelDataType
      Queries whether this is a structured type.
      Specified by:
      isStruct in interface RelDataType
      Overrides:
      isStruct in class RelDataTypeImpl
      Returns:
      whether this type has fields; examples include rows and user-defined structured types in SQL, and classes in Java
    • getTypes

      public List<RelDataType> getTypes()
      Returns the contained types.
      Returns:
      data types.
    • generateTypeString

      protected void generateTypeString(StringBuilder sb, boolean withDetail)
      Description copied from class: RelDataTypeImpl
      Generates a string representation of this type.
      Specified by:
      generateTypeString in class RelDataTypeImpl
      Parameters:
      sb - StringBuilder into which to generate the string
      withDetail - when true, all detail information needed to compute a unique digest (and return from getFullTypeString) should be included;