public final class CharConstantNode extends ConstantNode
Modifier and Type | Field and Description |
---|---|
(package private) static int |
K_CHAR |
(package private) static int |
K_CLOB |
(package private) static int |
K_LONGVARCHAR |
(package private) static int |
K_VARCHAR |
(package private) int |
kind
This class is used to hold logically different objects for
space efficiency.
|
value
transformed
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
Constructor and Description |
---|
CharConstantNode(int kind,
TypeId t,
ContextManager cm) |
CharConstantNode(java.lang.String value,
ContextManager cm) |
CharConstantNode(java.lang.String newValue,
int newLength,
ContextManager cm)
Constructor for a CharConstantNode of a specific length.
|
CharConstantNode(TypeId t,
ContextManager cm) |
Modifier and Type | Method and Description |
---|---|
(package private) ValueNode |
bindExpression(FromList fromList,
SubqueryList subqueryList,
java.util.List<AggregateNode> aggregates)
Bind this expression.
|
(package private) void |
generateConstant(ExpressionClassBuilder acb,
MethodBuilder mb)
This generates the proper constant.
|
(package private) java.lang.Object |
getConstantValueAsObject()
Return an Object representing the bind time value of this
expression tree.
|
(package private) java.lang.String |
getString()
Return the value from this CharConstantNode
|
(package private) boolean |
isSameNodeKind(ValueNode o)
Some node classes represent several logical node types (to reduce
footprint), which we call kinds.
|
constantExpression, generateExpression, getClone, getOrderableVariantType, getValue, isCloneable, isConstantExpression, isEquivalent, isNull, setValue, toString
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, verifyPutAndsOnTop
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
static final int K_CHAR
static final int K_VARCHAR
static final int K_LONGVARCHAR
static final int K_CLOB
final int kind
kind
represents the logical object
type. See also ValueNode.isSameNodeKind(org.apache.derby.impl.sql.compile.ValueNode)
.CharConstantNode(java.lang.String value, ContextManager cm) throws StandardException
StandardException
CharConstantNode(TypeId t, ContextManager cm) throws StandardException
StandardException
CharConstantNode(int kind, TypeId t, ContextManager cm) throws StandardException
kind
- The node kindt
- The type idcm
- The context managerStandardException
CharConstantNode(java.lang.String newValue, int newLength, ContextManager cm) throws StandardException
newValue
- A String containing the value of the constantnewLength
- The length of the new value of the constantcm
- StandardException
java.lang.String getString() throws StandardException
StandardException
- Thrown on errorjava.lang.Object getConstantValueAsObject() throws StandardException
getConstantValueAsObject
in class ValueNode
StandardException
- Thrown on errorValueNode bindExpression(FromList fromList, SubqueryList subqueryList, java.util.List<AggregateNode> aggregates) throws StandardException
ConstantNode
bindExpression
in class ConstantNode
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 AggregateNodesStandardException
- 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 StandardExceptionvoid generateConstant(ExpressionClassBuilder acb, MethodBuilder mb) throws StandardException
generateConstant
in class ConstantNode
acb
- The ExpressionClassBuilder for the class being builtmb
- The method the code to place the codeStandardException
- Thrown on errorboolean isSameNodeKind(ValueNode o)
ValueNode
ValueNode.isEquivalent(org.apache.derby.impl.sql.compile.ValueNode)
cannot always just use instanceof
to 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 of isEquivalent
.isSameNodeKind
in class ValueNode
o
- The other value node whose kind we want to compare with.true
if this
and o
represent the same
logical node type, i.e. kind.Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.