Top Interfaces Classes
module org.apache.derby.engine

Package org.apache.derby.impl.sql.compile


Interface Summary

Modifier and TypeInterface and Description
pack-priv interface
AggregateDefinition

An AggregateDefinition defines an aggregate.

pack-priv interface
CharStream

This interface describes a character stream that maintains line and column number positions of the characters.

pack-priv interface
RelationalOperator

This interface is an abstraction of a relational operator.

pack-priv interface

Class Summary

Modifier and TypeClass and Description
pack-priv class
pack-priv class
ActivationClassBuilder

ActivationClassBuilder provides an interface to satisfy generation's common tasks in building an activation class, as well as a repository for the JavaFactory used to generate the basic language constructs for the methods in the class.

pack-priv class
AggregateNode

An Aggregate Node is a node that represents a set function/aggregate.

pack-priv class
AggregateWindowFunctionNode

Represents aggregate function calls on a window

pack-priv class
AllResultColumn

An AllResultColumn represents a "*" result column in a SELECT statement.

pack-priv class
AlterTableNode

A AlterTableNode represents a DDL statement that alters a table.

pack-priv class
pack-priv class
AndNoShortCircuitNode

Used for deferrable CHECK constraint.

pack-priv class
BaseColumnNode

A BaseColumnNode represents a column in a base table.

pack-priv abstract class
pack-priv class
BaseTableNumbersVisitor

Walk through a subtree and build a list of the assigned numbers for all tables that exist in that subtree.

pack-priv abstract class
BaseTypeCompiler

This is the base implementation of TypeCompiler

pack-priv class
BetweenOperatorNode

A BetweenOperatorNode represents a BETWEEN clause.

public class
BinaryArithmeticOperatorNode

This node represents a binary arithmetic operator, like + or *.

public abstract class
BinaryComparisonOperatorNode

This node is the superclass for all binary comparison operators, such as =, <>, <, etc.

public abstract class
BinaryListOperatorNode

A BinaryListOperatorNode represents a built-in "binary" operator with a single operand on the left of the operator and a list of operands on the right.

pack-priv abstract class
pack-priv class
BinaryOperatorNode

A BinaryOperatorNode represents a built-in binary operator as defined by the ANSI/ISO SQL standard.

pack-priv class
BinaryRelationalOperatorNode

This class represents the 6 binary operators: LessThan, LessThanEquals, Equals, NotEquals, GreaterThan and GreaterThanEquals.

pack-priv class
public class
BitTypeCompiler

This class implements TypeCompiler for the SQL BIT datatype.

public class
public class
BooleanTypeCompiler

This class implements TypeCompiler for the SQL BOOLEAN datatype.

pack-priv class
CachedValueNode

A wrapper class for a ValueNode that is referenced multiple places in the abstract syntax tree, but should only be evaluated once.

pack-priv class
CallStatementNode

An CallStatementNode represents a CALL <procedure> statement.

pack-priv class
CastNode

An CastNode represents a cast expression.

public class
public class
CharTypeCompiler

This class implements TypeCompiler for the SQL char datatypes.

public class
CLOBTypeCompiler

This class implements TypeCompiler for the SQL LOB types.

pack-priv class
CoalesceFunctionNode

This node represents coalesce/value function which returns the first argument that is not null.

public class
CollectNodesVisitor<T extends Visitable>

Collect all nodes of the designated type to be returned in a list.

public class
ColumnDefinitionNode

A ColumnDefinitionNode represents a column definition in a DDL statement.

pack-priv class
public class
ColumnReference

A ColumnReference represents a column in the query tree.

public class
CompilerContextImpl

CompilerContextImpl, implementation of CompilerContext.

pack-priv class
ConcatenationOperatorNode

This node represents a concatenation comparison operator varying.

pack-priv class
ConditionalNode

A ConditionalNode represents an if/then/else operator with a single boolean expression on the "left" of the operator and a list of expressions on the "right".

pack-priv class
ConstantExpressionVisitor

This visitor replaces a ValueNode with a node representing a constant value, if the ValueNode is known to always evaluate to the same value.

pack-priv abstract class
ConstantNode

ConstantNode holds literal constants as well as nulls.

public class
ConstraintDefinitionNode

A ConstraintDefintionNode is a class for all nodes that can represent constraint definitions.

pack-priv class
pack-priv class
CountAggregateDefinition

Definition for the COUNT()/COUNT(*) aggregates.

pack-priv class
CreateAliasNode

A CreateAliasNode represents a CREATE ALIAS statement.

pack-priv class
CreateIndexNode

A CreateIndexNode is the root of a QueryTree that represents a CREATE INDEX statement.

pack-priv class
CreateRoleNode

A CreateRoleNode is the root of a QueryTree that represents a CREATE ROLE statement.

pack-priv class
CreateSchemaNode

A CreateSchemaNode is the root of a QueryTree that represents a CREATE SCHEMA statement.

pack-priv class
CreateSequenceNode

A CreateSequenceNode is the root of a QueryTree that represents a CREATE SEQUENCE statement.

pack-priv class
CreateTableNode

A CreateTableNode is the root of a QueryTree that represents a CREATE TABLE or DECLARE GLOBAL TEMPORARY TABLE statement.

pack-priv class
CreateTriggerNode

A CreateTriggerNode is the root of a QueryTree that represents a CREATE TRIGGER statement.

pack-priv class
CreateViewNode

A CreateViewNode is the root of a QueryTree that represents a CREATE VIEW statement.

pack-priv class
CurrentDatetimeOperatorNode

The CurrentDatetimeOperator operator is for the builtin CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP operations.

public class
CurrentOfNode

The CurrentOf operator is used by positioned DELETE and UPDATE to get the current row and location for the target cursor.

pack-priv class
CurrentRowLocationNode

The CurrentRowLocation operator is used by DELETE and UPDATE to get the RowLocation of the current row for the target table.

public class
CursorNode

A CursorNode represents a result set that can be returned to a client.

public class
public class
DB2LengthOperatorNode

This node represents a unary DB2 compatible length operator

pack-priv abstract class
DDLStatementNode

A DDLStatementNode represents any type of DDL statement: CREATE TABLE, CREATE INDEX, ALTER TABLE, etc.

public class
DefaultNode

DefaultNode represents a column/parameter default.

public class
DefaultOptTrace

This is the default optimizer tracing logic for use when a custom tracer wasn't specified.

pack-priv class
DefaultVTIModDeferPolicy

This class implements the default policy for defering modifications to virtual tables.

pack-priv class
DeleteNode

A DeleteNode represents a DELETE statement.

pack-priv class
DistinctNode

A DistinctNode represents a result set for a distinct operation on a select.

pack-priv abstract class
DMLModGeneratedColumnsStatementNode

A DMLModGeneratedColumnsStatementNode for a table(with identity columns) modification: to wit, INSERT, UPDATE.

pack-priv abstract class
DMLModStatementNode

A DMLStatement for a table modification: to wit, INSERT UPDATE or DELETE.

pack-priv abstract class
DMLStatementNode

A DMLStatementNode represents any type of DML statement: a cursor declaration, an INSERT statement, and UPDATE statement, or a DELETE statement.

pack-priv class
DropAliasNode

A DropAliasNode represents a DROP ALIAS statement.

pack-priv class
DropIndexNode

A DropIndexNode is the root of a QueryTree that represents a DROP INDEX statement.

pack-priv class
DropRoleNode

A DropRoleNode is the root of a QueryTree that represents a DROP ROLE statement.

pack-priv class
DropSchemaNode

A DropSchemaNode is the root of a QueryTree that represents a DROP SCHEMA statement.

pack-priv class
DropSequenceNode

A DropSequenceNode represents a DROP SEQUENCE statement.

pack-priv class
DropTableNode

A DropTableNode is the root of a QueryTree that represents a DROP TABLE statement.

pack-priv class
DropTriggerNode

A DropTriggerNode is the root of a QueryTree that represents a DROP TRIGGER statement.

pack-priv class
DropViewNode

A DropViewNode is the root of a QueryTree that represents a DROP VIEW statement.

pack-priv class
ExecSPSNode

A ExecSPSNode is the root of a QueryTree that represents an EXECUTE STATEMENT statement.

pack-priv abstract class
ExpressionClassBuilder

ExpressionClassBuilder provides an interface to satisfy generation's common tasks in building classes that involve expressions.

pack-priv class
ExtractOperatorNode

This node represents a unary extract operator, used to extract a field from a date/time.

public class
FKConstraintDefinitionNode

A FKConstraintDefintionNode represents table constraint definitions.

pack-priv class
FromBaseTable

A FromBaseTable represents a table in the FROM list of a DML statement, as distinguished from a FromSubquery, which represents a subquery in the FROM list.

pack-priv class
FromList

A FromList represents the list of tables in a FROM clause in a DML statement.

pack-priv class
FromSubquery

A FromSubquery represents a subquery in the FROM list of a DML statement.

pack-priv abstract class
FromTable

A FromTable represents a table in the FROM clause of a DML statement.

pack-priv class
FromVTI

A FromVTI represents a VTI in the FROM list of a DML statement.

pack-priv class
GenerationClauseNode

This node describes a Generation Clause in a column definition.

public class
GetCurrentConnectionNode

This node represents a unary getCurrentConnection operator RESOLVE - parameter will always be null for now.

pack-priv class
GrantNode

This class represents a GRANT statement.

pack-priv class
GrantRoleNode

This class represents a GRANT role statement.

pack-priv class
GroupByColumn

A GroupByColumn is a column in the GROUP BY clause.

pack-priv class
GroupByList

A GroupByList represents the list of expressions in a GROUP BY clause in a SELECT statement.

pack-priv class
GroupByNode

A GroupByNode represents a result set for a grouping operation on a select.

pack-priv class
HalfOuterJoinNode

An HalfOuterJoinNode represents a left or a right outer join result set.

pack-priv class
HasCorrelatedCRsVisitor

Find out if we have an correlated column reference anywhere below us.

pack-priv class
pack-priv class
HashTableNode

A HashTableNode represents a result set where a hash table is built.

pack-priv class
HasNodeVisitor

Find out if we have a particular node anywhere in the tree.

pack-priv class
HasTableFunctionVisitor

Find out if we have a user-defined table function anywhere in the tree.

pack-priv class
HasVariantValueNodeVisitor

Find out if we have a value node with variant type less than what the caller desires, anywhere below us.

pack-priv class
IndexToBaseRowNode

This node type translates an index row to a base row.

public class
InListOperatorNode

An InListOperatorNode represents an IN list.

public class
InsertNode

An InsertNode is the top node in a query tree for an insert statement.

public class
IntersectOrExceptNode

A IntersectOrExceptNode represents an INTERSECT or EXCEPT DML statement.

pack-priv class
public class
IsNullNode

This node represents either a unary IS NULL or IS NOT NULL comparison operator

pack-priv class
JavaToSQLValueNode

This node type converts a value from the Java domain to the SQL domain.

pack-priv abstract class
JavaValueNode

This abstract node class represents a data value in the Java domain.

pack-priv class
JoinNode

A JoinNode represents a join result set for either of the basic DML operations: SELECT and INSERT.

public class
LengthOperatorNode

This node represents a unary XXX_length operator

public class
LikeEscapeOperatorNode

This node represents a like comparison operator (no escape) If the like pattern is a constant or a parameter then if possible the like is modified to include a >= and < operator.

public class
LOBTypeCompiler

This class implements TypeCompiler for the SQL LOB types.

pack-priv class
LockTableNode

A LockTableNode is the root of a QueryTree that represents a LOCK TABLE command: LOCK TABLE <tablename> IN SHARE/EXCLUSIVE MODE

public class
MatchingClauseNode

Node representing a WHEN MATCHED or WHEN NOT MATCHED clause in a MERGE statement.

pack-priv class
MaterializeResultSetNode

A MaterializeResultSetNode represents a materialization result set for any child result set that needs one.

pack-priv class
MaterializeSubqueryNode

A MaterializeSubqueryNode is used to replace the nodes for a subquery, to facilitate code generation for materialization if possible.

pack-priv class
MaxMinAggregateDefinition

Defintion for the MAX()/MIN() aggregates.

public class
MergeNode

A MergeNode represents a MERGE statement.

pack-priv abstract class
MethodCallNode

A MethodCallNode represents a Java method call.

pack-priv abstract class
MiscellaneousStatementNode

A MiscellaneousStatement represents any type of statement that doesn't fit into the well defined categories: SET (non-transaction).

pack-priv class
ModifyColumnNode

A ModifyColumnNode represents a modify column in an ALTER TABLE statement.

pack-priv class
pack-priv class
NewInvocationNode

A NewInvocationNode represents a new object() invocation.

pack-priv class
NextSequenceNode

A class that represents a value obtained from a Sequence using 'NEXT VALUE'

pack-priv class
NonStaticMethodCallNode

A NonStaticMethodCallNode is really a node to represent a (static or non-static) method call from an object (as opposed to a static method call from a class.

pack-priv class
NOPStatementNode

A NOPStatement node is for statements that don't do anything.

pack-priv class
NormalizeResultSetNode

A NormalizeResultSetNode represents a normalization result set for any child result set that needs one.

public class
NotNode

A NotNode represents a NOT operator.

public class
public class
NumericTypeCompiler

This class implements TypeId for the SQL numeric datatype.

pack-priv class
OffsetOrderVisitor<
the type of nodes to collect
T extends QueryTreeNode
>

Get all nodes of a certain type in a query tree, and return them in the order in which they appear in the original SQL text.

pack-priv abstract class
OperatorNode

Abstract base-class for the various operator nodes: UnaryOperatorNode, BinaryOperatorNode and TernarnyOperatorNode.

public class
OptimizerFactoryImpl

This is simply the factory for creating an optimizer.

pack-priv class
OptimizerImpl

Optimizer uses OptimizableList to keep track of the best join order as it builds it.

public class
OptimizerTracer

OptionalTool for tracing the Optimizer.

public class
OptTraceViewer

OptionalTool for viewing the output created when you xml-trace the optimizer.

pack-priv class
OrderByColumn

An OrderByColumn is a column in the ORDER BY clause.

pack-priv class
OrderByList

An OrderByList is an ordered list of columns in the ORDER BY clause.

pack-priv class
OrderByNode

An OrderByNode represents a result set for a sort operation for an order by list.

public abstract class
OrderedColumn

An ordered column has position.

public abstract class
OrderedColumnList<E extends OrderedColumn>

List of OrderedColumns

pack-priv class
public class
ParameterNode

This node type represents a ?

pack-priv class
ParseException

This exception is thrown when parse errors are encountered.

public class
public class
Predicate

A Predicate represents a top level predicate.

pack-priv class
PredicateList

A PredicateList represents the list of top level predicates.

pack-priv class
PrivilegeNode

This node represents a set of privileges that are granted or revoked on one object.

pack-priv class
ProjectRestrictNode

A ProjectRestrictNode represents a result set for any of the basic DML operations: SELECT, INSERT, UPDATE, and DELETE.

public abstract class
QueryTreeNode

QueryTreeNode is the root class for all query tree nodes.

pack-priv class
QueryTreeNodeVector<E extends QueryTreeNode>

QueryTreeNodeVector is the root class for all lists of query tree nodes.

pack-priv class
ReferencedTablesVisitor

Build a JBitSet of all of the referenced tables in the tree.

public class
RefTypeCompiler

This class implements TypeCompiler for the SQL REF datatype.

pack-priv class
RemapCRsVisitor

Remap/unremap the CRs to the underlying expression.

pack-priv class
RenameNode

A RenameNode is the root of a QueryTree that represents a RENAME TABLE/COLUMN/INDEX statement.

pack-priv class
ReplaceAggregatesWithCRVisitor

Replace all aggregates with result columns.

pack-priv class
ReplaceNodeVisitor

Replace all occurrences of a specific node with another node.

pack-priv class
ReplaceWindowFuncCallsWithCRVisitor

Replace all window function calls with result columns.

pack-priv class
ResultColumn

A ResultColumn represents a result column in a SELECT, INSERT, or UPDATE statement.

pack-priv class
ResultColumnList

A ResultColumnList is the target list of a SELECT, INSERT, or UPDATE.

public abstract class
ResultSetNode

A ResultSetNode represents a result set, that is, a set of rows.

pack-priv class
RevokeNode

This class represents a REVOKE statement.

pack-priv class
RevokeRoleNode

This class represents a REVOKE role statement.

pack-priv class
RoutineDesignator

This node represents a routine signature.

public class
RowCountNode

The result set generated by this node (RowCountResultSet) implements the filtering of rows needed for the <result offset clause> and the <fetch first clause>.

public class
RowNumberFunctionNode

Class that represents a call to the ROW_NUMBER() window function.

pack-priv class
pack-priv class
RowResultSetNode

A RowResultSetNode represents the result set for a VALUES clause.

pack-priv class
SavepointNode

A SavepointNode is the root of a QueryTree that represents a Savepoint (ROLLBACK savepoint, RELASE savepoint and SAVEPOINT) statement.

pack-priv class
ScrollInsensitiveResultSetNode

A ScrollInsensitiveResultSetNode represents the insensitive scrolling cursor functionality for any child result set that needs one.

pack-priv class
SelectNode

A SelectNode represents the result set for any of the basic DML operations: SELECT, INSERT, UPDATE, and DELETE.

pack-priv class
SetConstraintsNode

A SetConstraintsNode is the root of a QueryTree that represents a SET CONSTRAINTS statement.

pack-priv abstract class
SetOperatorNode

A SetOperatorNode represents a UNION, INTERSECT, or EXCEPT in a DML statement.

pack-priv class
SetRoleNode

A SetRoleNode is the root of a QueryTree that represents a SET ROLE statement.

pack-priv class
SetSchemaNode

A SetSchemaNode is the root of a QueryTree that represents a SET SCHEMA statement.

pack-priv class
SetTransactionIsolationNode

A SetTransactionIsolationNode is the root of a QueryTree that represents a SET TRANSACTION ISOLATION command

pack-priv class
SimpleStringOperatorNode

This node represents a unary upper or lower operator

pack-priv abstract class
SingleChildResultSetNode

A SingleChildResultSetNode represents a result set with a single child.

pack-priv class
SpecialFunctionNode

SpecialFunctionNode handles system SQL functions.

pack-priv class
pack-priv class
pack-priv class
SQLToJavaValueNode

This node type converts a value in the SQL domain to a value in the Java domain.

public abstract class
StatementNode

A StatementNode represents a single statement in the language.

public class
StaticClassFieldReferenceNode

A StaticClassFieldReferenceNode represents a Java static field reference from a Class (as opposed to an Object).

pack-priv class
StaticMethodCallNode

A StaticMethodCallNode represents a static method call from a Class (as opposed to from an Object).

pack-priv class
SubqueryList

A SubqueryList represents a list of subqueries within a specific clause (select, where or having) in a DML statement.

pack-priv class
SubqueryNode

A SubqueryNode represents a subquery.

pack-priv class
SubstituteExpressionVisitor

Replaces a source expression with a target expression.

pack-priv class
SumAvgAggregateDefinition

Definition for the SUM()/AVG() aggregates.

pack-priv class
TableElementList

A TableElementList represents the list of columns and other table elements such as constraints in a CREATE TABLE or ALTER TABLE statement.

pack-priv class
TableElementNode

A TableElementNode is an item in a TableElementList, and represents a single table element such as a column or constraint in a CREATE TABLE or ALTER TABLE statement.

public class
TableName

A TableName represents a qualified name, externally represented as a schema name and an object name separated by a dot.

pack-priv abstract class
TableOperatorNode

A TableOperatorNode represents a relational operator like UNION, INTERSECT, JOIN, etc. that takes two tables as parameters and returns a table.

pack-priv class
TablePrivilegesNode

This class represents a set of privileges on one table.

pack-priv class
TernaryOperatorNode

A TernaryOperatorNode represents a built-in ternary operators.

pack-priv class
TestConstraintNode

A TestConstraintNode is used to determine when a constraint has been violated.

pack-priv class
TimestampOperatorNode

The TimestampOperatorNode class implements the timestamp( date, time) function.

public class
public class
pack-priv class
Token

Describes the input token stream.

pack-priv class
pack-priv abstract class
TransactionStatementNode

A TransactionStatementNode represents any type of Transaction statement: SET TRANSACTION, COMMIT, and ROLLBACK.

pack-priv class
TriggerReferencingStruct

Rudimentary structure for containing information about a REFERENCING clause for a trigger.

public class
public class
UCode_CharStream

An implementation of interface CharStream, where the stream is assumed to contain only Unicode characters.

pack-priv class
UnaryArithmeticOperatorNode

This node represents a unary arithmetic operator

public abstract class
UnaryComparisonOperatorNode

This node is the superclass for all unary comparison operators, such as is null and is not null.

pack-priv class
UnaryDateTimestampOperatorNode

This class implements the timestamp( x) and date(x) functions.

public abstract class
pack-priv class
UnaryOperatorNode

A UnaryOperatorNode represents a built-in unary operator as defined by the ANSI/ISO SQL standard.

pack-priv class
UnionNode

A UnionNode represents a UNION in a DML statement.

public class
UntypedNullConstantNode

An UntypedNullConstantNode represents a SQL NULL before it has been bound.

public class
UpdateNode

An UpdateNode represents an UPDATE statement.

pack-priv class
UserAggregateDefinition

Definition for user-defined aggregates.

public class
pack-priv class
UserTypeConstantNode

User type constants.

public abstract class
ValueNode

A ValueNode is an abstract class for all nodes that can represent data values, that is, constants, columns, and expressions.

pack-priv class
ValueNodeList

A ValueNodeList represents a list of ValueNodes within a specific predicate e.g. IN list, NOT IN list or BETWEEN in a DML statement.

public class
pack-priv class
VerifyAggregateExpressionsVisitor

If a RCL (SELECT list) contains an aggregate, then we must verify that the RCL (SELECT list) is valid.

pack-priv class
VirtualColumnNode

A VirtualColumnNode represents a virtual column reference to a column in a row returned by an underlying ResultSetNode.

pack-priv class
VTIDeferModPolicy

This class applies a VTI modification deferral policy to a statement to see whether it should be deferred.

public class
WindowDefinitionNode

This class represents an OLAP window definition.

public abstract class
WindowFunctionNode

Superclass of any window function call.

pack-priv class
WindowList

A WindowList represents the list of windows (definitions) for a table expression, either defined explicitly in a WINDOW clause, or inline in the SELECT list or ORDER BY clause.

public abstract class
WindowNode

Superclass of window definition and window reference.

public class
WindowReferenceNode

Represents a reference to an explicitly defined window

pack-priv class
WindowResultSetNode

A WindowResultSetNode represents a result set for a window partitioning on a select.

public class
pack-priv class
XMLOptTrace

Optimizer tracer which produces output in an xml format.

public class
XMLTypeCompiler

This class implements TypeCompiler for the XML type.