Class LatticeNode

  • Direct Known Subclasses:
    LatticeChildNode, LatticeRootNode

    public abstract class LatticeNode
    extends java.lang.Object
    Source relation of a lattice.

    Relations form a tree; all relations except the root relation (the fact table) have precisely one parent and an equi-join condition on one or more pairs of columns linking to it.

    • Field Detail

      • startCol

        final int startCol
      • endCol

        final int endCol
      • alias

        public final java.lang.String alias
      • children

        private final com.google.common.collect.ImmutableList<LatticeChildNode> children
      • digest

        public final java.lang.String digest
    • Constructor Detail

      • LatticeNode

        LatticeNode​(LatticeSpace space,
                    LatticeNode parent,
                    MutableNode mutableNode)
        Creates a LatticeNode.

        The parent and mutableNode arguments are used only during construction.

    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • use

        abstract void use​(java.util.List<LatticeNode> usedNodes)
      • flattenTo

        void flattenTo​(com.google.common.collect.ImmutableList.Builder<LatticeNode> builder)
      • createPathsRecurse

        void createPathsRecurse​(LatticeSpace space,
                                java.util.List<Step> steps,
                                java.util.List<Path> paths)