Class 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.

    • Field Detail

      • types

        public final com.google.common.collect.ImmutableList<RelDataType> types
    • Constructor Detail

      • RelCrossType

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

      • 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
      • generateTypeString

        protected void generateTypeString​(java.lang.StringBuilder sb,
                                          boolean withDetail)
        Description copied from class: RelDataTypeImpl
        Generates a string representation of this type.
        Specified by:
        generateTypeString in class RelDataTypeImpl
        Parameters:
        sb - StringBuffer 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;