Top Description Fields Constructors Methods
org.apache.derby.impl.sql.compile

pack-priv abstract Class OperatorNode

extends ValueNode
Class Inheritance
Known Direct Subclasses
org.apache.derby.impl.sql.compile.TernaryOperatorNode, org.apache.derby.impl.sql.compile.UnaryOperatorNode, org.apache.derby.impl.sql.compile.BinaryOperatorNode
Imports
java.lang.reflect.Modifier, org.apache.derby.iapi.services.classfile.VMOpcode, org.apache.derby.iapi.services.compiler.LocalField, .MethodBuilder, org.apache.derby.iapi.services.context.ContextManager, org.apache.derby.iapi.types.SqlXmlUtil

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

Field Summary

Inherited from org.apache.derby.impl.sql.compile.ValueNode:
transformed

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv static void
pushSqlXmlUtil(ExpressionClassBuilder
builder for the class in which the generated code lives
acb
,
MethodBuilder
builder for the method that implements this operator
mb
,
String
the XML query to be executed by the operator, or null if this isn't an XMLEXISTS or XMLQUERY operator
xmlQuery
,
String
the name of the operator (ignored if xmlQuery is null)
xmlOpName
)

Generate code that pushes an SqlXmlUtil instance onto the stack.

Inherited from org.apache.derby.impl.sql.compile.ValueNode:
bindExpressionbindExpressioncategorizechangeToCNFcheckIsBooleancheckTopPredicatesForEqualsConditionsconstantExpressioncopyFieldseliminateNotsevaluateConstantExpressionsgenEqualsFalseTreegenerategenerateExpressiongenIsNullTreegenSQLJavaSQLTreegetClonegetColumnNamegetConstantValueAsObjectgetDataValueFactorygetOrderableVariantTypegetSchemaNamegetSourceResultColumngetTableNamegetTablesReferencedgetTransformedgetTypeCompilergetTypeIdgetTypeServicesisBinaryEqualsOperatorNodeisBooleanFalseisBooleanTrueisCloneableisConstantExpressionisEquivalentisInListProbeNodeisParameterNodeisRelationalOperatorisSameNodeKindoptimizableEqualityNodepreprocessputAndsOnTopremapColumnReferencesToExpressionsrequiresTypeFromContextselectivitysetCollationInfosetCollationInfosetCollationUsingCompilationSchemasetCollationUsingCompilationSchemasetNullabilitysetTransformedsetTypesetTypesetTypetoStringupdatableByCursorverifyChangeToCNFverifyEliminateNotsverifyPutAndsOnTop

Constructor Detail

OperatorNodeback to summary
pack-priv OperatorNode(ContextManager cm)

Method Detail

pushSqlXmlUtilback to summary
pack-priv static void pushSqlXmlUtil(ExpressionClassBuilder acb, MethodBuilder mb, String xmlQuery, String xmlOpName)

Generate code that pushes an SqlXmlUtil instance onto the stack. The instance will be created and cached in the activation's constructor, so that we don't need to create a new instance for every row.

If the xmlQuery parameter is non-null, there will also be code that compiles the query when the SqlXmlUtil instance is created.

Parameters
acb:ExpressionClassBuilder

builder for the class in which the generated code lives

mb:MethodBuilder

builder for the method that implements this operator

xmlQuery:String

the XML query to be executed by the operator, or null if this isn't an XMLEXISTS or XMLQUERY operator

xmlOpName:String

the name of the operator (ignored if xmlQuery is null)