| Modifier and Type | Field and Description |
|---|---|
| private boolean | |
| private boolean | |
| private boolean |
| Access | Constructor and Description |
|---|---|
| pack-priv | NewInvocationNode(String
The full package.class name of the class javaClassName, List<ValueNode> The parameter list for the constructor params, boolean delimitedIdentifier, ContextManager The context manager cm)Constructor for a NewInvocationNode. |
| pack-priv | NewInvocationNode(TableName vtiTableFuncName, TableDescriptor tableDescriptor, List<ValueNode> params, boolean delimitedIdentifier, ContextManager cm)
|
| Modifier and Type | Method and Description |
|---|---|
| protected boolean | Returns: boolean Whether or not this class is assignable to the specified classThe java class name we want to assign to toClassName)Is this class assignable to the specified class? |
| pack-priv JavaValueNode | Returns: NothingThe FROM list for the query this
expression is in, for binding columns. fromList, SubqueryList The subquery list being built as we find SubqueryNodes subqueryList, List<AggregateNode> The aggregate list being built as we find AggregateNodes aggregates)Implements abstract org. Bind this expression. |
| pack-priv boolean | Returns: boolean Whether or not source.expression is a ColumnReference or a VirtualColumnNode.JBitSet with bit map of referenced FromTables referencedTabs, boolean Whether or not to consider method
calls, field references and conditional nodes
when building bit map simplePredsOnly)Overrides org. Categorize this predicate. |
| protected Member | Returns: Member The Member representing the method (or null if the method doesn't exist).The method name we are looking for methodName, boolean Whether or not the method we are looking for is static staticMethod)Is this class have a public method with the specified signiture This is useful for the VTI interface where we want to see if the class has the option static method for returning the ResultSetMetaData. |
| pack-priv void | generateExpression(ExpressionClassBuilder
The ExpressionClassBuilder for the class we're generating acb, MethodBuilder The method the expression will go into mb)Implements abstract org. Do code generation for this method call |
| pack-priv boolean | |
| pack-priv void |
| delimitedIdentifier | back to summary |
|---|---|
| private boolean delimitedIdentifier | |
| isBuiltinVTI | back to summary |
|---|---|
| private boolean isBuiltinVTI | |
| singleInstantiation | back to summary |
|---|---|
| private boolean singleInstantiation | |
| NewInvocationNode | back to summary |
|---|---|
| pack-priv NewInvocationNode(String javaClassName, List<ValueNode> params, boolean delimitedIdentifier, ContextManager cm) throws StandardException Constructor for a NewInvocationNode. Parameters are:
| |
| NewInvocationNode | back to summary |
|---|---|
| pack-priv NewInvocationNode(TableName vtiTableFuncName, TableDescriptor tableDescriptor, List<ValueNode> params, boolean delimitedIdentifier, ContextManager cm) throws StandardException | |
| assignableTo | back to summary |
|---|---|
| protected boolean assignableTo(String toClassName) throws StandardException Is this class assignable to the specified class? This is useful for the VTI interface where we want to see if the class implements java.sql.ResultSet.
| |
| bindExpression | back to summary |
|---|---|
| pack-priv JavaValueNode bindExpression(FromList fromList, SubqueryList subqueryList, List<AggregateNode> aggregates) throws StandardException Implements abstract org. Bind this expression. This means binding the sub-expressions, as well as figuring out what the return type is for this expression.
| |
| categorize | back to summary |
|---|---|
| pack-priv boolean categorize(JBitSet referencedTabs, boolean simplePredsOnly) throws StandardException Overrides org. Categorize this predicate. Initially, this means building a bit map of the referenced tables for each predicate. If the source of this ColumnReference (at the next underlying level) is not a ColumnReference or a VirtualColumnNode then this predicate will not be pushed down. For example, in: select * from (select 1 from s) a (x) where x = 1 we will not push down x = 1. Note It would be easy to handle the case of a constant, but if the inner SELECT returns an arbitrary expression, then we would have to copy that tree into the pushed predicate, and that tree could contain subqueries and method calls. RESOLVE - revisit this issue once we have views.
| |
| findPublicMethod | back to summary |
|---|---|
| protected Member findPublicMethod(String methodName, boolean staticMethod) throws StandardException Is this class have a public method with the specified signiture This is useful for the VTI interface where we want to see if the class has the option static method for returning the ResultSetMetaData.
| |
| generateExpression | back to summary |
|---|---|
| pack-priv void generateExpression(ExpressionClassBuilder acb, MethodBuilder mb) throws StandardException Implements abstract org. Do code generation for this method call
| |
| isBuiltinVTI | back to summary |
|---|---|
| pack-priv boolean isBuiltinVTI() Report whether this node represents a builtin VTI. | |
| setSingleInstantiation | back to summary |
|---|---|
| pack-priv void setSingleInstantiation() Mark this node as only needing to to a single instantiation. (We can reuse the object after newing it.) | |