Class CharConstantNode
java.lang.Object
org.apache.derby.impl.sql.compile.QueryTreeNode
org.apache.derby.impl.sql.compile.ValueNode
org.apache.derby.impl.sql.compile.ConstantNode
org.apache.derby.impl.sql.compile.CharConstantNode
- All Implemented Interfaces:
Visitable
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int(package private) static final int(package private) static final int(package private) static final int(package private) final intThis class is used to hold logically different objects for space efficiency.Fields inherited from class ConstantNode
valueFields inherited from class ValueNode
transformedFields inherited from class QueryTreeNode
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX -
Constructor Summary
ConstructorsConstructorDescriptionCharConstantNode(int kind, TypeId t, ContextManager cm) CharConstantNode(String newValue, int newLength, ContextManager cm) Constructor for a CharConstantNode of a specific length.CharConstantNode(String value, ContextManager cm) CharConstantNode(TypeId t, ContextManager cm) -
Method Summary
Modifier and TypeMethodDescription(package private) ValueNodebindExpression(FromList fromList, SubqueryList subqueryList, List<AggregateNode> aggregates) Bind this expression.(package private) voidThis generates the proper constant.(package private) ObjectReturn an Object representing the bind time value of this expression tree.(package private) StringReturn the value from this CharConstantNode(package private) booleanSome node classes represent several logical node types (to reduce footprint), which we call kinds.Methods inherited from class ConstantNode
constantExpression, generateExpression, getClone, getOrderableVariantType, getValue, isCloneable, isConstantExpression, isEquivalent, isNull, setValue, toStringMethods inherited from class ValueNode
bindExpression, categorize, changeToCNF, checkIsBoolean, checkTopPredicatesForEqualsConditions, copyFields, eliminateNots, evaluateConstantExpressions, genEqualsFalseTree, generate, genIsNullTree, genSQLJavaSQLTree, getColumnName, getDataValueFactory, getSchemaName, getSourceResultColumn, getTableName, getTablesReferenced, getTransformed, getTypeCompiler, getTypeId, getTypeServices, isBinaryEqualsOperatorNode, isBooleanFalse, isBooleanTrue, isInListProbeNode, isParameterNode, isRelationalOperator, optimizableEqualityNode, preprocess, putAndsOnTop, remapColumnReferencesToExpressions, requiresTypeFromContext, selectivity, setCollationInfo, setCollationInfo, setCollationUsingCompilationSchema, setCollationUsingCompilationSchema, setNullability, setTransformed, setType, setType, setType, updatableByCursor, verifyChangeToCNF, verifyEliminateNots, verifyPutAndsOnTopMethods inherited from class QueryTreeNode
accept, acceptChildren, 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, printSubNodes, referencesSessionSchema, resolveTableToSynonym, setBeginOffset, setEndOffset, setRefActionInfo, stackPrint, taggedWith, treePrint, treePrint, verifyClassExist
-
Field Details
-
K_CHAR
static final int K_CHAR- See Also:
-
K_VARCHAR
static final int K_VARCHAR- See Also:
-
K_LONGVARCHAR
static final int K_LONGVARCHAR- See Also:
-
K_CLOB
static final int K_CLOB- See Also:
-
kind
final int kindThis class is used to hold logically different objects for space efficiency.kindrepresents the logical object type. See alsoValueNode.isSameNodeKind(ValueNode).
-
-
Constructor Details
-
CharConstantNode
CharConstantNode(String value, ContextManager cm) throws StandardException - Throws:
StandardException
-
CharConstantNode
CharConstantNode(TypeId t, ContextManager cm) throws StandardException - Throws:
StandardException
-
CharConstantNode
CharConstantNode(int kind, TypeId t, ContextManager cm) throws StandardException - Parameters:
kind- The node kindt- The type idcm- The context manager- Throws:
StandardException
-
CharConstantNode
CharConstantNode(String newValue, int newLength, ContextManager cm) throws StandardException Constructor for a CharConstantNode of a specific length.- Parameters:
newValue- A String containing the value of the constantnewLength- The length of the new value of the constantcm-- Throws:
StandardException
-
-
Method Details
-
getString
Return the value from this CharConstantNode- Returns:
- The value of this CharConstantNode.
- Throws:
StandardException- Thrown on error
-
getConstantValueAsObject
Return an Object representing the bind time value of this expression tree. If the expression tree does not evaluate to a constant at bind time then we return null. This is useful for bind time resolution of VTIs. RESOLVE: What do we do for primitives?- Overrides:
getConstantValueAsObjectin classValueNode- Returns:
- An Object representing the bind time value of this expression tree. (null if not a bind time constant.)
- Throws:
StandardException- Thrown on error
-
bindExpression
ValueNode bindExpression(FromList fromList, SubqueryList subqueryList, List<AggregateNode> aggregates) throws StandardException Description copied from class:ConstantNodeBind this expression. This means binding the sub-expressions, as well as figuring out what the return type is for this expression. In this case, there are no sub-expressions, and the return type is already known, so this is just a stub.- Overrides:
bindExpressionin classConstantNode- Parameters:
fromList- The FROM list for the query this expression is in, for binding columns.subqueryList- 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. Although this class doesn't throw this exception, it's subclasses do and hence this method signature here needs to have throws StandardException
-
generateConstant
This generates the proper constant. It is implemented by every specific constant node (e.g. IntConstantNode).- Specified by:
generateConstantin classConstantNode- Parameters:
acb- The ExpressionClassBuilder for the class being builtmb- The method the code to place the code- Throws:
StandardException- Thrown on error
-
isSameNodeKind
Description copied from class:ValueNodeSome node classes represent several logical node types (to reduce footprint), which we call kinds. This means that implementations ofValueNode.isEquivalent(ValueNode)cannot always just useinstanceofto check if the other node represents the same kind. Hence this method needs to be overridden by all node classes that represent several kinds. This default implementation does not look at kinds. It is only called from implementations ofisEquivalent.- Overrides:
isSameNodeKindin classValueNode- Parameters:
o- The other value node whose kind we want to compare with.- Returns:
trueifthisandorepresent the same logical node type, i.e. kind.
-