org.apache.derby.impl.sql.compile |
|
Java Source File Name | Type | Comment |
AccessPathImpl.java | Class | |
ActivationClassBuilder.java | Class | 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.
Common tasks include the setting of a static field for each
expression function that gets added, the creation
of the execute method that gets expanded as the query tree
is walked, setting the superclass.
An activation class is defined for each statement. |
AggregateDefinition.java | Interface | An AggregateDefinition defines an aggregate.
It is used
by Cloudscape during query compilation to determine what
Aggregator is used to aggregate a particular data type
and what datatype the Aggregator will emit. |
AggregateNode.java | Class | An Aggregate Node is a node that reprsents a set function/aggregate. |
AllResultColumn.java | Class | An AllResultColumn represents a "*" result column in a SELECT
statement. |
AlterTableNode.java | Class | A AlterTableNode represents a DDL statement that alters a table. |
AndNode.java | Class | |
BaseColumnNode.java | Class | A BaseColumnNode represents a column in a base table. |
BaseJoinStrategy.java | Class | |
BaseTableNumbersVisitor.java | Class | Walk through a subtree and build a list of the assigned numbers for
all tables that exist in that subtree. |
BaseTypeCompiler.java | Class | |
BetweenOperatorNode.java | Class | A BetweenOperatorNode represents a BETWEEN clause. |
BinaryArithmeticOperatorNode.java | Class | This node represents a binary arithmetic operator, like + or *. |
BinaryComparisonOperatorNode.java | Class | This node is the superclass for all binary comparison operators, such as =,
<>, <, etc. |
BinaryListOperatorNode.java | Class | 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. |
BinaryLogicalOperatorNode.java | Class | |
BinaryOperatorNode.java | Class | A BinaryOperatorNode represents a built-in binary operator as defined by
the ANSI/ISO SQL standard. |
BinaryRelationalOperatorNode.java | Class | This class represents the 6 binary operators: LessThan, LessThanEquals,
Equals, NotEquals, GreaterThan and GreaterThanEquals. |
BitConstantNode.java | Class | |
BitTypeCompiler.java | Class | This class implements TypeCompiler for the SQL BIT datatype. |
BooleanConstantNode.java | Class | |
BooleanTypeCompiler.java | Class | This class implements TypeCompiler for the SQL BOOLEAN datatype. |
CallStatementNode.java | Class | An CallStatementNode represents a CALL statement. |
CastNode.java | Class | An CastNode represents a cast expressionr. |
CharConstantNode.java | Class | |
CharStream.java | Interface | This interface describes a character stream that maintains line and
column number positions of the characters. |
CharTypeCompiler.java | Class | This class implements TypeCompiler for the SQL char datatypes. |
CLOBTypeCompiler.java | Class | This class implements TypeCompiler for the SQL LOB types. |
CoalesceFunctionNode.java | Class | This node represents coalesce/value function which returns the first argument that is not null.
The arguments are evaluated in the order in which they are specified, and the result of the
function is the first argument that is not null. |
CollectNodesVisitor.java | Class | Collect all nodes of the designated type to be returned
in a vector. |
ColumnDefinitionNode.java | Class | A ColumnDefinitionNode represents a column definition in a DDL statement. |
ColumnOrdering.java | Class | |
ColumnReference.java | Class | A ColumnReference represents a column in the query tree. |
CompilerContextImpl.java | Class | CompilerContextImpl, implementation of CompilerContext. |
ConcatenationOperatorNode.java | Class | |
ConditionalNode.java | Class | 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". |
ConstantNode.java | Class | ConstantNode holds literal constants as well as nulls.
A NULL from the parser may not yet know its type; that
must be set during binding, as it is for parameters.
the DataValueDescriptor methods want to throw exceptions
when they are of the wrong type, but to do that they
must check typeId when the value is null, rather than
the instanceof check they do for returning a valid value.
For code generation, we generate a static field. |
ConstraintDefinitionNode.java | Class | A ConstraintDefintionNode is a class for all nodes that can represent
constraint definitions. |
CostEstimateImpl.java | Class | |
CountAggregateDefinition.java | Class | Defintion for the COUNT()/COUNT(*) aggregates. |
CreateAliasNode.java | Class | A CreateAliasNode represents a CREATE ALIAS statement. |
CreateIndexNode.java | Class | A CreateIndexNode is the root of a QueryTree that represents a CREATE INDEX
statement. |
CreateSchemaNode.java | Class | A CreateSchemaNode is the root of a QueryTree that
represents a CREATE SCHEMA statement. |
CreateTableNode.java | Class | A CreateTableNode is the root of a QueryTree that represents a CREATE TABLE or DECLARE GLOBAL TEMPORARY TABLE
statement. |
CreateTriggerNode.java | Class | A CreateTriggerNode is the root of a QueryTree
that represents a CREATE TRIGGER
statement. |
CreateViewNode.java | Class | A CreateViewNode is the root of a QueryTree that represents a CREATE VIEW
statement. |
CurrentDatetimeOperatorNode.java | Class | The CurrentDatetimeOperator operator is for the builtin CURRENT_DATE,
CURRENT_TIME, and CURRENT_TIMESTAMP operations. |
CurrentOfNode.java | Class | The CurrentOf operator is used by positioned DELETE
and UPDATE to get the current row and location
for the target cursor. |
CurrentRowLocationNode.java | Class | The CurrentRowLocation operator is used by DELETE and UPDATE to get the
RowLocation of the current row for the target table. |
CursorNode.java | Class | A CursorNode represents a result set that can be returned to a client.
A cursor can be a named cursor created by the DECLARE CURSOR statement,
or it can be an unnamed cursor associated with a SELECT statement (more
precisely, a table expression that returns rows to the client). |
C_NodeNames.java | Interface | This is the set of constants used to identify the classes
that are used in NodeFactoryImpl.
This class is not shipped. |
DateTypeCompiler.java | Class | |
DB2LengthOperatorNode.java | Class | |
DDLStatementNode.java | Class | A DDLStatementNode represents any type of DDL statement: CREATE TABLE,
CREATE INDEX, ALTER TABLE, etc. |
DefaultNode.java | Class | DefaultNode represents a column/parameter default. |
DefaultVTIModDeferPolicy.java | Class | This class implements the default policy for defering modifications to virtual
tables. |
DeleteNode.java | Class | A DeleteNode represents a DELETE statement. |
DistinctNode.java | Class | A DistinctNode represents a result set for a disinct operation
on a select. |
DMLModStatementNode.java | Class | A DMLStatement for a table modification: to wit, INSERT
UPDATE or DELETE. |
DMLStatementNode.java | Class | A DMLStatementNode represents any type of DML statement: a cursor declaration,
an INSERT statement, and UPDATE statement, or a DELETE statement. |
DropAliasNode.java | Class | A DropAliasNode represents a DROP ALIAS statement. |
DropIndexNode.java | Class | A DropIndexNode is the root of a QueryTree that represents a DROP INDEX
statement. |
DropSchemaNode.java | Class | A DropSchemaNode is the root of a QueryTree that represents
a DROP SCHEMA statement. |
DropTableNode.java | Class | A DropTableNode is the root of a QueryTree that represents a DROP TABLE
statement. |
DropTriggerNode.java | Class | A DropTriggerNode is the root of a QueryTree that represents a DROP TRIGGER
statement. |
DropViewNode.java | Class | A DropViewNode is the root of a QueryTree that represents a DROP VIEW
statement. |
ExecSPSNode.java | Class | A ExecSPSNode is the root of a QueryTree
that represents an EXECUTE STATEMENT
statement. |
ExpressionClassBuilder.java | Class | ExpressionClassBuilder
provides an interface to satisfy generation's
common tasks in building classes that involve expressions.
This is the common superclass of ActivationClassBuilder and
FilterClassBuilder. |
ExtractOperatorNode.java | Class | This node represents a unary extract operator, used to extract
a field from a date/time. |
FKConstraintDefinitionNode.java | Class | A FKConstraintDefintionNode represents table constraint definitions. |
FromBaseTable.java | Class | 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. |
FromList.java | Class | A FromList represents the list of tables in a FROM clause in a DML
statement. |
FromSubquery.java | Class | A FromSubquery represents a subquery in the FROM list of a DML statement. |
FromTable.java | Class | A FromTable represents a table in the FROM clause of a DML statement. |
FromVTI.java | Class | A FromVTI represents a VTI in the FROM list of a DML statement. |
GetCurrentConnectionNode.java | Class | This node represents a unary getCurrentConnection operator
RESOLVE - parameter will always be null for now. |
GrantNode.java | Class | This class represents a GRANT statement. |
GroupByColumn.java | Class | A GroupByColumn is a column in the GROUP BY clause. |
GroupByList.java | Class | A GroupByList represents the list of expressions in a GROUP BY clause in
a SELECT statement. |
GroupByNode.java | Class | A GroupByNode represents a result set for a grouping operation
on a select. |
HalfOuterJoinNode.java | Class | An HalfOuterJoinNode represents a left or a right outer join result set. |
HasCorrelatedCRsVisitor.java | Class | Find out if we have an correlated column reference
anywhere below us. |
HashJoinStrategy.java | Class | |
HashNodeList.java | Class | HashNodeList is the root class for all hashlists of query tree nodes. |
HashTableNode.java | Class | A HashTableNode represents a result set where a hash table is built. |
HasNodeVisitor.java | Class | Find out if we have a particular node anywhere in the
tree. |
HasVariantValueNodeVisitor.java | Class | Find out if we have a value node with variant type less than what the
caller desires, anywhere below us. |
IndexToBaseRowNode.java | Class | This node type translates an index row to a base row. |
InListOperatorNode.java | Class | An InListOperatorNode represents an IN list. |
InsertNode.java | Class | An InsertNode is the top node in a query tree for an
insert statement.
After parsing, the node contains
targetTableName: the target table for the insert
collist: a list of column names, if specified
queryexpr: the expression being inserted, either
a values clause or a select form; both
of these are represented via the SelectNode,
potentially with a TableOperatorNode such as
UnionNode above it.
After binding, the node has had the target table's
descriptor located and inserted, and the queryexpr
and collist have been massaged so that they are identical
to the table layout. |
IntersectOrExceptNode.java | Class | A IntersectOrExceptNode represents an INTERSECT or EXCEPT DML statement. |
IsNode.java | Class | |
IsNullNode.java | Class | |
JavaToSQLValueNode.java | Class | This node type converts a value from the Java domain to the SQL domain. |
JavaValueNode.java | Class | This abstract node class represents a data value in the Java domain. |
JoinNode.java | Class | A JoinNode represents a join result set for either of the basic DML
operations: SELECT and INSERT. |
LengthOperatorNode.java | Class | |
Level2CostEstimateImpl.java | Class | |
Level2OptimizerFactoryImpl.java | Class | This is simply the factory for creating an optimizer. |
Level2OptimizerImpl.java | Class | This is the Level 2 Optimizer. |
LikeEscapeOperatorNode.java | Class | 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. |
LOBConstantNode.java | Class | |
LOBTypeCompiler.java | Class | This class implements TypeCompiler for the SQL LOB types. |
LockTableNode.java | Class | |
MaterializeResultSetNode.java | Class | A MaterializeResultSetNode represents a materialization result set for any
child result set that needs one. |
MaterializeSubqueryNode.java | Class | A MaterializeSubqueryNode is used to replace the nodes for a subquery, to facilitate
code generation for materialization if possible. |
MaxMinAggregateDefinition.java | Class | Defintion for the MAX()/MIN() aggregates. |
MethodCallNode.java | Class | A MethodCallNode represents a Java method call. |
MiscellaneousStatementNode.java | Class | A MiscellaneousStatement represents any type of statement that doesn't
fit into the well defined categores:
SET (non-transaction). |
ModifyColumnNode.java | Class | A ModifyColumnNode represents a modify column in an ALTER TABLE statement. |
NestedLoopJoinStrategy.java | Class | |
NewInvocationNode.java | Class | A NewInvocationNode represents a new object() invocation. |
NodeFactoryImpl.java | Class | This class is a factory for QueryTreeNode nodes. |
NonStaticMethodCallNode.java | Class | 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. |
NOPStatementNode.java | Class | A NOPStatement node is for statements that don't do anything. |
NormalizeResultSetNode.java | Class | A NormalizeResultSetNode represents a normalization result set for any
child result set that needs one. |
NotNode.java | Class | A NotNode represents a NOT operator. |
NumericConstantNode.java | Class | |
NumericTypeCompiler.java | Class | This class implements TypeId for the SQL numeric datatype. |
OptimizerFactoryImpl.java | Class | This is simply the factory for creating an optimizer. |
OptimizerImpl.java | Class | This will be the Level 1 Optimizer.
RESOLVE - it's a level 0 optimizer right now.
Current State:
o No costing services
o We can only cost a derived table with a join once.
Optimizer uses OptimizableList to keep track of the best join order as it
builds it. |
OrderByColumn.java | Class | An OrderByColumn is a column in the ORDER BY clause. |
OrderByList.java | Class | An OrderByList is an ordered list of columns in the ORDER BY clause. |
OrderByNode.java | Class | An OrderByNode represents a result set for a sort operation
for an order by list. |
OrderedColumn.java | Class | An ordered column has position. |
OrderedColumnList.java | Class | |
OrNode.java | Class | |
ParameterNode.java | Class | This node type represents a ? parameter. |
ParseException.java | Class | This exception is thrown when parse errors are encountered. |
ParserImpl.java | Class | |
Predicate.java | Class | A Predicate represents a top level predicate. |
PredicateList.java | Class | A PredicateList represents the list of top level predicates.
Each top level predicate consists of an AndNode whose leftOperand is the
top level predicate and whose rightOperand is true. |
PrivilegeNode.java | Class | This node represents a set of privileges that are granted or revoked on one object. |
ProjectRestrictNode.java | Class | A ProjectRestrictNode represents a result set for any of the basic DML
operations: SELECT, INSERT, UPDATE, and DELETE. |
QuantifiedBinaryOperatorNode.java | Class | A QuantifiedBinaryOperatorNode represents a binary quantified predicate
that is used with a subquery, such as IN, NOT IN, < ALL, etc. |
QuantifiedUnaryOperatorNode.java | Class | A QuantifiedUnaryOperatorNode represents a unary quantified predicate
that is used with a subquery, such as EXISTS and NOT EXISTS. |
QueryTreeNode.java | Class | QueryTreeNode is the root class for all query tree nodes. |
QueryTreeNodeVector.java | Class | QueryTreeNodeVector is the root class for all lists of query tree nodes.
It provides a wrapper for java.util.Vector. |
ReferencedTablesVisitor.java | Class | Build a JBitSet of all of the referenced tables in the tree. |
RefTypeCompiler.java | Class | This class implements TypeCompiler for the SQL REF datatype. |
RelationalOperator.java | Interface | This interface is an abstraction of a relational operator. |
RemapCRsVisitor.java | Class | Remap/unremap the CRs to the underlying
expression. |
RenameNode.java | Class | A RenameNode is the root of a QueryTree that represents a
RENAME TABLE/COLUMN/INDEX statement. |
ReplaceAggregatesWithCRVisitor.java | Class | Replace all aggregates with result columns. |
ResultColumn.java | Class | A ResultColumn represents a result column in a SELECT, INSERT, or UPDATE
statement. |
ResultColumnList.java | Class | A ResultColumnList is the target list of a SELECT, INSERT, or UPDATE. |
ResultSetNode.java | Class | A ResultSetNode represents a result set, that is, a set of rows. |
RevokeNode.java | Class | This class represents a REVOKE statement. |
RoutineDesignator.java | Class | This node represents a routine signature. |
RowOrderingImpl.java | Class | |
RowResultSetNode.java | Class | A RowResultSetNode represents the result set for a VALUES clause. |
SavepointNode.java | Class | A SavepointNode is the root of a QueryTree that represents a Savepoint (ROLLBACK savepoint, RELASE savepoint and SAVEPOINT)
statement. |
ScrollInsensitiveResultSetNode.java | Class | A ScrollInsensitiveResultSetNode represents the insensitive scrolling cursor
functionality for any
child result set that needs one. |
SelectNode.java | Class | A SelectNode represents the result set for any of the basic DML
operations: SELECT, INSERT, UPDATE, and DELETE. |
SetOperatorNode.java | Class | A SetOperatorNode represents a UNION, INTERSECT, or EXCEPT in a DML statement. |
SetSchemaNode.java | Class | A SetSchemaNode is the root of a QueryTree that
represents a SET SCHEMA statement. |
SetTransactionIsolationNode.java | Class | |
SimpleStringOperatorNode.java | Class | |
SingleChildResultSetNode.java | Class | A SingleChildResultSetNode represents a result set with a single child. |
SpecialFunctionNode.java | Class | SpecialFunctionNode handles system SQL functions.
A function value is either obtained by a method
call off the LanguageConnectionContext or Activation.
LanguageConnectionContext functions are state related to the connection.
Activation functions are those related to the statement execution.
Each SQL function takes no arguments and returns a SQLvalue.
Functions supported:
- USER
- CURRENT_USER
- SESSION_USER
- SYSTEM_USER
- CURRENT SCHEMA
- CURRENT ISOLATION
- IDENTITY_VAL_LOCAL
This node is used rather than some use of MethodCallNode for
runtime performance. |
SQLBooleanConstantNode.java | Class | |
SQLParser.java | Class | |
SQLParserConstants.java | Interface | |
SQLParserTokenManager.java | Class | |
SQLToJavaValueNode.java | Class | This node type converts a value in the SQL domain to a value in the Java
domain. |
StatementNode.java | Class | A StatementNode represents a single statement in the language. |
StaticClassFieldReferenceNode.java | Class | A StaticClassFieldReferenceNode represents a Java static field reference from
a Class (as opposed to an Object). |
StaticMethodCallNode.java | Class | A StaticMethodCallNode represents a static method call from a Class
(as opposed to from an Object).
For a procedure the call requires that the arguments be ? parameters.
The parameter is *logically* passed into the method call a number of different ways.
For a application call like CALL MYPROC(?) the logically Java method call is
(in psuedo Java/SQL code) (examples with CHAR(10) parameter)
Fixed length IN parameters - com.acme.MyProcedureMethod(?)
Variable length IN parameters - com.acme.MyProcedureMethod(CAST (? AS CHAR(10))
Fixed length INOUT parameter -
String[] holder = new String[] {?}; com.acme.MyProcedureMethod(holder); ? = holder[0]
Variable length INOUT parameter -
String[] holder = new String[] {CAST (? AS CHAR(10)}; com.acme.MyProcedureMethod(holder); ? = CAST (holder[0] AS CHAR(10))
Fixed length OUT parameter -
String[] holder = new String[1]; com.acme.MyProcedureMethod(holder); ? = holder[0]
Variable length INOUT parameter -
String[] holder = new String[1]; com.acme.MyProcedureMethod(holder); ? = CAST (holder[0] AS CHAR(10))
For static method calls there is no pre-definition of an IN or INOUT parameter, so a call to CallableStatement.registerOutParameter()
makes the parameter an INOUT parameter, provided:
- the parameter is passed directly to the method call (no casts or expressions).
- the method's parameter type is a Java array type.
Since this is a dynmaic decision we compile in code to take both paths, based upon a boolean isINOUT which is dervied from the
ParameterValueSet. |
SubqueryList.java | Class | A SubqueryList represents a list of subquerys within a specific clause
(select, where or having) in a DML statement. |
SubqueryNode.java | Class | A SubqueryNode represents a subquery. |
SubstituteExpressionVisitor.java | Class | Replaces a source expression with a target
expression. |
SumAvgAggregateDefinition.java | Class | Defintion for the SUM()/AVG() aggregates. |
TableElementList.java | Class | A TableElementList represents the list of columns and other table elements
such as constraints in a CREATE TABLE or ALTER TABLE statement. |
TableElementNode.java | Class | 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. |
TableName.java | Class | A TableName represents a qualified name, externally represented as a schema name
and an object name separated by a dot. |
TableOperatorNode.java | Class | A TableOperatorNode represents a relational operator like UNION, INTERSECT,
JOIN, etc. |
TablePrivilegesNode.java | Class | This class represents a set of privileges on one table. |
TernaryOperatorNode.java | Class | A TernaryOperatorNode represents a built-in ternary operators. |
TestConstraintNode.java | Class | A TestConstraintNode is used to determine when a constraint
has been violated. |
TimestampOperatorNode.java | Class | The TimestampOperatorNode class implements the timestamp( date, time) function. |
TimestampTypeCompiler.java | Class | |
TimeTypeCompiler.java | Class | |
Token.java | Class | Describes the input token stream. |
TokenMgrError.java | Class | |
TransactionStatementNode.java | Class | A TransactionStatementNode represents any type of Transaction statement:
SET TRANSACTION, COMMIT, and ROLLBACK. |
TriggerReferencingStruct.java | Class | Rudimentary structure for containing information about
a REFERENCING clause for a trigger. |
TypeCompilerFactoryImpl.java | Class | |
UCode_CharStream.java | Class | An implementation of interface CharStream, where the stream is assumed to
contain only Unicode characters. |
UnaryArithmeticOperatorNode.java | Class | |
UnaryComparisonOperatorNode.java | Class | This node is the superclass for all unary comparison operators, such as is null
and is not null. |
UnaryDateTimestampOperatorNode.java | Class | This class implements the timestamp( x) and date(x) functions. |
UnaryLogicalOperatorNode.java | Class | |
UnaryOperatorNode.java | Class | A UnaryOperatorNode represents a built-in unary operator as defined by
the ANSI/ISO SQL standard. |
UnionNode.java | Class | A UnionNode represents a UNION in a DML statement. |
UntypedNullConstantNode.java | Class | An UntypedNullConstantNode represents a SQL NULL before it has
been bound. |
UpdateNode.java | Class | An UpdateNode represents an UPDATE statement. |
UserDefinedTypeCompiler.java | Class | |
UserTypeConstantNode.java | Class | User type constants. |
ValueNode.java | Class | A ValueNode is an abstract class for all nodes that can represent data
values, that is, constants, columns, and expressions. |
ValueNodeList.java | Class | A ValueNodeList represents a list of ValueNodes within a specific predicate
(eg, IN list, NOT IN list or BETWEEN) in a DML statement. |
VarbitConstantNode.java | Class | |
VerifyAggregateExpressionsVisitor.java | Class | If a RCL (SELECT list) contains an aggregate, then we must verify
that the RCL (SELECT list) is valid. |
VirtualColumnNode.java | Class | A VirtualColumnNode represents a virtual column reference to a column in
a row returned by an underlying ResultSetNode. |
VTIDeferModPolicy.java | Class | This class applies a VTI modification deferral policy to a statement to
see whether it should be deferred. |
XMLConstantNode.java | Class | |
XMLTypeCompiler.java | Class | This class implements TypeCompiler for the XML type. |