public abstract class UnaryComparisonOperatorNode extends UnaryOperatorNode
K_BASE, K_XMLPARSE, K_XMLSERIALIZE, kind, methodName, operand, operator, receiverInterfaceType, resultInterfaceType, UnaryArgTypes, UnaryMethodNames, UnaryOperators, UnaryResultTypes
transformed
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
Constructor and Description |
---|
UnaryComparisonOperatorNode(ValueNode operator,
ContextManager cm) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
bindComparisonOperator()
Set the type info for this node.
|
(package private) ValueNode |
bindExpression(FromList fromList,
SubqueryList subqueryList,
java.util.List<AggregateNode> aggregates)
Bind this comparison operator.
|
(package private) ValueNode |
eliminateNots(boolean underNotNode)
Eliminate NotNodes in the current query block.
|
void |
generateAbsoluteColumnId(MethodBuilder mb,
Optimizable optTable) |
void |
generateExpressionOperand(Optimizable optTable,
int columnPosition,
ExpressionClassBuilderInterface acbi,
MethodBuilder mb) |
void |
generateOrderedNulls(MethodBuilder mb) |
void |
generateQualMethod(ExpressionClassBuilderInterface acbi,
MethodBuilder mb,
Optimizable optTable) |
void |
generateRelativeColumnId(MethodBuilder mb,
Optimizable optTable) |
private int |
getAbsoluteColumnPosition(Optimizable optTable)
Get the absolute 0-based column position of the ColumnReference from
the conglomerate for this Optimizable.
|
ColumnReference |
getColumnOperand(Optimizable optTable) |
ColumnReference |
getColumnOperand(Optimizable optTable,
int columnPosition) |
ValueNode |
getExpressionOperand(int tableNumber,
int columnNumber,
Optimizable ft) |
(package private) abstract UnaryOperatorNode |
getNegation(ValueNode operand)
Negate the comparison.
|
ValueNode |
getOperand(ColumnReference cRef,
int refSetSize,
boolean otherSide) |
int |
getOrderableVariantType(Optimizable optTable) |
int |
getStartOperator(Optimizable optTable) |
int |
getStopOperator(Optimizable optTable) |
boolean |
isQualifier(Optimizable optTable,
boolean forPush) |
boolean |
orderedNulls() |
boolean |
selfComparison(ColumnReference cr) |
acceptChildren, addXmlOpMethodParams, bindOperand, bindParameter, categorize, constantExpression, generateExpression, getOperand, getOperatorString, getOrderableVariantType, getParameterOperand, getReceiverInterfaceName, isConstantExpression, isEquivalent, isSameNodeKind, preprocess, printSubNodes, remapColumnReferencesToExpressions, setMethodName, setOperator, toString
pushSqlXmlUtil
bindExpression, changeToCNF, checkIsBoolean, checkTopPredicatesForEqualsConditions, copyFields, evaluateConstantExpressions, genEqualsFalseTree, generate, genIsNullTree, genSQLJavaSQLTree, getClone, getColumnName, getConstantValueAsObject, getDataValueFactory, getSchemaName, getSourceResultColumn, getTableName, getTablesReferenced, getTransformed, getTypeCompiler, getTypeId, getTypeServices, isBinaryEqualsOperatorNode, isBooleanFalse, isBooleanTrue, isCloneable, isInListProbeNode, isParameterNode, isRelationalOperator, optimizableEqualityNode, putAndsOnTop, requiresTypeFromContext, selectivity, setCollationInfo, setCollationInfo, setCollationUsingCompilationSchema, setCollationUsingCompilationSchema, setNullability, setTransformed, setType, setType, setType, updatableByCursor, verifyChangeToCNF, verifyEliminateNots, verifyPutAndsOnTop
accept, addTag, addUDTUsagePriv, addUDTUsagePriv, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, copyTagsFrom, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContext, getContextManager, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getLongProperty, getNullNode, getOffsetOrderedNodes, getOptimizerFactory, getOptimizerTracer, getParameterTypes, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, getUDTDesc, isAtomic, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeConstantAction, makeTableName, makeTableName, nodeHeader, optimizerTracingIsOn, orReliability, parseSearchCondition, parseStatement, printLabel, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setEndOffset, setRefActionInfo, stackPrint, taggedWith, treePrint, treePrint, verifyClassExist
UnaryComparisonOperatorNode(ValueNode operator, ContextManager cm) throws StandardException
StandardException
ValueNode bindExpression(FromList fromList, SubqueryList subqueryList, java.util.List<AggregateNode> aggregates) throws StandardException
bindExpression
in class UnaryOperatorNode
fromList
- The query's FROM listsubqueryList
- The subquery list being built as we find SubqueryNodesaggregates
- The aggregate list being built as we find AggregateNodesStandardException
- Thrown on errorvoid bindComparisonOperator() throws StandardException
StandardException
- Thrown on errorValueNode eliminateNots(boolean underNotNode) throws StandardException
eliminateNots
in class ValueNode
underNotNode
- Whether or not we are under a NotNode.StandardException
- Thrown on errorabstract UnaryOperatorNode getNegation(ValueNode operand) throws StandardException
operand
- The operand of the comparison operatorStandardException
- Thrown on errorpublic ColumnReference getColumnOperand(Optimizable optTable, int columnPosition)
public ColumnReference getColumnOperand(Optimizable optTable)
public ValueNode getOperand(ColumnReference cRef, int refSetSize, boolean otherSide)
public boolean selfComparison(ColumnReference cr)
public ValueNode getExpressionOperand(int tableNumber, int columnNumber, Optimizable ft)
public void generateExpressionOperand(Optimizable optTable, int columnPosition, ExpressionClassBuilderInterface acbi, MethodBuilder mb) throws StandardException
public int getStartOperator(Optimizable optTable)
public int getStopOperator(Optimizable optTable)
public void generateOrderedNulls(MethodBuilder mb)
public void generateQualMethod(ExpressionClassBuilderInterface acbi, MethodBuilder mb, Optimizable optTable) throws StandardException
public void generateAbsoluteColumnId(MethodBuilder mb, Optimizable optTable)
public void generateRelativeColumnId(MethodBuilder mb, Optimizable optTable)
private int getAbsoluteColumnPosition(Optimizable optTable)
optTable
- The Optimizablepublic boolean orderedNulls()
RelationalOperator.orderedNulls()
public boolean isQualifier(Optimizable optTable, boolean forPush)
public int getOrderableVariantType(Optimizable optTable) throws StandardException
StandardException
- thrown on errorRelationalOperator.getOrderableVariantType(org.apache.derby.iapi.sql.compile.Optimizable)
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.