Package com.mckoi.database

## Class QueryPlan.SimplePatternSelectNode

- java.lang.Object
- - com.mckoi.database.QueryPlan.SingleQueryPlanNode
  - - com.mckoi.database.QueryPlan.SimplePatternSelectNode

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

Enclosing class:
  QueryPlan

    public static class QueryPlan.SimplePatternSelectNode
    extends QueryPlan.SingleQueryPlanNode

The node for evaluating a simple pattern search on a table which includes a single left hand variable or constant, a pattern type (LIKE, NOT LIKE or REGEXP), and a right hand constant (eg. 'T__y'). If the expression is not in this form then this node will not operate correctly.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode

`child`

### Constructor Summary

Constructors
`SimplePatternSelectNode​(QueryPlanNode child, Expression exp)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Object` `clone()` Deep clone.
`java.util.ArrayList` `discoverCorrelatedVariables​(int level, java.util.ArrayList list)` Default implementation that discovers correlated variables for the given offset level.
`java.util.ArrayList` `discoverTableNames​(java.util.ArrayList list)` Default implementation delegates responsibility to child.
`Table` `evaluate​(QueryContext context)` Evaluates the node and returns the result as a Table.
`java.lang.String` `titleString()`

### Methods inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode

`child, debugString`

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

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

### Constructor Detail

#### SimplePatternSelectNode

    public SimplePatternSelectNode​(QueryPlanNode child,
                                   Expression exp)

### Method Detail

#### 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

#### discoverTableNames

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

Description copied from class: `QueryPlan.SingleQueryPlanNode`
Default implementation delegates responsibility to child.

Specified by:
  `discoverTableNames` in interface `QueryPlanNode`
Overrides:
  `discoverTableNames` in class `QueryPlan.SingleQueryPlanNode`

#### discoverCorrelatedVariables

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

Description copied from class: `QueryPlan.SingleQueryPlanNode`
Default implementation that discovers correlated variables for the given offset level.

Specified by:
  `discoverCorrelatedVariables` in interface `QueryPlanNode`
Overrides:
  `discoverCorrelatedVariables` in class `QueryPlan.SingleQueryPlanNode`

#### clone

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

Description copied from class: `QueryPlan.SingleQueryPlanNode`
Deep clone.

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

#### titleString

    public java.lang.String titleString()

Overrides:
  `titleString` in class `QueryPlan.SingleQueryPlanNode`