org.apache.derby.iapi.sql.dictionary
Class SchemaDescriptor

java.lang.Object
  extended by org.apache.derby.iapi.sql.dictionary.TupleDescriptor
      extended by org.apache.derby.iapi.sql.dictionary.SchemaDescriptor
All Implemented Interfaces:
Dependable, Provider, UniqueTupleDescriptor

public final class SchemaDescriptor
extends TupleDescriptor
implements UniqueTupleDescriptor, Provider

This class represents a schema descriptor

Version:
0.1

Field Summary
private  java.lang.String aid
           
private  int collationType
          For system schemas, the only possible value for collation type is UCS_BASIC.
static java.lang.String DEFAULT_SCHEMA_UUID
           
static java.lang.String DEFAULT_USER_NAME
           
static java.lang.String IBM_SYSTEM_CAT_SCHEMA_NAME
           
static java.lang.String IBM_SYSTEM_FUN_SCHEMA_NAME
           
static java.lang.String IBM_SYSTEM_NULLID_SCHEMA_NAME
           
static java.lang.String IBM_SYSTEM_PROC_SCHEMA_NAME
           
static java.lang.String IBM_SYSTEM_SCHEMA_NAME
           
static java.lang.String IBM_SYSTEM_STAT_SCHEMA_NAME
           
private  boolean isSYSIBM
           
private  boolean isSystem
           
private  java.lang.String name
          the public interface for this system: public String getSchemaName(); public String getAuthorizationId(); public void setUUID(UUID uuid); public boolean isSystemSchema();
static java.lang.String NULLID_SCHEMA_UUID
           
private  UUID oid
           
static java.lang.String SA_USER_NAME
           
static java.lang.String SQLJ_SCHEMA_UUID
           
static java.lang.String STD_DECLARED_GLOBAL_TEMPORARY_TABLES_SCHEMA_NAME
           
static java.lang.String STD_DEFAULT_SCHEMA_NAME
          STD_DEFAULT_SCHEMA_NAME is the name of the default schema in databases that use ANSI standard identifier casing.
static java.lang.String STD_SQLJ_SCHEMA_NAME
          This schema is used for jar handling procedures.
static java.lang.String STD_SYSTEM_DIAG_SCHEMA_NAME
          This schema is for Derby specific system diagnostic procedures and functions which are not available in DB2.
static java.lang.String STD_SYSTEM_SCHEMA_NAME
          STD_SYSTEM_SCHEMA_NAME is the name of the system schema in databases that use ANSI standard identifier casing.
static java.lang.String STD_SYSTEM_UTIL_SCHEMA_NAME
          This schema is for Derby specific system diagnostic procedures and functions which are not available in DB2.
static java.lang.String SYSCAT_SCHEMA_UUID
          UUID's used as key's in the SYSSCHEMA catalog for the system schema's
static java.lang.String SYSCS_DIAG_SCHEMA_UUID
           
static java.lang.String SYSCS_UTIL_SCHEMA_UUID
           
static java.lang.String SYSFUN_SCHEMA_UUID
           
static java.lang.String SYSIBM_SCHEMA_UUID
           
static java.lang.String SYSPROC_SCHEMA_UUID
           
static java.lang.String SYSSTAT_SCHEMA_UUID
           
static java.lang.String SYSTEM_SCHEMA_UUID
           
 
Fields inherited from interface org.apache.derby.catalog.Dependable
ACTIVATION, ALIAS, COLUMNS_IN_TABLE, COLUMNS_PERMISSION, CONGLOMERATE, CONSTRAINT, DEFAULT, FILE, HEAP, INDEX, PERM, PREPARED_STATEMENT, ROLE_GRANT, ROUTINE_PERMISSION, SCHEMA, SEQUENCE, STORED_PREPARED_STATEMENT, TABLE, TABLE_PERMISSION, TRIGGER, VIEW
 
Constructor Summary
SchemaDescriptor(DataDictionary dataDictionary, java.lang.String name, java.lang.String aid, UUID oid, boolean isSystem)
          Constructor for a SchemaDescriptor.
 
Method Summary
 void drop(LanguageConnectionContext lcc, Activation activation)
          Drop this schema.
 boolean equals(java.lang.Object otherObject)
          Determine if two SchemaDescriptors are the same.
 java.lang.String getAuthorizationId()
          Gets the authorization id of the schema
 java.lang.String getClassType()
          Get the provider's type.
 int getCollationType()
          Returns the collation type associated with this schema
 DependableFinder getDependableFinder()
          Get an object which can be written to disk and which, when read from disk, will find or reconstruct this in-memory Dependable.
 java.lang.String getDescriptorName()
           
 java.lang.String getDescriptorType()
          Each descriptor must identify itself with its type; i.e index, check constraint whatever.
 UUID getObjectID()
          Get the provider's UUID
 java.lang.String getObjectName()
          Return the name of this Provider.
 java.lang.String getSchemaName()
          Gets the name of the schema
 UUID getUUID()
          Gets the oid of the schema
 int hashCode()
          Get a hashcode for this SchemaDescriptor
 boolean isSchemaWithGrantableRoutines()
          Indicate whether this is a system schema with grantable routines
 boolean isSYSIBM()
           
 boolean isSystemSchema()
          Indicate whether this is a system schema or not Examples of system schema's include: SYS, SYSIBM, SYSCAT, SYSFUN, SYSPROC, SYSSTAT, and SYSCS_DIAG
 void setAuthorizationId(java.lang.String newAuthorizationID)
          Sets the authorization id of the schema.
 void setUUID(UUID oid)
          Sets the oid of the schema
 java.lang.String toString()
          Prints the contents of the SchemaDescriptor
 
Methods inherited from class org.apache.derby.iapi.sql.dictionary.TupleDescriptor
getColumnDependableFinder, getDataDictionary, getDependableFinder, isPersistent, setDataDictionary
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.derby.catalog.Dependable
isPersistent
 

Field Detail

STD_SYSTEM_SCHEMA_NAME

public static final java.lang.String STD_SYSTEM_SCHEMA_NAME
STD_SYSTEM_SCHEMA_NAME is the name of the system schema in databases that use ANSI standard identifier casing. See org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext#getSystemSchemaName

See Also:
Constant Field Values

IBM_SYSTEM_SCHEMA_NAME

public static final java.lang.String IBM_SYSTEM_SCHEMA_NAME
See Also:
Constant Field Values

IBM_SYSTEM_CAT_SCHEMA_NAME

public static final java.lang.String IBM_SYSTEM_CAT_SCHEMA_NAME
See Also:
Constant Field Values

IBM_SYSTEM_FUN_SCHEMA_NAME

public static final java.lang.String IBM_SYSTEM_FUN_SCHEMA_NAME
See Also:
Constant Field Values

IBM_SYSTEM_PROC_SCHEMA_NAME

public static final java.lang.String IBM_SYSTEM_PROC_SCHEMA_NAME
See Also:
Constant Field Values

IBM_SYSTEM_STAT_SCHEMA_NAME

public static final java.lang.String IBM_SYSTEM_STAT_SCHEMA_NAME
See Also:
Constant Field Values

IBM_SYSTEM_NULLID_SCHEMA_NAME

public static final java.lang.String IBM_SYSTEM_NULLID_SCHEMA_NAME
See Also:
Constant Field Values

STD_SQLJ_SCHEMA_NAME

public static final java.lang.String STD_SQLJ_SCHEMA_NAME
This schema is used for jar handling procedures.

See Also:
Constant Field Values

STD_SYSTEM_DIAG_SCHEMA_NAME

public static final java.lang.String STD_SYSTEM_DIAG_SCHEMA_NAME
This schema is for Derby specific system diagnostic procedures and functions which are not available in DB2.

See Also:
Constant Field Values

STD_SYSTEM_UTIL_SCHEMA_NAME

public static final java.lang.String STD_SYSTEM_UTIL_SCHEMA_NAME
This schema is for Derby specific system diagnostic procedures and functions which are not available in DB2.

See Also:
Constant Field Values

STD_DEFAULT_SCHEMA_NAME

public static final java.lang.String STD_DEFAULT_SCHEMA_NAME
STD_DEFAULT_SCHEMA_NAME is the name of the default schema in databases that use ANSI standard identifier casing. See org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext#getDefaultSchemaName

See Also:
Constant Field Values

SYSCAT_SCHEMA_UUID

public static final java.lang.String SYSCAT_SCHEMA_UUID
UUID's used as key's in the SYSSCHEMA catalog for the system schema's

See Also:
Constant Field Values

SYSFUN_SCHEMA_UUID

public static final java.lang.String SYSFUN_SCHEMA_UUID
See Also:
Constant Field Values

SYSPROC_SCHEMA_UUID

public static final java.lang.String SYSPROC_SCHEMA_UUID
See Also:
Constant Field Values

SYSSTAT_SCHEMA_UUID

public static final java.lang.String SYSSTAT_SCHEMA_UUID
See Also:
Constant Field Values

SYSCS_DIAG_SCHEMA_UUID

public static final java.lang.String SYSCS_DIAG_SCHEMA_UUID
See Also:
Constant Field Values

SYSCS_UTIL_SCHEMA_UUID

public static final java.lang.String SYSCS_UTIL_SCHEMA_UUID
See Also:
Constant Field Values

NULLID_SCHEMA_UUID

public static final java.lang.String NULLID_SCHEMA_UUID
See Also:
Constant Field Values

SQLJ_SCHEMA_UUID

public static final java.lang.String SQLJ_SCHEMA_UUID
See Also:
Constant Field Values

SYSTEM_SCHEMA_UUID

public static final java.lang.String SYSTEM_SCHEMA_UUID
See Also:
Constant Field Values

SYSIBM_SCHEMA_UUID

public static final java.lang.String SYSIBM_SCHEMA_UUID
See Also:
Constant Field Values

DEFAULT_SCHEMA_UUID

public static final java.lang.String DEFAULT_SCHEMA_UUID
See Also:
Constant Field Values

STD_DECLARED_GLOBAL_TEMPORARY_TABLES_SCHEMA_NAME

public static final java.lang.String STD_DECLARED_GLOBAL_TEMPORARY_TABLES_SCHEMA_NAME
See Also:
Constant Field Values

DEFAULT_USER_NAME

public static final java.lang.String DEFAULT_USER_NAME
See Also:
Constant Field Values

SA_USER_NAME

public static final java.lang.String SA_USER_NAME
See Also:
Constant Field Values

name

private final java.lang.String name
the public interface for this system:
  1. public String getSchemaName();
  2. public String getAuthorizationId();
  3. public void setUUID(UUID uuid);
  4. public boolean isSystemSchema();


oid

private UUID oid

aid

private java.lang.String aid

isSystem

private final boolean isSystem

isSYSIBM

private final boolean isSYSIBM

collationType

private int collationType
For system schemas, the only possible value for collation type is UCS_BASIC. For user schemas, the collation type can be UCS_BASIC or TERRITORY_BASED.

Constructor Detail

SchemaDescriptor

public SchemaDescriptor(DataDictionary dataDictionary,
                        java.lang.String name,
                        java.lang.String aid,
                        UUID oid,
                        boolean isSystem)
Constructor for a SchemaDescriptor.

Parameters:
dataDictionary -
name - The schema descriptor for this table.
oid - The object id
aid - The authorizatin id
isSystem - boolean, true iff this is a system schema, like SYS, SYSIBM, SYSCAT, SYSFUN, ....
Method Detail

getSchemaName

public java.lang.String getSchemaName()
Gets the name of the schema

Returns:
The schema name

getAuthorizationId

public java.lang.String getAuthorizationId()
Gets the authorization id of the schema

Returns:
Authorization id lives in.

setAuthorizationId

public void setAuthorizationId(java.lang.String newAuthorizationID)
Sets the authorization id of the schema. This is only used by the DataDictionary during boot in order to patch up the authorization ids on system schemas.

Parameters:
newAuthorizationID - What is is

getUUID

public UUID getUUID()
Gets the oid of the schema

Specified by:
getUUID in interface UniqueTupleDescriptor
Returns:
An oid

setUUID

public void setUUID(UUID oid)
Sets the oid of the schema

Parameters:
oid - The object id

getCollationType

public int getCollationType()
Returns the collation type associated with this schema

Returns:
collation type

getDependableFinder

public DependableFinder getDependableFinder()
Description copied from interface: Dependable
Get an object which can be written to disk and which, when read from disk, will find or reconstruct this in-memory Dependable.

Specified by:
getDependableFinder in interface Dependable
Returns:
the stored form of this provider
See Also:
Dependable.getDependableFinder()

getObjectName

public java.lang.String getObjectName()
Return the name of this Provider. (Useful for errors.)

Specified by:
getObjectName in interface Dependable
Returns:
String The name of this provider.

getObjectID

public UUID getObjectID()
Get the provider's UUID

Specified by:
getObjectID in interface Dependable
Returns:
String The provider's UUID

getClassType

public java.lang.String getClassType()
Get the provider's type.

Specified by:
getClassType in interface Dependable
Returns:
String The provider's type.

toString

public java.lang.String toString()
Prints the contents of the SchemaDescriptor

Overrides:
toString in class java.lang.Object
Returns:
The contents as a String

equals

public boolean equals(java.lang.Object otherObject)
Determine if two SchemaDescriptors are the same.

Overrides:
equals in class java.lang.Object
Parameters:
otherObject - other schemadescriptor
Returns:
true if they are the same, false otherwise

isSystemSchema

public boolean isSystemSchema()
Indicate whether this is a system schema or not Examples of system schema's include: SYS, SYSIBM, SYSCAT, SYSFUN, SYSPROC, SYSSTAT, and SYSCS_DIAG

Returns:
true/false

isSchemaWithGrantableRoutines

public boolean isSchemaWithGrantableRoutines()
Indicate whether this is a system schema with grantable routines

Returns:
true/false

isSYSIBM

public boolean isSYSIBM()

hashCode

public int hashCode()
Get a hashcode for this SchemaDescriptor

Overrides:
hashCode in class java.lang.Object
Returns:
hashcode

getDescriptorName

public java.lang.String getDescriptorName()
Overrides:
getDescriptorName in class TupleDescriptor
See Also:
TupleDescriptor.getDescriptorName()

getDescriptorType

public java.lang.String getDescriptorType()
Description copied from class: TupleDescriptor
Each descriptor must identify itself with its type; i.e index, check constraint whatever.

Overrides:
getDescriptorType in class TupleDescriptor
See Also:
TupleDescriptor.getDescriptorType()

drop

public void drop(LanguageConnectionContext lcc,
                 Activation activation)
          throws StandardException
Drop this schema. Drops the schema if it is empty. If the schema was the current default then the current default will be reset through the language connection context.

Throws:
StandardException - Schema could not be dropped.

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.