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

pack-priv abstract Class BinaryLogicalOperatorNode

extends BinaryOperatorNode
Class Inheritance
Known Direct Subclasses
org.apache.derby.impl.sql.compile.IsNode, org.apache.derby.impl.sql.compile.OrNode, org.apache.derby.impl.sql.compile.AndNode
Imports
java.util.List, org.apache.derby.shared.common.error.StandardException, org.apache.derby.shared.common.reference.ClassName, .SQLState, org.apache.derby.iapi.services.classfile.VMOpcode, org.apache.derby.iapi.services.compiler.MethodBuilder, org.apache.derby.iapi.services.context.ContextManager, org.apache.derby.shared.common.sanity.SanityManager, org.apache.derby.iapi.types.DataTypeDescriptor

Field Summary

Modifier and TypeField and Description
pack-priv boolean
Inherited from org.apache.derby.impl.sql.compile.BinaryOperatorNode:
ANDBinaryArgTypesBinaryMethodNamesBinaryOperatorsBinaryResultTypesCONCATENATEDIVIDEEQGEGTK_BASEK_XMLEXISTSK_XMLQUERYkindLEleftInterfaceTypeleftOperandLIKELTmethodNameMINUSNEoperatorORPLUSreceiverresultInterfaceTyperightInterfaceTyperightOperandTIMES

Constructor Summary

AccessConstructor and Description
pack-priv
BinaryLogicalOperatorNode(ValueNode leftOperand, ValueNode rightOperand, String methodName, ContextManager cm)

Method Summary

Modifier and TypeMethod and Description
pack-priv ValueNode

Returns:

The new top of the expression tree.
bindExpression
(FromList
The query's FROM list
fromList
,
SubqueryList
The subquery list being built as we find SubqueryNodes
subqueryList
,
List<AggregateNode>
The aggregate list being built as we find AggregateNodes
aggregates
)

Overrides org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression.

Bind this logical operator.

pack-priv void
generateExpression(ExpressionClassBuilder
The ExpressionClassBuilder for the class we're generating
acb
,
MethodBuilder
The method the code to place the code
mb
)

Overrides org.apache.derby.impl.sql.compile.BinaryOperatorNode.generateExpression.

Do code generation for this logical binary operator.

pack-priv DataTypeDescriptor
pack-priv boolean

Returns:

Boolean which reflects validity of the tree.
verifyEliminateNots
()

Overrides org.apache.derby.impl.sql.compile.ValueNode.verifyEliminateNots.

Verify that eliminateNots() did its job correctly.

Inherited from org.apache.derby.impl.sql.compile.BinaryOperatorNode:
acceptChildrenbindXMLQuerycategorizeconstantExpressiongenSQLJavaSQLTreegetLeftOperandgetOrderableVariantTypegetReceiverInterfaceNamegetRightOperandisConstantExpressionisEquivalentisSameNodeKindpreprocessprintSubNodesremapColumnReferencesToExpressionssetLeftOperandsetLeftRightInterfaceTypesetMethodNamesetOperatorsetRightOperandtoString

Field Detail

shortCircuitValueback to summary
pack-priv boolean shortCircuitValue

Constructor Detail

BinaryLogicalOperatorNodeback to summary
pack-priv BinaryLogicalOperatorNode(ValueNode leftOperand, ValueNode rightOperand, String methodName, ContextManager cm)

Method Detail

bindExpressionback to summary
pack-priv ValueNode bindExpression(FromList fromList, SubqueryList subqueryList, List<AggregateNode> aggregates) throws StandardException

Overrides org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression.

Bind this logical operator. All that has to be done for binding a logical operator is to bind the operands, check that both operands are BooleanDataValue, and set the result type to BooleanDataValue.

Parameters
fromList:FromList

The query's FROM list

subqueryList:SubqueryList

The subquery list being built as we find SubqueryNodes

aggregates:List<AggregateNode>

The aggregate list being built as we find AggregateNodes

Returns:ValueNode

The new top of the expression tree.

Annotations
@Override
Exceptions
StandardException:
Thrown on error
generateExpressionback to summary
pack-priv void generateExpression(ExpressionClassBuilder acb, MethodBuilder mb) throws StandardException

Overrides org.apache.derby.impl.sql.compile.BinaryOperatorNode.generateExpression.

Do code generation for this logical binary operator. This is used for AND and OR. the IsNode extends this class but overrides generateExpression.

Parameters
acb:ExpressionClassBuilder

The ExpressionClassBuilder for the class we're generating

mb:MethodBuilder

The method the code to place the code

Annotations
@Override
Exceptions
StandardException:
Thrown on error
resolveLogicalBinaryOperatorback to summary
pack-priv DataTypeDescriptor resolveLogicalBinaryOperator(DataTypeDescriptor leftType, DataTypeDescriptor rightType) throws StandardException
verifyEliminateNotsback to summary
pack-priv boolean verifyEliminateNots()

Overrides org.apache.derby.impl.sql.compile.ValueNode.verifyEliminateNots.

Verify that eliminateNots() did its job correctly. Verify that there are no NotNodes above the top level comparison operators and boolean expressions.

Returns:boolean

Boolean which reflects validity of the tree.

Annotations
@Override