Class TableName
- java.lang.Object
-
- org.apache.derby.impl.sql.compile.QueryTreeNode
-
- org.apache.derby.impl.sql.compile.TableName
-
- All Implemented Interfaces:
Visitable
public class TableName extends QueryTreeNode
A TableName represents a qualified name, externally represented as a schema name and an object name separated by a dot. This class is misnamed: it is used to represent the names of other object types in addition to tables.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
hasSchema
(package private) java.lang.String
schemaName
(package private) java.lang.String
tableName
-
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 TableName(java.lang.String schemaName, java.lang.String tableName, int tokBeginOffset, int tokEndOffset, ContextManager cm)
Constructor for when we have both the table and schema names.TableName(java.lang.String schemaName, java.lang.String tableName, ContextManager cm)
Constructor for when we have both the table and schema names.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
bind()
Bind this TableName.TableName
cloneMe()
Clone this TableNameboolean
equals(java.lang.Object other)
Compares two TableNames.(package private) boolean
equals(java.lang.String otherSchemaName, java.lang.String otherTableName)
2 TableNames are equal if their both their schemaNames and tableNames are equal, or if this node's full table name is null (which happens when a SELECT * is expanded).(package private) boolean
equals(TableName otherTableName)
2 TableNames are equal if their both their schemaNames and tableNames are equal, or if this node's full table name is null (which happens when a SELECT * is expanded).java.lang.String
getFullSQLName()
Get the full SQL name of this object, properly quoted and escaped.(package private) java.lang.String
getFullTableName()
Get the full table name (with the schema name, if explicitly specified).java.lang.String
getSchemaName()
Get the schema name.java.lang.String
getTableName()
Get the table name (without the schema name).int
hashCode()
Returns a hash code for this tableName.boolean
hasSchema()
Return true if this instance was initialized with not null schemaName.(package private) void
setSchemaName(java.lang.String schemaName)
Set the schema name.java.lang.String
toString()
Convert this object to a String.-
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode
accept, acceptChildren, addTag, addUDTUsagePriv, addUDTUsagePriv, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, copyTagsFrom, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, generate, 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
-
-
-
-
Constructor Detail
-
TableName
TableName(java.lang.String schemaName, java.lang.String tableName, ContextManager cm)
Constructor for when we have both the table and schema names.- Parameters:
schemaName
- The name of the schema being referencedtableName
- The name of the table or other object being referencedcm
- The context manager
-
TableName
TableName(java.lang.String schemaName, java.lang.String tableName, int tokBeginOffset, int tokEndOffset, ContextManager cm)
Constructor for when we have both the table and schema names.- Parameters:
schemaName
- The name of the schema being referencedtableName
- The name of the table or other object being referencedtokBeginOffset
- begin position of token for the table name identifier from parser. pass in -1 if unknowntokEndOffset
- end position of token for the table name identifier from parser. pass in -1 if unknowncm
- The context manager
-
-
Method Detail
-
getTableName
public java.lang.String getTableName()
Get the table name (without the schema name).- Returns:
- Table name as a String
-
hasSchema
public boolean hasSchema()
Return true if this instance was initialized with not null schemaName.- Returns:
- true if this instance was initialized with not null schemaName
-
getSchemaName
public java.lang.String getSchemaName()
Get the schema name.- Returns:
- Schema name as a String
-
setSchemaName
void setSchemaName(java.lang.String schemaName)
Set the schema name.- Parameters:
schemaName
- Schema name as a String
-
getFullTableName
java.lang.String getFullTableName()
Get the full table name (with the schema name, if explicitly specified).- Returns:
- Full table name as a String
-
getFullSQLName
public java.lang.String getFullSQLName()
Get the full SQL name of this object, properly quoted and escaped.
-
toString
public java.lang.String toString()
Convert this object to a String. See comments in QueryTreeNode.java for how this should be done for tree printing.- Overrides:
toString
in classQueryTreeNode
- Returns:
- This object as a String
-
equals
boolean equals(TableName otherTableName)
2 TableNames are equal if their both their schemaNames and tableNames are equal, or if this node's full table name is null (which happens when a SELECT * is expanded). Also, only check table names if the schema name(s) are null.- Parameters:
otherTableName
- The other TableName.- Returns:
- boolean Whether or not the 2 TableNames are equal.
-
equals
boolean equals(java.lang.String otherSchemaName, java.lang.String otherTableName)
2 TableNames are equal if their both their schemaNames and tableNames are equal, or if this node's full table name is null (which happens when a SELECT * is expanded). Also, only check table names if the schema name(s) are null.- Parameters:
otherSchemaName
- The other TableName.otherTableName
- The other TableName.- Returns:
- boolean Whether or not the 2 TableNames are equal.
-
cloneMe
public TableName cloneMe()
Clone this TableName
-
bind
void bind() throws StandardException
Bind this TableName. This means filling in the schema name if it wasn't specified.- Throws:
StandardException
- Thrown on error
-
hashCode
public int hashCode()
Returns a hash code for this tableName. This allows us to use TableNames as keys in hash lists.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hash code for this table name
-
equals
public boolean equals(java.lang.Object other)
Compares two TableNames. Needed for hashing logic to work.- Overrides:
equals
in classjava.lang.Object
- Parameters:
other
- other tableName
-
-