Class TestConstraintNode
- java.lang.Object
-
- org.apache.derby.impl.sql.compile.QueryTreeNode
-
- org.apache.derby.impl.sql.compile.ValueNode
-
- org.apache.derby.impl.sql.compile.OperatorNode
-
- org.apache.derby.impl.sql.compile.UnaryOperatorNode
-
- org.apache.derby.impl.sql.compile.UnaryLogicalOperatorNode
-
- org.apache.derby.impl.sql.compile.TestConstraintNode
-
- All Implemented Interfaces:
Visitable
class TestConstraintNode extends UnaryLogicalOperatorNode
A TestConstraintNode is used to determine when a constraint has been violated.
-
-
Field Summary
Fields Modifier and Type Field Description private UUIDcidprivate java.lang.StringconstraintNameprivate booleandeferrableprivate java.lang.StringsqlStateprivate java.lang.StringtableName-
Fields inherited from class org.apache.derby.impl.sql.compile.UnaryOperatorNode
K_BASE, K_XMLPARSE, K_XMLSERIALIZE, kind, methodName, operand, operator, receiverInterfaceType, resultInterfaceType, UnaryArgTypes, UnaryMethodNames, UnaryOperators, UnaryResultTypes
-
Fields inherited from class org.apache.derby.impl.sql.compile.ValueNode
transformed
-
Fields inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
-
-
Constructor Summary
Constructors Constructor Description TestConstraintNode(ValueNode booleanValue, java.lang.String sqlState, java.lang.String tableName, ConstraintDescriptor cd, ContextManager cm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) ValueNodebindExpression(FromList fromList, SubqueryList subqueryList, java.util.List<AggregateNode> aggregates)Bind this logical operator.(package private) voidgenerateExpression(ExpressionClassBuilder acb, MethodBuilder mb)Do code generation for the TestConstraint operator.-
Methods inherited from class org.apache.derby.impl.sql.compile.UnaryLogicalOperatorNode
setFullTypeInfo
-
Methods inherited from class org.apache.derby.impl.sql.compile.UnaryOperatorNode
acceptChildren, addXmlOpMethodParams, bindOperand, bindParameter, categorize, constantExpression, getOperand, getOperatorString, getOrderableVariantType, getParameterOperand, getReceiverInterfaceName, isConstantExpression, isEquivalent, isSameNodeKind, preprocess, printSubNodes, remapColumnReferencesToExpressions, setMethodName, setOperator, toString
-
Methods inherited from class org.apache.derby.impl.sql.compile.OperatorNode
pushSqlXmlUtil
-
Methods inherited from class org.apache.derby.impl.sql.compile.ValueNode
bindExpression, changeToCNF, checkIsBoolean, checkTopPredicatesForEqualsConditions, copyFields, eliminateNots, 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
-
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
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
-
-
-
-
Field Detail
-
sqlState
private final java.lang.String sqlState
-
tableName
private final java.lang.String tableName
-
cid
private final UUID cid
-
deferrable
private final boolean deferrable
-
constraintName
private final java.lang.String constraintName
-
-
Constructor Detail
-
TestConstraintNode
TestConstraintNode(ValueNode booleanValue, java.lang.String sqlState, java.lang.String tableName, ConstraintDescriptor cd, ContextManager cm) throws StandardException
- Parameters:
booleanValue- The operand of the constraint testsqlState- The SQLState of the exception to throw if the constraint has failedtableName- The name of the table that the constraint is oncd- The descriptor of the constraint being checkedcm- context manager- Throws:
StandardException
-
-
Method Detail
-
bindExpression
ValueNode bindExpression(FromList fromList, SubqueryList subqueryList, java.util.List<AggregateNode> aggregates) throws StandardException
Bind this logical operator. All that has to be done for binding a logical operator is to bind the operand, check that the operand is SQLBoolean, and set the result type to SQLBoolean.- Overrides:
bindExpressionin classUnaryLogicalOperatorNode- Parameters:
fromList- The query's FROM listsubqueryList- The subquery list being built as we find SubqueryNodesaggregates- The aggregate list being built as we find AggregateNodes- Returns:
- The new top of the expression tree.
- Throws:
StandardException- Thrown on error
-
generateExpression
void generateExpression(ExpressionClassBuilder acb, MethodBuilder mb) throws StandardException
Do code generation for the TestConstraint operator.- Overrides:
generateExpressionin classUnaryOperatorNode- Parameters:
acb- The ExpressionClassBuilder for the class we're generatingmb- The method the expression will go into- Throws:
StandardException- Thrown on error
-
-