Package com.mckoi.database

## Interface TableQueryDef

    public interface TableQueryDef

An interface to an object that describes characteristics of a table based object in the database. This can represent anything that evaluates to a Table when the query plan is evaluated. It is used to represent data tables and views.

This object is used by the planner to see ahead of time what sort of table we are dealing with. For example, a view is stored with a DataTableDef describing the resultant columns, and the QueryPlanNode to produce the view result. The query planner requires the information in DataTableDef to resolve references in the query, and the QueryPlanNode to add into the resultant plan tree.

Author:
  Tobias Downer

### Method Summary

All Methods Instance Methods Abstract Methods
`DataTableDef` `getDataTableDef()` Returns an immutable DataTableDef object that describes the columns in this table source, and the name of the table.
`QueryPlanNode` `getQueryPlanNode()` Returns a QueryPlanNode that can be put into a plan tree and can be evaluated to find the result of the table.

### Method Detail

#### getDataTableDef

    DataTableDef getDataTableDef()

Returns an immutable DataTableDef object that describes the columns in this table source, and the name of the table.

#### getQueryPlanNode

    QueryPlanNode getQueryPlanNode()

Returns a QueryPlanNode that can be put into a plan tree and can be evaluated to find the result of the table. This method should always return a new object representing the query plan.