com.mckoi.database.interpret
Class TableSelectExpression

java.lang.Object
  extended by com.mckoi.database.interpret.TableSelectExpression
All Implemented Interfaces:
StatementTreeObject, java.io.Serializable, java.lang.Cloneable

public final class TableSelectExpression
extends java.lang.Object
implements java.io.Serializable, StatementTreeObject, java.lang.Cloneable

A container object for the a table select expression, eg.

               SELECT [columns]
                 FROM [tables]
                WHERE [search_clause]
             GROUP BY [column]
               HAVING [search_clause]
 [composite_function] [table_select_expression]
 

Note that a TableSelectExpression can be nested in the various clauses of this object.

Author:
Tobias Downer
See Also:
Serialized Form

Field Summary
 java.util.ArrayList columns
          The list of columns to select from.
 boolean distinct
          True if we only search for distinct elements.
 FromClause from_clause
          The from clause.
 java.util.ArrayList group_by
          The list of columns to group by.
 Variable group_max
          The group max variable or null if no group max.
 SearchExpression having_clause
          The having clause.
 SearchExpression where_clause
          The where clause.
 
Constructor Summary
TableSelectExpression()
          Constructor.
 
Method Summary
 void chainComposite(TableSelectExpression expression, java.lang.String composite, boolean is_all)
          Chains a new composite function to this expression.
 java.lang.Object clone()
          Performs a DEEP clone of this object if it is mutable, or a deep clone of its mutable members.
 void prepareExpressions(ExpressionPreparer preparer)
          Prepares all expressions in this statement tree object by passing the ExpressionPreparer object to the 'prepare' method of the expression.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

distinct

public boolean distinct
True if we only search for distinct elements.


columns

public java.util.ArrayList columns
The list of columns to select from. (SelectColumn)


from_clause

public FromClause from_clause
The from clause.


where_clause

public SearchExpression where_clause
The where clause.


group_by

public java.util.ArrayList group_by
The list of columns to group by. (ByColumn)


group_max

public Variable group_max
The group max variable or null if no group max.


having_clause

public SearchExpression having_clause
The having clause.

Constructor Detail

TableSelectExpression

public TableSelectExpression()
Constructor.

Method Detail

chainComposite

public void chainComposite(TableSelectExpression expression,
                           java.lang.String composite,
                           boolean is_all)
Chains a new composite function to this expression. For example, if this expression is a UNION ALL with another expression it would be set through this method.


prepareExpressions

public void prepareExpressions(ExpressionPreparer preparer)
                        throws DatabaseException
Description copied from interface: StatementTreeObject
Prepares all expressions in this statement tree object by passing the ExpressionPreparer object to the 'prepare' method of the expression.

Specified by:
prepareExpressions in interface StatementTreeObject
Throws:
DatabaseException

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Description copied from interface: StatementTreeObject
Performs a DEEP clone of this object if it is mutable, or a deep clone of its mutable members. If the object is immutable then it may return 'this'.

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