## Uses of Interface
com.mckoi.database.QueryContext

Packages that use QueryContext
com.mckoi.database: The core database classes for Mckoi.

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

Classes in com.mckoi.database that implement QueryContext
`class` `AbstractQueryContext` An abstract implementation of QueryContext
`class` `DatabaseQueryContext` An implementation of a QueryContext based on a DatabaseConnection object.

Methods in com.mckoi.database with parameters of type QueryContext
`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.
`RowData` DataTable.`createRowDataObject​(QueryContext context)` Generates an empty RowData object for 'addRow'ing into the Table.
`QueryPlanNode` QueryPlan.FetchViewNode.`createViewChildNode​(QueryContext context)` Returns the QueryPlanNode that resolves to the view.
`abstract TObject` Operator.`eval​(TObject ob1, TObject ob2, GroupResolver group, VariableResolver resolver, QueryContext context)`
`abstract TObject` AbstractAggregateFunction.`evalAggregate​(GroupResolver group, QueryContext context, TObject val1, TObject val2)` Evaluates the aggregate function for the given values and returns the result.
`TObject` AbstractAggregateFunction.`evaluate​(GroupResolver group, VariableResolver resolver, QueryContext context)`
`TObject` Expression.`evaluate​(GroupResolver group, VariableResolver resolver, QueryContext context)` Evaluates this expression and returns an Object that represents the result of the evaluation.
`TObject` Expression.`evaluate​(VariableResolver resolver, QueryContext context)` Evaluation without a grouping table.
`TObject` Function.`evaluate​(GroupResolver group, VariableResolver resolver, QueryContext context)` Evaluates the function and returns a TObject that represents the result of the function.
`Table` QueryPlan.CachePointNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.CompositeNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.ConstantSelectNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.CreateFunctionsNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.DistinctNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.EquiJoinNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.ExhaustiveSelectNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.FetchTableNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.FetchViewNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.FunctionalSelectNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.GroupNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.JoinNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.LeftOuterJoinNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.LogicalUnionNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.MarkerNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.MultiColumnEquiSelectNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.NaturalJoinNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.NonCorrelatedAnyAllNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.RangeSelectNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.SimplePatternSelectNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.SimpleSelectNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.SingleRowTableNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.SortNode.`evaluate​(QueryContext context)`
`Table` QueryPlan.SubsetNode.`evaluate​(QueryContext context)`
`Table` QueryPlanNode.`evaluate​(QueryContext context)` Evaluates the node and returns the result as a Table.
`Table` Table.`exhaustiveSelect​(QueryContext context, Expression exp)` Exhaustively searches through this table for rows that match the expression given.
`Function` FunctionDef.`getFunction​(QueryContext context)` Returns a Function object from this FunctionDef.
`boolean` Expression.`hasAggregateFunction​(QueryContext context)` Cascades through the expression and if any aggregate functions are found returns true, otherwise returns false.
`boolean` AbstractFunction.`isAggregate​(QueryContext context)` Returns whether the function is an aggregate function or not.
`boolean` Function.`isAggregate​(QueryContext context)` Returns true if this function is an aggregate function.
`boolean` FunctionDef.`isAggregate​(QueryContext context)` Returns true if this function is an aggregate, or the parameters are aggregates.
`TObject` AbstractAggregateFunction.`postEvalAggregate​(GroupResolver group, QueryContext context, TObject result)` Called just before the value is returned to the parent.
`TType` AbstractFunction.`returnTType​(VariableResolver resolver, QueryContext context)` By Default, we assume a function returns a Numeric object.
`TType` Expression.`returnTType​(VariableResolver resolver, QueryContext context)` Determines the type of object this expression evaluates to.
`TType` Function.`returnTType​(VariableResolver resolver, QueryContext context)` The type of object this function returns.
`void` RowData.`setColumnToDefault​(int column, QueryContext context)` Sets the given column number to the default value for this column.
`void` RowData.`setDefaultForRest​(QueryContext context)` Any columns in the row of data that haven't been set yet (they will be 'null') will be set to the default value during this method.
`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` RowData.`setupEntire​(int[] col_indices, java.util.List insert_elements, QueryContext context)` Sets up an entire row given the list of insert elements and a list of indices to the columns to set.
`void` RowData.`setupEntire​(Assignment[] assignments, QueryContext context)` Sets up an entire row given the array of assignments.
`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.
`int` DataTable.`update​(QueryContext context, Table table, Assignment[] assign_list, int limit)` Updates the table by applying the assignment operations over each row that is found in the input 'table' set.