Class TableScan

    • Field Detail

      • table

        protected final RelOptTable table
        The table definition.
    • Method Detail

      • getTable

        public RelOptTable getTable()
        Description copied from interface: RelNode
        If this relational expression represents an access to a table, returns that table, otherwise returns null.
        Specified by:
        getTable in interface RelNode
        Overrides:
        getTable in class AbstractRelNode
        Returns:
        If this relational expression represents an access to a table, returns that table, otherwise returns null
      • getCollationList

        public java.util.List<RelCollation> getCollationList()
        Description copied from interface: RelNode
        Returns a description of the physical ordering (or orderings) of this relational expression. Never null.
        Specified by:
        getCollationList in interface RelNode
        Overrides:
        getCollationList in class AbstractRelNode
        Returns:
        Description of the physical ordering (or orderings) of this relational expression. Never null
      • project

        public RelNode project​(ImmutableBitSet fieldsUsed,
                               java.util.Set<RelDataTypeField> extraFields,
                               RelBuilder relBuilder)
        Projects a subset of the fields of the table, and also asks for "extra" fields that were not included in the table's official type.

        The default implementation assumes that tables cannot do either of these operations, therefore it adds a Project that projects NULL values for the extra fields, using the RelBuilder.project(Iterable) method.

        Sub-classes, representing table types that have these capabilities, should override.

        Parameters:
        fieldsUsed - Bitmap of the fields desired by the consumer
        extraFields - Extra fields, not advertised in the table's row-type, wanted by the consumer
        relBuilder - Builder used to create a Project
        Returns:
        Relational expression that projects the desired fields
      • accept

        public RelNode accept​(RelShuttle shuttle)
        Description copied from interface: RelNode
        Accepts a visit from a shuttle.
        Specified by:
        accept in interface RelNode
        Overrides:
        accept in class AbstractRelNode
        Parameters:
        shuttle - Shuttle
        Returns:
        A copy of this node incorporating changes made by the shuttle to this node's children