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 booleanhasSchema(package private) java.lang.StringschemaName(package private) java.lang.StringtableName-
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) voidbind()Bind this TableName.TableNamecloneMe()Clone this TableNamebooleanequals(java.lang.Object other)Compares two TableNames.(package private) booleanequals(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) booleanequals(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.StringgetFullSQLName()Get the full SQL name of this object, properly quoted and escaped.(package private) java.lang.StringgetFullTableName()Get the full table name (with the schema name, if explicitly specified).java.lang.StringgetSchemaName()Get the schema name.java.lang.StringgetTableName()Get the table name (without the schema name).inthashCode()Returns a hash code for this tableName.booleanhasSchema()Return true if this instance was initialized with not null schemaName.(package private) voidsetSchemaName(java.lang.String schemaName)Set the schema name.java.lang.StringtoString()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:
toStringin 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:
hashCodein 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:
equalsin classjava.lang.Object- Parameters:
other- other tableName
-
-