Package com.mckoi.database

## Class QueryPlan.SingleRowTableNode

- java.lang.Object
- - com.mckoi.database.QueryPlan.SingleRowTableNode

All Implemented Interfaces:
  `QueryPlanNode`, `java.io.Serializable`, `java.lang.Cloneable`

Enclosing class:
  QueryPlan

    public static class QueryPlan.SingleRowTableNode
    extends java.lang.Object
    implements QueryPlanNode

A node for creating a table with a single row. This table is useful for queries that have no underlying row. For example, a pure functional table expression.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`SingleRowTableNode()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Object` `clone()` Deep clones this query plan.
`void` `debugString​(int level, java.lang.StringBuffer buf)` Writes a textural representation of the node to the StringBuffer at the given indent level.
`java.util.ArrayList` `discoverCorrelatedVariables​(int level, java.util.ArrayList list)` Discovers all the correlated variables in the plan (and plan children) that reference a particular layer.
`java.util.ArrayList` `discoverTableNames​(java.util.ArrayList list)` Discovers a list of TableName that represent the sources that this query requires to complete itself.
`Table` `evaluate​(QueryContext context)` Evaluates the node and returns the result as a Table.
`java.lang.String` `titleString()`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SingleRowTableNode

    public SingleRowTableNode()

### Method Detail

#### discoverTableNames

    public java.util.ArrayList discoverTableNames​(java.util.ArrayList list)

Description copied from interface: `QueryPlanNode`
Discovers a list of TableName that represent the sources that this query requires to complete itself. For example, if this is a query plan of two joined table, the fully resolved names of both tables are returned.

The resultant list will not contain the same table name more than once. The resultant list contains TableName objects.

NOTE, if a table is aliased, the unaliased name is returned.

Specified by:
  `discoverTableNames` in interface `QueryPlanNode`

#### evaluate

    public Table evaluate​(QueryContext context)

Description copied from interface: `QueryPlanNode`
Evaluates the node and returns the result as a Table. The VariableResolver resolves any outer variables

Specified by:
  `evaluate` in interface `QueryPlanNode`

#### discoverCorrelatedVariables

    public java.util.ArrayList discoverCorrelatedVariables​(int level,
                                                           java.util.ArrayList list)

Description copied from interface: `QueryPlanNode`
Discovers all the correlated variables in the plan (and plan children) that reference a particular layer. For example, if we wanted to find all the CorrelatedVariable objects that reference the current layer, we would typically call 'discoverCorrelatedVariables(0, new ArrayList())'

Specified by:
  `discoverCorrelatedVariables` in interface `QueryPlanNode`

#### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

Description copied from interface: `QueryPlanNode`
Deep clones this query plan.

Specified by:
  `clone` in interface `QueryPlanNode`
Overrides:
  `clone` in class `java.lang.Object`
Throws:
  `java.lang.CloneNotSupportedException`

#### titleString

    public java.lang.String titleString()

#### debugString

    public void debugString​(int level,
                            java.lang.StringBuffer buf)

Description copied from interface: `QueryPlanNode`
Writes a textural representation of the node to the StringBuffer at the given indent level.

Specified by:
  `debugString` in interface `QueryPlanNode`