## Uses of Class
com.mckoi.database.Expression

Packages that use Expression
com.mckoi.database: The core database classes for Mckoi.
com.mckoi.database.interpret: These classes interpret specific SQL statements, such as Insert and Delete.
com.mckoi.database.sql: These classes parse SQL statements in Mckoi.

### Uses of Expression in com.mckoi.database

Fields in com.mckoi.database declared as Expression
`Expression` Transaction.CheckExpression.`expression` The expression to check.
`static Expression[]` FunctionFactory.`GLOB_LIST` Represents a function argument * for glob's such as 'count(*)'

Methods in com.mckoi.database that return Expression
`Expression` Expression.`concat​(Expression expr)` Merges an expression with this expression.
`Expression` DataTableColumnDef.`getDefaultExpression​(TransactionSystem system)`
`Expression` Expression.`getEndExpression()` Returns the end Expression of this expression.
`Expression` Assignment.`getExpression()` Returns the Expression for this assignment.
`Expression` JoiningSet.`getOnExpression​(int n)` Returns the ON Expression for the type of join after table 'n' in the set.
`Expression` AbstractFunction.`getParameter​(int n)` Returns the parameter at the given index in the parameters list.
`Expression[]` FunctionDef.`getParameters()` The list of parameters that are passed to the function.
`static Expression` Expression.`parse​(java.lang.String expression)` Static method that parses the given string which contains an expression into an Expression object.
`static Expression` Expression.`simple​(java.lang.Object ob1, Operator op, java.lang.Object ob2)` Generates a simple expression from two objects and an operator.
`Expression[]` Expression.`split()` Returns an array of two Expression objects that represent the left hand and right and side of the last operator in the post fix notation.

Methods in com.mckoi.database with parameters of type Expression
`void` DatabaseConnection.`addCheckConstraint​(TableName table_name, Expression expression, short deferred, java.lang.String constraint_name)` Same as the Transaction.addCheckConstraint method.
`void` Transaction.`addCheckConstraint​(TableName table_name, Expression expression, short deferred, java.lang.String constraint_name)` Adds a check expression that becomes perminent when the transaction is committed.
`void` JoiningSet.`addJoin​(int type, Expression on_expression)` Adds a joining type to the set, and an 'on' expression.
`void` JoiningSet.`addPreviousJoin​(int type, Expression on_expression)` Hack, add a joining type to the previous entry from the end.
`Table` Table.`all​(QueryContext context, Expression lhs, Operator op, Table table)` Evaluates a non-correlated ALL type operator given the LHS expression, the RHS subquery and the ALL operator to use.
`Table` Table.`any​(QueryContext context, Expression lhs, Operator op, Table right_table)` Evaluates a non-correlated ANY type operator given the LHS expression, the RHS subquery and the ANY operator to use.
`Expression` Expression.`concat​(Expression expr)` Merges an expression with this expression.
`void` Expression.`copyTextFrom​(Expression e)` Copies the text from the given expression.
`Table` Table.`exhaustiveSelect​(QueryContext context, Expression exp)` Exhaustively searches through this table for rows that match the expression given.
`static Table` FunctionTable.`resultTable​(DatabaseQueryContext context, Expression expression)` Returns a FunctionTable that has a single Expression evaluated in it.
`void` DataTableColumnDef.`setDefaultExpression​(Expression expression)`
`void` RowData.`setupEntire​(int[] col_indices, Expression[] exps, QueryContext context)` Sets up an entire row given the array of Expressions and a list of indices to the columns to set.
`void` DatabaseConnection.`setVar​(java.lang.String name, Expression exp)` Assigns a variable to the expression for this connection.
`Table` Table.`simpleJoin​(QueryContext context, Table table, Variable lhs_var, Operator op, Expression rhs)` A simple join operation.
`Table` Table.`simpleSelect​(QueryContext context, Variable lhs_var, Operator op, Expression rhs)` A simple select on this table.

Constructors in com.mckoi.database with parameters of type Expression
`AbstractAggregateFunction​(java.lang.String name, Expression[] params)` Constructs an aggregate function.
`AbstractFunction​(java.lang.String name, Expression[] params)` Constructs the Function with the given expression array as parameters.
`Assignment​(Variable variable, Expression expression)` Constructs the assignment.
`ConstantSelectNode​(QueryPlanNode child, Expression exp)`
`CreateFunctionsNode​(QueryPlanNode child, Expression[] function_list, java.lang.String[] name_list)` Constructor.
`ExhaustiveSelectNode​(QueryPlanNode child, Expression exp)`
`Expression​(Expression exp)` Constructs a copy of the given Expression.
`Expression​(Expression exp1, Operator op, Expression exp2)` Constructs a new Expression from the concatination of expression1 and expression2 and the operator for them.
`FunctionalSelectNode​(QueryPlanNode child, Expression exp)`
`FunctionDef​(java.lang.String name, Expression[] params)` Constructs the FunctionDef.
`FunctionTable​(Expression[] exp_list, java.lang.String[] col_names, DatabaseQueryContext context)`
`FunctionTable​(Table cross_ref_table, Expression[] in_exp_list, java.lang.String[] col_names, DatabaseQueryContext context)` Constructs the FunctionTable.
`GroupNode​(QueryPlanNode child, Variable[] columns, Variable group_max_column, Expression[] function_list, java.lang.String[] name_list)` Groups over the given columns from the child.
`GroupNode​(QueryPlanNode child, Variable group_max_column, Expression[] function_list, java.lang.String[] name_list)` Groups over the entire child (always ends in 1 result in set).
`JoinNode​(QueryPlanNode left, QueryPlanNode right, Variable left_var, Operator join_op, Expression right_expression)`
`JoinPart​(int type, Expression on_expression)` Constructs the JoinPart.
`MultiColumnEquiSelectNode​(QueryPlanNode child, Variable[] columns, Expression[] values)`
`RangeSelectNode​(QueryPlanNode child, Expression exp)`
`SimplePatternSelectNode​(QueryPlanNode child, Expression exp)`
`SimpleSelectNode​(QueryPlanNode child, Variable left_var, Operator op, Expression right_expression)`

### Uses of Expression in com.mckoi.database.interpret

Fields in com.mckoi.database.interpret declared as Expression
`Expression` ByColumn.`exp` The expression that we are ordering by.
`Expression` SelectColumn.`expression` The expression of this column.

Methods in com.mckoi.database.interpret that return Expression
`Expression` SearchExpression.`getFromExpression()` Returns the search expression as an Expression object.
`Expression` FromClause.`getOnExpression​(int n)` Returns the ON Expression for the type of join after table 'n' in the set.

Methods in com.mckoi.database.interpret with parameters of type Expression
`void` FromClause.`addJoin​(int type, Expression on_expression)` Adds a Join to the from clause.
`void` FromClause.`addPreviousJoin​(int type, Expression on_expression)` Hack, add a joining type to the previous entry from the end.
`void` ConstraintDef.`setCheck​(Expression exp)` Sets object up for a check constraint.
`void` ColumnDef.`setDefaultExpression​(Expression exp)` Sets the default expression (this is used to make a new constraint).
`void` SearchExpression.`setFromExpression​(Expression expression)` Sets this search expression from the given expression.

### Uses of Expression in com.mckoi.database.sql

Methods in com.mckoi.database.sql that return Expression
`Expression` SQL.`DoExpression()`
`Expression` SQL.`DoNonBooleanExpression()`
`Expression[]` SQL.`ExpressionList()`
`Expression` SQL.`ExpressionTest()`
`Expression[]` SQL.`FunctionParams()`
`static Expression` Util.`normalize​(Expression exp)` Normalizes the Expression by removing all NOT operators and altering the expression as appropriate.
`Expression` SQL.`parseExpression()`

Methods in com.mckoi.database.sql with parameters of type Expression
`void` SQL.`addOperatorToExpression​(Expression exp, Operator op)` Helper for expression parsing.
`void` SQL.`BetweenPredicate​(Expression exp, java.util.Stack stack)`
`void` SQL.`BooleanOperator​(Expression exp, java.util.Stack stack)`
`void` SQL.`expEnd​(Expression exp, java.util.Stack stack)` Helper for expression parsing.
`void` SQL.`expEndParen​(Expression exp, java.util.Stack stack)` Helper for expression parsing.
`void` SQL.`expOperator​(Expression exp, java.util.Stack stack, Operator op)` Helper for expression parsing.
`void` SQL.`expression​(Expression exp, java.util.Stack stack)` Parse an expression.
`static java.lang.String` Util.`expressionListToString​(Expression[] list)` Returns an array of Expression objects as a comma deliminated string.
`void` SQL.`flushOperatorStack​(Expression exp, java.util.Stack stack, int precedence)` Flush the operator stack until the stack is either empty or the top element is either a "(" or of a precedence lower than the given precedence.
`void` SQL.`nonBooleanExpression​(Expression exp, java.util.Stack stack)` Parses a non-boolean expression.
`static Expression` Util.`normalize​(Expression exp)` Normalizes the Expression by removing all NOT operators and altering the expression as appropriate.
`void` SQL.`NumericOperator​(Expression exp, java.util.Stack stack)`
`void` SQL.`Operand​(Expression exp, java.util.Stack stack)`
`void` SQL.`OpPart​(Expression exp, java.util.Stack stack)`
`static FunctionDef` Util.`resolveFunctionName​(java.lang.String name, Expression[] exp_list)` Returns a Function object that represents the name and expression list (of parameters) of a function.
`void` SQL.`StringOperator​(Expression exp, java.util.Stack stack)`
`void` SQL.`SubQueryExpression​(Expression exp, java.util.Stack stack)`
`void` SQL.`SubQueryOperator​(Expression exp, java.util.Stack stack)`
`static TObject` Util.`toArrayParamObject​(Expression[] arr)` Converts an expression array to an array type that can be added to an expression.