Home » db-derby-10.5.3.0 » org.apache.derby.iapi.sql.dictionary » [javadoc | source]
org.apache.derby.iapi.sql.dictionary
public interface: DataDictionary [javadoc | source]

All Known Implementing Classes:
    DataDictionaryImpl, EmptyDictionary

The DataDictionary interface is used with the data dictionary to get descriptors for binding and compilation. Some descriptors (such as table and column descriptors) are added to and deleted from the data dictionary by other modules (like the object store). Other descriptors are added and deleted by the language module itself (e.g. the language module adds and deletes views, because views are too high-level for modules like the object store to know about).
Field Summary
 String MODULE     
public static final  int DD_VERSION_CURRENT    Special version indicating the database must be upgraded to or created at the current engine level DatabaseMetaData will use this to determine if the data dictionary is at the latest System Catalog version number. A data dictionary version will not be at latest System Catalog version when the database is getting booted in soft upgrade mode. In soft upgrade mode, engine should goto metadata.properties to get the sql for the metadata calls rather than going to the system tables (and using stored versions of these queries). This is required because if the metadata sql has changed between the releases, we want to use the latest metadata sql rather than what is stored in the system catalogs. Had to introduce this behavior for EmbeddedDatabaseMetaData in 10.2 release where optimizer overrides syntax was changed. If 10.2 engine in soft upgrade mode for a pre-10.2 database went to system tables for stored metadata queires, the metadata calls would fail because 10.2 release doesn't recognize the pre-10.2 optimizer overrides syntax. To get around this, the 10.2 engine in soft upgrade mode should get the sql from metata.properties which has been changed to 10.2 syntax for optimizer overrides. To make this approach more generic for all soft upgrades, from 10.2 release onwards, DatabaseMetaData calls will always look at metadata.properties so it will get the compatible syntax for that release. 
public static final  int DD_VERSION_CS_5_0    Cloudscape 5.0 System Catalog version 
public static final  int DD_VERSION_CS_5_1    Cloudscape 5.1 (Arwen) System Catalog version 
public static final  int DD_VERSION_CS_5_2    Cloudscape 5.2 (Frodo) System Catalog version 
public static final  int DD_VERSION_CS_8_1    Cloudscape 8.1 (Pre-Gandalf) System Catalog version 
public static final  int DD_VERSION_CS_10_0    Cloudscape/Derby 10.0 (Gandalf) System Catalog version 
public static final  int DD_VERSION_DERBY_10_1    Derby 10.1 System Catalog version 
public static final  int DD_VERSION_DERBY_10_2    Derby 10.2 System Catalog version 
public static final  int DD_VERSION_DERBY_10_3    Derby 10.3 System Catalog version 
public static final  int DD_VERSION_DERBY_10_4    Derby 10.4 System Catalog version 
public static final  int DD_VERSION_DERBY_10_5    Derby 10.5 System Catalog version 
public static final  String DATABASE_ID     
public static final  String CORE_DATA_DICTIONARY_VERSION    DataDictionaryVersion property indicates the updgrade level of the system catalogs. Stored as a database property. Set to an instance of DD_Version with the major number one of the DataDictionary.DD_* values. 
public static final  String CREATE_DATA_DICTIONARY_VERSION    CreateDataDictionaryVersion property indicates the level of the system catalogs, at the time of database creation. Stored as a database property. Set to an instance of DD_Version. 
public static final  String SOFT_DATA_DICTIONARY_VERSION    derby.softDataDictionaryVersion property indicates the soft upgrade level of the system catalogs. Soft upgrade will sometime make minor changes to the system catalogs that can be safely consumed by earlier versions, such as correcting values. Stored as a database property. Set to an instance of DD_Version. 
public static final  String PROPERTY_CONGLOMERATE_VERSION     
public static final  DataTypeDescriptor TYPE_SYSTEM_IDENTIFIER    An immutable runtime type that describes the type VARCHAR(128) NOT NULL with collation type UCS_BASIC and derivation IMPLICIT. 
public static final  TypeDescriptor CATALOG_TYPE_SYSTEM_IDENTIFIER    An immutable catalog type that describes the type VARCHAR(128) NOT NULL with collation type UCS_BASIC. 
public static final  int SYSCONGLOMERATES_CATALOG_NUM     
public static final  int SYSTABLES_CATALOG_NUM     
public static final  int SYSCOLUMNS_CATALOG_NUM     
public static final  int SYSSCHEMAS_CATALOG_NUM     
public static final  int SYSCONSTRAINTS_CATALOG_NUM    Catalog numbers for non core system catalogs. 
public static final  int SYSKEYS_CATALOG_NUM     
public static final  int SYSDEPENDS_CATALOG_NUM     
public static final  int SYSALIASES_CATALOG_NUM     
public static final  int SYSVIEWS_CATALOG_NUM     
public static final  int SYSCHECKS_CATALOG_NUM     
public static final  int SYSFOREIGNKEYS_CATALOG_NUM     
public static final  int SYSSTATEMENTS_CATALOG_NUM     
public static final  int SYSFILES_CATALOG_NUM     
public static final  int SYSTRIGGERS_CATALOG_NUM     
public static final  int SYSSTATISTICS_CATALOG_NUM     
public static final  int SYSDUMMY1_CATALOG_NUM     
public static final  int SYSTABLEPERMS_CATALOG_NUM     
public static final  int SYSCOLPERMS_CATALOG_NUM     
public static final  int SYSROUTINEPERMS_CATALOG_NUM     
public static final  int SYSROLES_CATALOG_NUM     
public static final  int NOTNULL_CONSTRAINT     
public static final  int PRIMARYKEY_CONSTRAINT     
public static final  int UNIQUE_CONSTRAINT     
public static final  int CHECK_CONSTRAINT     
public static final  int DROP_CONSTRAINT     
public static final  int FOREIGNKEY_CONSTRAINT     
public static final  int COMPILE_ONLY_MODE    Modes returned from startReading() 
public static final  int DDL_MODE     
Method from org.apache.derby.iapi.sql.dictionary.DataDictionary Summary:
activeConstraint,   addConstraintDescriptor,   addDescriptor,   addDescriptorArray,   addRemovePermissionsDescriptor,   addSPSDescriptor,   checkVersion,   clearCaches,   computeAutoincRowLocations,   createRoleClosureIterator,   doneReading,   dropAliasDescriptor,   dropAllColumnDescriptors,   dropAllConglomerateDescriptors,   dropAllConstraintDescriptors,   dropAllPermsByGrantee,   dropAllRoutinePermDescriptors,   dropAllTableAndColPermDescriptors,   dropColumnDescriptor,   dropConglomerateDescriptor,   dropConstraintDescriptor,   dropDependentsStoredDependencies,   dropDependentsStoredDependencies,   dropFileInfoDescriptor,   dropRoleGrant,   dropRoleGrantsByGrantee,   dropRoleGrantsByName,   dropSPSDescriptor,   dropSPSDescriptor,   dropSchemaDescriptor,   dropStatisticsDescriptors,   dropStoredDependency,   dropTableDescriptor,   dropTriggerDescriptor,   dropViewDescriptor,   existsGrantToAuthid,   existsSchemaOwnedBy,   getActiveConstraintDescriptors,   getAliasDescriptor,   getAliasDescriptor,   getAllDependencyDescriptorsList,   getAllSPSDescriptors,   getAuthorizationDatabaseOwner,   getBuiltinVTIClass,   getCacheMode,   getCollationTypeOfSystemSchemas,   getCollationTypeOfUserSchemas,   getColumnDescriptorByDefaultId,   getColumnPermissions,   getColumnPermissions,   getColumnPermissions,   getConglomerateDescriptor,   getConglomerateDescriptor,   getConglomerateDescriptor,   getConglomerateDescriptors,   getConglomerateDescriptors,   getConstraintDescriptor,   getConstraintDescriptor,   getConstraintDescriptor,   getConstraintDescriptorById,   getConstraintDescriptorByName,   getConstraintDescriptors,   getConstraintTableDescriptor,   getDataDescriptorGenerator,   getDataValueFactory,   getDeclaredGlobalTemporaryTablesSchemaDescriptor,   getDependencyManager,   getDependentsDescriptorList,   getEngineType,   getExecutionFactory,   getFileInfoDescriptor,   getFileInfoDescriptor,   getForeignKeys,   getProvidersDescriptorList,   getRoleDefinitionDescriptor,   getRoleGrantDescriptor,   getRoleGrantDescriptor,   getRoutineList,   getRoutinePermissions,   getRoutinePermissions,   getRowLocationTemplate,   getSPSDescriptor,   getSPSDescriptor,   getSPSParams,   getSchemaDescriptor,   getSchemaDescriptor,   getSchemaDescriptor,   getSetAutoincrementValue,   getStatisticsDescriptors,   getSubKeyConstraint,   getSysIBMSchemaDescriptor,   getSystemSQLName,   getSystemSchemaDescriptor,   getTableDescriptor,   getTableDescriptor,   getTablePermissions,   getTablePermissions,   getTriggerDescriptor,   getTriggerDescriptor,   getTriggerDescriptors,   getUUIDFactory,   getVTIClass,   getViewDescriptor,   getViewDescriptor,   hashAllConglomerateDescriptorsByNumber,   hashAllTableDescriptorsByTableId,   invalidateAllSPSPlans,   isSchemaEmpty,   isSystemSchemaName,   setAutoincrementValue,   startReading,   startWriting,   transactionFinished,   updateConglomerateDescriptor,   updateConglomerateDescriptor,   updateConstraintDescriptor,   updateLockGranularity,   updateMetadataSPSes,   updateSPS,   updateSYSCOLPERMSforAddColumnToUserTable,   updateSYSCOLPERMSforDropColumn,   updateTriggerDescriptor,   usesSqlAuthorization
Method from org.apache.derby.iapi.sql.dictionary.DataDictionary Detail:
 public boolean activeConstraint(ConstraintDescriptor constraint) throws StandardException
    Reports whether an individual constraint must be enforced. For the Core product, this routine always returns true. However, during REFRESH we may have deferred some constraints until statement end. This method returns false if the constraint deferred
 public  void addConstraintDescriptor(ConstraintDescriptor descriptor,
    TransactionController tc) throws StandardException
    Adds the given ConstraintDescriptor to the data dictionary, associated with the given table and constraint type.
 public  void addDescriptor(TupleDescriptor tuple,
    TupleDescriptor parent,
    int catalogNumber,
    boolean allowsDuplicates,
    TransactionController tc) throws StandardException
    Adds a descriptor to a system catalog identified by the catalogNumber.
 public  void addDescriptorArray(TupleDescriptor[] tuple,
    TupleDescriptor parent,
    int catalogNumber,
    boolean allowsDuplicates,
    TransactionController tc) throws StandardException
    array version of addDescriptor.
 public boolean addRemovePermissionsDescriptor(boolean add,
    PermissionsDescriptor perm,
    String grantee,
    TransactionController tc) throws StandardException
    Add or remove a permission to the permission database.
 public  void addSPSDescriptor(SPSDescriptor descriptor,
    TransactionController tc) throws StandardException
    Adds the given SPSDescriptor to the data dictionary, associated with the given table and constraint type.
 public boolean checkVersion(int majorVersion,
    String feature) throws StandardException
    Check to see if a database has been upgraded to the required level in order to use a langauge feature that is.

    This is used to ensure new functionality that would lead on disk information not understood by a previous release is not executed while in soft upgrade mode. Ideally this is called at compile time and the parser has a utility method to enable easy use at parse time.

    To use this method, a feature implemented in a certain release (DataDictionary version) would call it with the constant matching the release. E.g. for a new feature added in 10.1, a call such as

    // check and throw an exception if the database is not at 10.1
    dd.checkVersion(DataDictionary.DD_VERSION_DERBY_10_1, "NEW FEATURE NAME");
    
    
    This call would occur during the compile time, usually indirectly through the parser utility method, but direct calls can be made during QueryNode initialization, or even at bind time.
    It is not expected that this method would be called at execution time.
 public  void clearCaches() throws StandardException
    Clear all of the DataDictionary caches.
 public RowLocation[] computeAutoincRowLocations(TransactionController tc,
    TableDescriptor td) throws StandardException
    returns an array of RowLocations corresponding to the autoincrement columns in the table. The RowLocation points to the row in SYSCOLUMNS for this particular ai column. The array has as many elements as there are columns in the table. If a column is not an ai column, the entry is NULL.
 public RoleClosureIterator createRoleClosureIterator(TransactionController tc,
    String role,
    boolean inverse) throws StandardException
    This method creates a new iterator over the closure of role grants starting or ending with a given role. This method will cause reading of dictionary, so should be called inside a transaction, after a {@code dd.startReading()} or {@code dd.startWriting()} call.
 public  void doneReading(int mode,
    LanguageConnectionContext lcc) throws StandardException
    Inform this DataDictionary that we have finished reading it. This typically happens at the end of compilation.
 public  void dropAliasDescriptor(AliasDescriptor ad,
    TransactionController tc) throws StandardException
    Drop an AliasDescriptor from the DataDictionary
 public  void dropAllColumnDescriptors(UUID tableID,
    TransactionController tc) throws StandardException
    Drops all column descriptors from the given table. Useful for DROP TABLE.
 public  void dropAllConglomerateDescriptors(TableDescriptor td,
    TransactionController tc) throws StandardException
    Drops all conglomerates associated with a table.
 public  void dropAllConstraintDescriptors(TableDescriptor table,
    TransactionController tc) throws StandardException
    Drops all ConstraintDescriptors from the data dictionary that are associated with the given table. NOTE: Caller is responsible for dropping any backing index
 public  void dropAllPermsByGrantee(String authid,
    TransactionController tc) throws StandardException
    Drop all permission descriptors corresponding to a grant to the named authentication identifier
 public  void dropAllRoutinePermDescriptors(UUID routineID,
    TransactionController tc) throws StandardException
    Drops all routine permission descriptors for the given routine.
 public  void dropAllTableAndColPermDescriptors(UUID tableID,
    TransactionController tc) throws StandardException
    Drops all table and column permission descriptors for the given table.
 public  void dropColumnDescriptor(UUID tableID,
    String columnName,
    TransactionController tc) throws StandardException
    Given a column name and a table ID, drops the column descriptor from the table.
 public  void dropConglomerateDescriptor(ConglomerateDescriptor conglomerate,
    TransactionController tc) throws StandardException
    Drops a conglomerate descriptor
 public  void dropConstraintDescriptor(ConstraintDescriptor descriptor,
    TransactionController tc) throws StandardException
    Drops the given ConstraintDescriptor from the data dictionary. NOTE: Caller is responsible for dropping any backing index
 public  void dropDependentsStoredDependencies(UUID dependentsUUID,
    TransactionController tc) throws StandardException
    Remove all of the stored dependencies for a given dependent's ID from the data dictionary.
 public  void dropDependentsStoredDependencies(UUID dependentsUUID,
    TransactionController tc,
    boolean wait) throws StandardException
    Remove all of the stored dependencies for a given dependent's ID from the data dictionary.
 public  void dropFileInfoDescriptor(FileInfoDescriptor fid) throws StandardException
    Drop a FileDescriptor from the datadictionary.
 public  void dropRoleGrant(String roleName,
    String grantee,
    String grantor,
    TransactionController tc) throws StandardException
    Drop a role grant
 public  void dropRoleGrantsByGrantee(String grantee,
    TransactionController tc) throws StandardException
    Drop all role grants corresponding to a grant of (any) role to a named authentication identifier
 public  void dropRoleGrantsByName(String roleName,
    TransactionController tc) throws StandardException
    Drop all role grants corresponding to a grant of the named role to any authentication identifier
 public  void dropSPSDescriptor(SPSDescriptor descriptor,
    TransactionController tc) throws StandardException
    Drops the given SPSDescriptor.
 public  void dropSPSDescriptor(UUID uuid,
    TransactionController tc) throws StandardException
    Drops the given SPSDescriptor.
 public  void dropSchemaDescriptor(String schemaName,
    TransactionController tc) throws StandardException
    Drop the descriptor for a schema, given the schema's name
 public  void dropStatisticsDescriptors(UUID tableUUID,
    UUID referenceUUID,
    TransactionController tc) throws StandardException
    Drops all statistics descriptors for a given table/index column combination. If the index is not specified, then all statistics for the table are dropped.
 public  void dropStoredDependency(DependencyDescriptor dd,
    TransactionController tc) throws StandardException
    Drop a dependency from the data dictionary.
 public  void dropTableDescriptor(TableDescriptor td,
    SchemaDescriptor schema,
    TransactionController tc) throws StandardException
    Drop the table descriptor.
 public  void dropTriggerDescriptor(TriggerDescriptor descriptor,
    TransactionController tc) throws StandardException
    Drops the given TriggerDescriptor that is associated with the given table and constraint type from the data dictionary.
 public  void dropViewDescriptor(ViewDescriptor viewDescriptor,
    TransactionController tc) throws StandardException
    Drops the view descriptor from the data dictionary.
 public boolean existsGrantToAuthid(String authId,
    TransactionController tc) throws StandardException
    Check all dictionary tables and return true if there is any GRANT descriptor containing authId as its grantee.
 public boolean existsSchemaOwnedBy(String authid,
    TransactionController tc) throws StandardException
    Return true of there exists a schema whose authorizationId equals authid, i.e. SYSSCHEMAS contains a row whose column AUTHORIZATIONID equals authid.
 public ConstraintDescriptorList getActiveConstraintDescriptors(ConstraintDescriptorList cdl) throws StandardException
    Convert a constraint descriptor list into a list of active constraints, that is, constraints which must be enforced. For the Core product, these are just the constraints on the original list. However, during REFRESH we may have deferred some constraints until statement end. This method returns the corresponding list of constraints which AREN'T deferred.
 public AliasDescriptor getAliasDescriptor(UUID uuid) throws StandardException
    Get an AliasDescriptor given its UUID.
 public AliasDescriptor getAliasDescriptor(String schemaID,
    String aliasName,
    char nameSpace) throws StandardException
    Get a AliasDescriptor by alias name and name space. NOTE: caller responsible for handling no match.
 public List getAllDependencyDescriptorsList() throws StandardException
    Build and return an List with DependencyDescriptors for all of the stored dependencies. This is useful for consistency checking.
 public List getAllSPSDescriptors() throws StandardException
    Get every statement in this database. Return the SPSDescriptors in an list.
 public String getAuthorizationDatabaseOwner()
    Get authorizationID of Database Owner
 public String getBuiltinVTIClass(TableDescriptor td,
    boolean asTableFunction) throws StandardException
    Return the Java class to use for a builtin VTI to which the received table descriptor maps.
 public int getCacheMode()
    Returns the cache mode of the data dictionary.
 public int getCollationTypeOfSystemSchemas()
    Return the collation type for SYSTEM schemas. In Derby 10.3, this will always be UCS_BASIC
 public int getCollationTypeOfUserSchemas()
    Return the collation type for user schemas. In Derby 10.3, this is either UCS_BASIC or TERRITORY_BASED. The exact value is decided by what has user asked for through JDBC url optional attribute COLLATION. If that atrribute is set to UCS_BASIC, the collation type for user schemas will be UCS_BASIC. If that attribute is set to TERRITORY_BASED, the collation type for user schemas will be TERRITORY_BASED. If the user has not provided COLLATION attribute value in the JDBC url at database create time, then collation type of user schemas will default to UCS_BASIC. Pre-10.3 databases after upgrade to Derby 10.3 will also use UCS_BASIC for collation type of user schemas.
 public ColumnDescriptor getColumnDescriptorByDefaultId(UUID uuid) throws StandardException
    Get a ColumnDescriptor given its Default ID.
 public ColPermsDescriptor getColumnPermissions(UUID colPermsUUID) throws StandardException
    Get one user's column privileges on a table using colPermsUUID
 public ColPermsDescriptor getColumnPermissions(UUID tableUUID,
    int privType,
    boolean forGrant,
    String authorizationId) throws StandardException
    Get one user's column privileges for a table.
 public ColPermsDescriptor getColumnPermissions(UUID tableUUID,
    String privTypeStr,
    boolean forGrant,
    String authorizationId) throws StandardException
    Get one user's column privileges for a table. This routine gets called during revoke privilege processing
 public ConglomerateDescriptor getConglomerateDescriptor(UUID uuid) throws StandardException
    Get a ConglomerateDescriptor given its UUID. If it is an index conglomerate shared by at least another duplicate index, this returns one of the ConglomerateDescriptors for those indexes.
 public ConglomerateDescriptor getConglomerateDescriptor(long conglomerateNumber) throws StandardException
    Get a ConglomerateDescriptor given its conglomerate number. If it is an index conglomerate shared by at least another duplicate index, this returns one of the ConglomerateDescriptors for those indexes.
 public ConglomerateDescriptor getConglomerateDescriptor(String indexName,
    SchemaDescriptor sd,
    boolean forUpdate) throws StandardException
    Gets a conglomerate descriptor for the named index in the given schema, getting an exclusive row lock on the matching row in sys.sysconglomerates (for DDL concurrency) if requested.
 public ConglomerateDescriptor[] getConglomerateDescriptors(UUID uuid) throws StandardException
    Get an array of ConglomerateDescriptors given the UUID. If it is a heap conglomerate or an index conglomerate not shared by a duplicate index, the size of the return array is 1.
 public ConglomerateDescriptor[] getConglomerateDescriptors(long conglomerateNumber) throws StandardException
    Get an array of conglomerate descriptors for the given conglomerate number. If it is a heap conglomerate or an index conglomerate not shared by a duplicate index, the size of the return array is 1.
 public ConstraintDescriptor getConstraintDescriptor(UUID uuid) throws StandardException
    Get a ConstraintDescriptor given its UUID.
 public ConstraintDescriptor getConstraintDescriptor(String constraintName,
    UUID schemaID) throws StandardException
    Get a ConstraintDescriptor given its name and schema ID.
 public ConstraintDescriptor getConstraintDescriptor(TableDescriptor td,
    UUID uuid) throws StandardException
    Get the constraint descriptor given a table and the UUID String of the backing index.
 public ConstraintDescriptor getConstraintDescriptorById(TableDescriptor td,
    UUID uuid) throws StandardException
    Get the constraint descriptor given a table and the UUID String of the constraint
 public ConstraintDescriptor getConstraintDescriptorByName(TableDescriptor td,
    SchemaDescriptor sd,
    String constraintName,
    boolean forUpdate) throws StandardException
    Get the constraint descriptor given a TableDescriptor and the constraint name.
 public ConstraintDescriptorList getConstraintDescriptors(TableDescriptor td) throws StandardException
    Load up the constraint descriptor list for this table descriptor and return it. If the descriptor list is already loaded up, it is retuned without further ado.
 public TableDescriptor getConstraintTableDescriptor(UUID constraintId) throws StandardException
    Return a table descriptor corresponding to the TABLEID field in SYSCONSTRAINTS where CONSTRAINTID matches the constraintId passed in.
 public DataDescriptorGenerator getDataDescriptorGenerator()
    Get a DataDescriptorGenerator, through which we can create objects to be stored in the DataDictionary.
 public DataValueFactory getDataValueFactory()
    Get the DataValueFactory associated with this database.
 public SchemaDescriptor getDeclaredGlobalTemporaryTablesSchemaDescriptor() throws StandardException
    Get the descriptor for the declared global temporary table schema which is always named "SESSION". SQL92 allows a schema to specify a default character set - we will not support this.
 public DependencyManager getDependencyManager()
    Returns the dependency manager for this DataDictionary. Associated with each DataDictionary object there is a DependencyManager object which keeps track of both persistent and stored dependencies.
 public List getDependentsDescriptorList(String dependentID) throws StandardException
    Gets a list of the dependency descriptors for the given dependent's id.
 public int getEngineType()
 public ExecutionFactory getExecutionFactory()
    Get the ExecutionFactory associated with this database.
 public FileInfoDescriptor getFileInfoDescriptor(UUID id) throws StandardException
    Get a FileInfoDescriptor given its id.
 public FileInfoDescriptor getFileInfoDescriptor(SchemaDescriptor sd,
    String name) throws StandardException
    Get a FileInfoDescriptor given its SQL name and schema name.
 public ConstraintDescriptorList getForeignKeys(UUID constraintId) throws StandardException
    Return a list of foreign keys constraints referencing this constraint. Returns both enabled and disabled constraints.
 public List getProvidersDescriptorList(String providerID) throws StandardException
    Gets a list of the dependency descriptors for the given provider's id.
 public RoleGrantDescriptor getRoleDefinitionDescriptor(String roleName) throws StandardException
    Get a role grant descriptor for a role definition.
 public RoleGrantDescriptor getRoleGrantDescriptor(UUID uuid) throws StandardException
    Get the role grant descriptor corresponding to the uuid provided
 public RoleGrantDescriptor getRoleGrantDescriptor(String roleName,
    String grantee,
    String grantor) throws StandardException
    Get a descriptor for a role grant
 public List getRoutineList(String schemaID,
    String routineName,
    char nameSpace) throws StandardException
    Get the list of routines matching the schema and routine name.
 public RoutinePermsDescriptor getRoutinePermissions(UUID routinePermsUUID) throws StandardException
    Get one user's privileges for a routine using routinePermsUUID
 public RoutinePermsDescriptor getRoutinePermissions(UUID routineUUID,
    String authorizationId) throws StandardException
    Get one user's permissions for a routine (function or procedure).
 public RowLocation getRowLocationTemplate(LanguageConnectionContext lcc,
    TableDescriptor td) throws StandardException
 public SPSDescriptor getSPSDescriptor(UUID uuid) throws StandardException
    Get a SPSDescriptor given its UUID.
 public SPSDescriptor getSPSDescriptor(String name,
    SchemaDescriptor sd) throws StandardException
    Get the stored prepared statement descriptor given a sps name.
 public DataTypeDescriptor[] getSPSParams(SPSDescriptor spsd,
    Vector defaults) throws StandardException
    Get all the parameter descriptors for an SPS. Look up the params in SYSCOLUMNS and turn them into parameter descriptors.
 public SchemaDescriptor getSchemaDescriptor(UUID schemaId,
    TransactionController tc) throws StandardException
    Get the SchemaDescriptor for the given schema identifier.
 public SchemaDescriptor getSchemaDescriptor(String schemaName,
    TransactionController tc,
    boolean raiseError) throws StandardException
    Get the descriptor for the named schema. Schema descriptors include authorization ids and schema ids. SQL92 allows a schema to specify a default character set - we will not support this. Will check default schema for a match before scanning a system table.
 public SchemaDescriptor getSchemaDescriptor(UUID schemaId,
    int isolationLevel,
    TransactionController tc) throws StandardException
    Get the SchemaDescriptor for the given schema identifier.
 public NumberDataValue getSetAutoincrementValue(RowLocation rl,
    TransactionController tc,
    boolean doUpdate,
    NumberDataValue newValue,
    boolean wait) throws StandardException
    getSetAutoincrementValue fetches the autoincrement value from SYSCOLUMNS given a row location. If doUpdate is true it updates the autoincrement column with the new value. the value returned by this routine is the new value and *NOT* the value in the system catalogs.
 public List getStatisticsDescriptors(TableDescriptor td) throws StandardException
    Gets all statistics Descriptors for a given table.
 public SubKeyConstraintDescriptor getSubKeyConstraint(UUID constraintId,
    int type) throws StandardException
    Get a SubKeyConstraintDescriptor from syskeys or sysforeignkeys for the specified constraint id. For primary foreign and and unique key constraints.
 public SchemaDescriptor getSysIBMSchemaDescriptor() throws StandardException
    Get the descriptor for the SYSIBM schema. Schema descriptors include authorization ids and schema ids. SQL92 allows a schema to specify a default character set - we will not support this.
 public String getSystemSQLName()
    Returns a unique system generated name of the form SQLyymmddhhmmssxxn yy - year, mm - month, dd - day of month, hh - hour, mm - minute, ss - second, xx - the first 2 digits of millisec because we don't have enough space to keep the exact millisec value, n - number between 0-9
 public SchemaDescriptor getSystemSchemaDescriptor() throws StandardException
    Get the descriptor for the system schema. Schema descriptors include authorization ids and schema ids. SQL92 allows a schema to specify a default character set - we will not support this.
 public TableDescriptor getTableDescriptor(UUID tableID) throws StandardException
    Get the descriptor for the table with the given UUID. NOTE: I'm assuming that the object store will define an UUID for persistent objects. I'm also assuming that UUIDs are unique across schemas, and that the object store will be able to do efficient lookups across schemas (i.e. that no schema descriptor parameter is needed).
 public TableDescriptor getTableDescriptor(String tableName,
    SchemaDescriptor schema,
    TransactionController tc) throws StandardException
    Get the descriptor for the named table within the given schema. If the schema parameter is NULL, it looks for the table in the current (default) schema. Table descriptors include object ids, object types (table, view, etc.)
 public TablePermsDescriptor getTablePermissions(UUID tablePermsUUID) throws StandardException
    Get one user's privileges on a table using tablePermsUUID
 public TablePermsDescriptor getTablePermissions(UUID tableUUID,
    String authorizationId) throws StandardException
    Get one user's privileges on a table using tableUUID and authorizationid
 public TriggerDescriptor getTriggerDescriptor(UUID uuid) throws StandardException
    Get a TriggerDescriptor given its UUID.
 public TriggerDescriptor getTriggerDescriptor(String name,
    SchemaDescriptor sd) throws StandardException
    Get the stored prepared statement descriptor given a sps name.
 public GenericDescriptorList getTriggerDescriptors(TableDescriptor td) throws StandardException
    Load up the trigger descriptor list for this table descriptor and return it. If the descriptor list is already loaded up, it is retuned without further ado.
 public UUIDFactory getUUIDFactory()
    Get the UUID Factory. (No need to make the UUIDFactory a module.)
 public String getVTIClass(TableDescriptor td,
    boolean asTableFunction) throws StandardException
    Return the Java class to use for the VTI to which the received table descriptor maps. There are two kinds of VTI mappings that we do: the first is for "table names", the second is for "table function names". Table names can only be mapped to VTIs that do not accept any arguments; any VTI that has at least one constructor which accepts one or more arguments must be mapped from a table *function* name. An example of a VTI "table name" is the following: select * from SYSCS_DIAG.LOCK_TABLE In this case "SYSCS_DIAG.LOCK_TABLE" is the table name that we want to map. Since the corresonding VTI does not accept any arguments, this VTI table name can be used anywhere a normal base table name can be used. An example of a VTI "table function name" is the following: select * from TABLE(SYSCS_DIAG.SPACE_TABLE(?)) x In this case "SYSCS_DIAG.SPACE_TABLE" is the table function name that we want to map. Since the corresponding VTI can take either one or two arguments we have to use the TABLE constructor syntax to pass the argument(s) in as if we were making a function call. Hence the term "table function".
 public ViewDescriptor getViewDescriptor(UUID uuid) throws StandardException
    Gets the viewDescriptor for the view with the given UUID.
 public ViewDescriptor getViewDescriptor(TableDescriptor td) throws StandardException
    Gets the viewDescriptor for the view given its TableDescriptor.
 public Hashtable hashAllConglomerateDescriptorsByNumber(TransactionController tc) throws StandardException
    Get all of the ConglomerateDescriptors in the database and hash them by conglomerate number. This is useful as a performance optimization for the locking VTIs. NOTE: This method will scan SYS.SYSCONGLOMERATES at READ COMMITTED. It should really scan at READ UNCOMMITTED, but there is no such thing yet.
 public Hashtable hashAllTableDescriptorsByTableId(TransactionController tc) throws StandardException
    Get all of the TableDescriptors in the database and hash them by TableId This is useful as a performance optimization for the locking VTIs. NOTE: This method will scan SYS.SYSTABLES at READ COMMITTED. It should really scan at READ UNCOMMITTED, but there is no such thing yet.
 public  void invalidateAllSPSPlans() throws StandardException
    Invalidate all the stored plans in SYS.SYSSTATEMENTS.
 public boolean isSchemaEmpty(SchemaDescriptor sd) throws StandardException
    Indicate whether there is anything in the particular schema. Checks for tables in the the schema, on the assumption that there cannot be any other objects in a schema w/o a table.
 public boolean isSystemSchemaName(String name) throws StandardException
    Determine whether a string is the name of the system schema.
 public  void setAutoincrementValue(TransactionController tc,
    UUID tableUUID,
    String columnName,
    long aiValue,
    boolean incrementNeeded) throws StandardException
    sets a new value in SYSCOLUMNS for a particular autoincrement column.
 public int startReading(LanguageConnectionContext lcc) throws StandardException
    Inform this DataDictionary that we are about to start reading it. This means using the various get methods in the DataDictionary. Generally, this is done during query compilation.
 public  void startWriting(LanguageConnectionContext lcc) throws StandardException
    Inform this DataDictionary that we are about to start writing to it. This means using the various add and drop methods in the DataDictionary. Generally, this is done during execution of DDL.
 public  void transactionFinished() throws StandardException
    Inform this DataDictionary that the transaction in which writes have been done (or may have been done) has been committed or rolled back.
 public  void updateConglomerateDescriptor(ConglomerateDescriptor[] cds,
    long conglomerateNumber,
    TransactionController tc) throws StandardException
    Update the conglomerateNumber for an array of ConglomerateDescriptors. In case of more than one ConglomerateDescriptor, they are for duplicate indexes sharing one conglomerate. This is useful, in 1.3, when doing a bulkInsert into an empty table where we insert into a new conglomerate. (This will go away in 1.4.)
 public  void updateConglomerateDescriptor(ConglomerateDescriptor cd,
    long conglomerateNumber,
    TransactionController tc) throws StandardException
    Update the conglomerateNumber for a ConglomerateDescriptor. This is useful, in 1.3, when doing a bulkInsert into an empty table where we insert into a new conglomerate. (This will go away in 1.4.)
 public  void updateConstraintDescriptor(ConstraintDescriptor cd,
    UUID formerUUID,
    int[] colsToSet,
    TransactionController tc) throws StandardException
    Update the constraint descriptor in question. Updates every row in the base conglomerate.
 public  void updateLockGranularity(TableDescriptor td,
    SchemaDescriptor schema,
    char lockGranularity,
    TransactionController tc) throws StandardException
    Update the lockGranularity for the specified table.
 public  void updateMetadataSPSes(TransactionController tc) throws StandardException
    Drop and recreate metadata stored prepared statements.
 public  void updateSPS(SPSDescriptor spsd,
    TransactionController tc,
    boolean recompile,
    boolean updateSYSCOLUMNS,
    boolean firstCompilation) throws StandardException
    Updates SYS.SYSSTATEMENTS with the info from the SPSD.
 public  void updateSYSCOLPERMSforAddColumnToUserTable(UUID tableID,
    TransactionController tc) throws StandardException
    Need to update SYSCOLPERMS for a given table because a new column has been added to that table. SYSCOLPERMS has a column called "COLUMNS" which is a bit map for all the columns in a given user table. Since ALTER TABLE .. ADD COLUMN .. has added one more column, we need to expand "COLUMNS" for that new column Currently, this code gets called during execution phase of ALTER TABLE .. ADD COLUMN ..
 public  void updateSYSCOLPERMSforDropColumn(UUID tableID,
    TransactionController tc,
    ColumnDescriptor columnDescriptor) throws StandardException
    Update SYSCOLPERMS to reflect the dropping of a column from a table. This method rewrites SYSCOLPERMS rows to update the COLUMNS bitmap to reflect the removal of a column from a table. Currently, this code gets called during execution phase of ALTER TABLE .. DROP COLUMN ..
 public  void updateTriggerDescriptor(TriggerDescriptor triggerd,
    UUID formerUUID,
    int[] colsToSet,
    TransactionController tc) throws StandardException
    Update the trigger descriptor in question. Updates every row in the base conglomerate.
 public boolean usesSqlAuthorization()
    Get authorization model in force, SqlStandard or legacy mode