| Modifier and Type | Field and Description |
|---|---|
| private boolean | notNull
If |
| private DataValueDescriptor |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | bindParameter()
Overrides org. Bind a ? |
| public boolean | compareWithKnownConstant(Optimizable optTable, boolean considerParameters)
Implements org. Return whether this operator compares the given Optimizable with a constant whose value is known at compile time. |
| public boolean | equalsComparisonWithConstantExpression(Optimizable optTable)
Implements org. Return whether this operator is an equality comparison of the given optimizable with a constant expression. |
| public void | generateNegate(MethodBuilder
The method the generated code is to go into mb, Optimizable The Optimizable table the Qualifier will qualify optTable)Implements org. Generate an expression that evaluates to true if the result of the comparison should be negated. |
| public void | generateOperator(MethodBuilder
The method the generated code is to go into mb, Optimizable The optimizable table we're doing the scan on. optTable)Implements org. Generate the comparison operator for this RelationalOperator. |
| public DataValueDescriptor | getCompareValue(Optimizable optTable)
Implements org. Return an Object representing the known value that this relational operator is comparing to a column in the given Optimizable. |
| pack-priv UnaryOperatorNode | Returns: UnaryOperatorNode The negated expressionThe operand of the operator operand)Implements abstract org. Negate the comparison. |
| public int | getOperator()
Implements org. Return the operator (as an int) for this RelationalOperator. |
| pack-priv String | getReceiverInterfaceName()
Overrides org. null operators are defined on DataValueDescriptor. |
| public int | getStartOperator(Optimizable
The optimizable table we're doing the scan on.
This parameter is so we can tell which side of
the operator the table's column is on. optTable)Overrides org. Implements org. Get the start operator for a scan (at the store level) for this RelationalOperator. |
| public int | getStopOperator(Optimizable
The optimizable table we're doing the scan on.
This parameter is so we can tell which side of
the operator the table's column is on. optTable)Overrides org. Implements org. Get the stop operator for a scan (at the store level) for this RelationalOperator. |
| public RelationalOperator | getTransitiveSearchClause(ColumnReference
The ColumnReference for the new (left) operand. otherCR)Implements org. Return a relational operator which matches the current one but with the passed in ColumnReference as the (left) operand. |
| pack-priv boolean | |
| pack-priv boolean | isRelationalOperator()
Overrides org. Returns true if this ValueNode is a relational operator. |
| pack-priv boolean | optimizableEqualityNode(Optimizable
the table being optimized. Column reference must be from
this table. optTable, int the column number. One of the operands of this
predicate must be the column number specified by optTable/columnNumber columnNumber, boolean if set to true we also consider IS NULL predicates;
otherwise consider only = predicates. isNullOkay)Overrides org. Return true if the predicate represents an optimizable equality node. |
| public double | selectivity(Optimizable optTable)
Overrides org. The default selectivity for value nodes is 50%. |
| private void | |
| public boolean | usefulStartKey(Optimizable
The Optimizable table for which we want to know
whether this is a useful start key. optTable)Implements org. Tell whether this relop is a useful start key for the given table. |
| public boolean | usefulStopKey(Optimizable
The Optimizable table for which we want to know
whether this is a useful stop key. optTable)Implements org. Tell whether this relop is a useful stop key for the given table. |
| notNull | back to summary |
|---|---|
| private boolean notNull If | |
| nullValue | back to summary |
|---|---|
| private DataValueDescriptor nullValue | |
| IsNullNode | back to summary |
|---|---|
| pack-priv IsNullNode(ValueNode operand, boolean notNull, ContextManager cm) throws StandardException | |
| bindParameter | back to summary |
|---|---|
| pack-priv void bindParameter() throws StandardException Overrides org. Bind a ? parameter operand of the IS [NOT] NULL predicate.
| |
| compareWithKnownConstant | back to summary |
|---|---|
| public boolean compareWithKnownConstant(Optimizable optTable, boolean considerParameters) Implements org. Doc from org. Return whether this operator compares the given Optimizable with a constant whose value is known at compile time. | |
| equalsComparisonWithConstantExpression | back to summary |
|---|---|
| public boolean equalsComparisonWithConstantExpression(Optimizable optTable) Implements org. Doc from org. Return whether this operator is an equality comparison of the given optimizable with a constant expression. | |
| generateNegate | back to summary |
|---|---|
| public void generateNegate(MethodBuilder mb, Optimizable optTable) Implements org. Doc from org. Generate an expression that evaluates to true if the result of the comparison should be negated. For example, col > 1 generates a comparison operator of <= and a negation of true, while col < 1 generates a comparison operator of < and a negation of false.
| |
| generateOperator | back to summary |
|---|---|
| public void generateOperator(MethodBuilder mb, Optimizable optTable) Implements org. Doc from org. Generate the comparison operator for this RelationalOperator. The operator can depend on which side of this operator the optimizable column is.
| |
| getCompareValue | back to summary |
|---|---|
| public DataValueDescriptor getCompareValue(Optimizable optTable) throws StandardException Implements org. Doc from org. Return an Object representing the known value that this relational operator is comparing to a column in the given Optimizable.
| |
| getNegation | back to summary |
|---|---|
| pack-priv UnaryOperatorNode getNegation(ValueNode operand) throws StandardException Implements abstract org. Negate the comparison.
| |
| getOperator | back to summary |
|---|---|
| public int getOperator() Implements org. Doc from org. Return the operator (as an int) for this RelationalOperator.
| |
| getReceiverInterfaceName | back to summary |
|---|---|
| pack-priv String getReceiverInterfaceName() Overrides org. null operators are defined on DataValueDescriptor. Overrides method in UnaryOperatorNode for code generation purposes.
| |
| getStartOperator | back to summary |
|---|---|
| public int getStartOperator(Optimizable optTable) Overrides org. Implements org. Doc from org. Get the start operator for a scan (at the store level) for this RelationalOperator.
| |
| getStopOperator | back to summary |
|---|---|
| public int getStopOperator(Optimizable optTable) Overrides org. Implements org. Doc from org. Get the stop operator for a scan (at the store level) for this RelationalOperator.
| |
| getTransitiveSearchClause | back to summary |
|---|---|
| public RelationalOperator getTransitiveSearchClause(ColumnReference otherCR) throws StandardException Implements org. Doc from org. Return a relational operator which matches the current one but with the passed in ColumnReference as the (left) operand.
| |
| isNullNode | back to summary |
|---|---|
| pack-priv boolean isNullNode() | |
| isRelationalOperator | back to summary |
|---|---|
| pack-priv boolean isRelationalOperator() Overrides org. Doc from org. Returns true if this ValueNode is a relational operator. Relational Operators are <, <=, =, >, >=, <> as well as IS NULL and IS NOT NULL. This is the preferred way of figuring out if a ValueNode is relational or not.
| |
| optimizableEqualityNode | back to summary |
|---|---|
| pack-priv boolean optimizableEqualityNode(Optimizable optTable, int columnNumber, boolean isNullOkay) Overrides org. Doc from org. Return true if the predicate represents an optimizable equality node. an expression is considered to be an optimizable equality node if all the following conditions are met:
| |
| selectivity | back to summary |
|---|---|
| public double selectivity(Optimizable optTable) Overrides org. Doc from org. The default selectivity for value nodes is 50%. This is overridden in specific cases, such as the RelationalOperators.
| |
| updateOperatorDetails | back to summary |
|---|---|
| private void updateOperatorDetails() | |
| usefulStartKey | back to summary |
|---|---|
| public boolean usefulStartKey(Optimizable optTable) Implements org. Doc from org. Tell whether this relop is a useful start key for the given table. It has already been determined that the relop has a column from the given table on one side or the other.
| |
| usefulStopKey | back to summary |
|---|---|
| public boolean usefulStopKey(Optimizable optTable) Implements org. Doc from org. Tell whether this relop is a useful stop key for the given table. It has already been determined that the relop has a column from the given table on one side or the other.
| |