Top Description Fields Methods
org.apache.derby.iapi.sql.dictionary

public Interface DataDictionary

Known Direct Implementers
org.apache.derby.impl.sql.catalog.DataDictionaryImpl
Imports
java.sql.Types, java.util.Dictionary, .Hashtable, .List, org.apache.derby.catalog.DependableFinder, .TypeDescriptor, .UUID, org.apache.derby.iapi.db.Database, org.apache.derby.shared.common.error.StandardException, org.apache.derby.iapi.services.daemon.IndexStatisticsDaemon, org.apache.derby.iapi.services.uuid.UUIDFactory, org.apache.derby.iapi.sql.compile.Visitable, org.apache.derby.iapi.sql.conn.LanguageConnectionContext, org.apache.derby.iapi.sql.depend.DependencyManager, org.apache.derby.iapi.sql.execute.ExecutionFactory, org.apache.derby.iapi.store.access.TransactionController, org.apache.derby.iapi.types.DataTypeDescriptor, .DataValueDescriptor, .DataValueFactory, .NumberDataValue, .RowLocation

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).
Version
0.1

Field Summary

Modifier and TypeField and Description
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
public static final int
COMPILE_ONLY_MODE

Modes returned from startReading()

public static final String
CORE_DATA_DICTIONARY_VERSION

DataDictionaryVersion property indicates the updgrade level of the system catalogs.

public static final String
CREATE_DATA_DICTIONARY_VERSION

CreateDataDictionaryVersion property indicates the level of the system catalogs, at the time of database creation.

public static final String
public static final int
DD_VERSION_CS_10_0

Cloudscape/Derby 10.0 (Gandalf) System Catalog version

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_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.

public static final int
DD_VERSION_DERBY_10_1

Derby 10.1 System Catalog version

public static final int
DD_VERSION_DERBY_10_10

Derby 10.10 System Catalog version

public static final int
DD_VERSION_DERBY_10_11

Derby 10.11 System Catalog version

public static final int
DD_VERSION_DERBY_10_12

Derby 10.12 System Catalog version

public static final int
DD_VERSION_DERBY_10_13

Derby 10.13 System Catalog version

public static final int
DD_VERSION_DERBY_10_14

Derby 10.14 System Catalog version

public static final int
DD_VERSION_DERBY_10_15

Derby 10.14 System Catalog version

public static final int
DD_VERSION_DERBY_10_16

Derby 10.14 System Catalog version

public static final int
DD_VERSION_DERBY_10_17

Derby 10.14 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 int
DD_VERSION_DERBY_10_6

Derby 10.6 System Catalog version

public static final int
DD_VERSION_DERBY_10_7

Derby 10.7 System Catalog version

public static final int
DD_VERSION_DERBY_10_8

Derby 10.8 System Catalog version

public static final int
DD_VERSION_DERBY_10_9

Derby 10.9 System Catalog version

public static final int
public static final int
public static final int
public static final int
public static final String
public static final int
public static final int
public static final String
public static final String
SOFT_DATA_DICTIONARY_VERSION

derby.softDataDictionaryVersion property indicates the soft upgrade level of the system catalogs.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
SYSCONSTRAINTS_CATALOG_NUM

Catalog numbers for non core system catalogs.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
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 int

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

The corresponding Active ConstraintDescriptorList
activeConstraint
(ConstraintDescriptor
the constraint to check
constraint
)

Reports whether an individual constraint must be enforced.

public void
addConstraintDescriptor(ConstraintDescriptor
The descriptor to add
descriptor
,
TransactionController
The transaction controller
tc
)

Adds the given ConstraintDescriptor to the data dictionary, associated with the given table and constraint type.

public void
addDescriptor(TupleDescriptor
descriptor to insert.
tuple
,
TupleDescriptor
parent descriptor; e.g for a column parent is the tabledescriptor to which the descriptor is beign inserted. for most other objects it is the schema descriptor.
parent
,
int
a value which identifies the catalog into which the descriptor should be inserted. It is the users responsibility to ensure that the catalogNumber is consistent with the tuple being inserted.
catalogNumber
,
boolean
whether an exception should be thrown if the insert results in a duplicate; if this parameter is FALSE then one of the following exception will be thrown; LANG_OBJECT_ALREADY_EXISTS (if parent is null) or LANG_OBJECT_ALREADY_EXISTS_IN_OBJECT (if parent is not null). The error message is created by getting the name and type of the tuple and parent.
allowsDuplicates
,
TransactionController
the transaction controller to use to do all of this.
tc
)

Adds a descriptor to a system catalog identified by the catalogNumber.

public void
addDescriptorArray(TupleDescriptor[] tuple, TupleDescriptor parent, int catalogNumber, boolean allowsDuplicates, TransactionController tc)

array version of addDescriptor.

public boolean

Returns:

True means revoke has removed a privilege from system table and hence the caller of this method should send invalidation actions to PermssionDescriptor's dependents.
addRemovePermissionsDescriptor
(boolean
if true then add the permission, if false remove it.
add
,
PermissionsDescriptor perm, String grantee, TransactionController tc)

Add or remove a permission to the permission database.

public void
addSPSDescriptor(SPSDescriptor
The descriptor to add
descriptor
,
TransactionController
The transaction controller
tc
)

Adds the given SPSDescriptor to the data dictionary, associated with the given table and constraint type.

public boolean

Returns:

True if the database has been upgraded to the required level, false otherwise.
checkVersion
(int
Data Dictionary major version (DataDictionary.DD_ constant)
majorVersion
,
String
Non-null to throw an error, null to return the state of the version match.
feature
)

Check to see if a database has been upgraded to the required level in order to use a langauge feature that is.

public void
clearCaches(boolean clearSequenceCaches)

Clear the DataDictionary caches, including the sequence caches if requested..

public void
clearCaches()

Clear all of the DataDictionary caches.

public void
clearSequenceCaches()

Clear all of the sequence number generators.

public RowLocation[]

Returns:

array of row locations, null if table has no autoinc columns.
computeAutoincRowLocations
(TransactionController
TransactionControler to use to compute the row location.
tc
,
TableDescriptor
TableDescriptor
td
)

returns an array of RowLocations corresponding to the autoincrement columns in the table.

public void
computeSequenceRowLocation(TransactionController
Transaction Controller to use.
tc
,
String
UUID of the sequence as a string
sequenceIDstring
,
RowLocation[]
OUTPUT param for returing the row location
rowLocation
,
SequenceDescriptor[]
OUTPUT param for return the sequence descriptor
sequenceDescriptor
)

Computes the RowLocation in SYSSEQUENCES for a particular sequence.

public void
createIndexStatsRefresher(Database
the database object associated with this data dictionary
db
,
String
the name of the database
databaseName
)

Creates an index statistics refresher for this data dictionary.

public RoleClosureIterator
createRoleClosureIterator(TransactionController
transaction controller
tc
,
String
name of starting point for closure
role
,
boolean
If true, compute closure on inverse of relation GRANT role-a TO role-b that is, we look at closure of all roles granted to role. If false, we look at closure of all roles that have been granted role.
inverse
)

This method creates a new iterator over the closure of role grants starting or ending with a given role.

public void
disableIndexStatsRefresher()

Disables automatic refresh/creation of index statistics at runtime.

public boolean

Returns:

true if an index statistics refresher should be created, false if one already exists.
doCreateIndexStatsRefresher
()

Tells if an index statistics refresher should be created for this database.

public void
doneReading(int
The mode that was returned by startReading().
mode
,
LanguageConnectionContext
The LanguageConnectionContext to use.
lcc
)

Inform this DataDictionary that we have finished reading it.

public void
dropAliasDescriptor(AliasDescriptor
The AliasDescriptor to drop
ad
,
TransactionController
The TransactionController
tc
)

Drop an AliasDescriptor from the DataDictionary

public void
dropAllColumnDescriptors(UUID
The UUID of the table from which to drop all the column descriptors
tableID
,
TransactionController
TransactionController for the transaction
tc
)

Drops all column descriptors from the given table.

public void
dropAllConglomerateDescriptors(TableDescriptor
The TableDescriptor of the table
td
,
TransactionController
TransactionController for the transaction
tc
)

Drops all conglomerates associated with a table.

public void
dropAllConstraintDescriptors(TableDescriptor
The table from which to drop all constraint descriptors
table
,
TransactionController
The TransactionController.
tc
)

Drops all ConstraintDescriptors from the data dictionary that are associated with the given table.

public void
dropAllPermDescriptors(UUID
The UUID of the object from which to drop all permissions
objectID
,
TransactionController
TransactionController for the transaction
tc
)

Drops all permission descriptors for the given object

public void
dropAllPermsByGrantee(String
The authentication identifier
authid
,
TransactionController
Transaction Controller
tc
)

Drop all permission descriptors corresponding to a grant to the named authentication identifier

public void
dropAllRoutinePermDescriptors(UUID
The UUID of the routine for which to drop all the permission descriptors
routineID
,
TransactionController
TransactionController for the transaction
tc
)

Drops all routine permission descriptors for the given routine.

public void
dropAllTableAndColPermDescriptors(UUID
The UUID of the table for which to drop all the table and column permission descriptors
tableID
,
TransactionController
TransactionController for the transaction
tc
)

Drops all table and column permission descriptors for the given table.

public void
dropColumnDescriptor(UUID
The UUID of the table to drop the column from
tableID
,
String
The name of the column to drop
columnName
,
TransactionController
TransactionController for the transaction
tc
)

Given a column name and a table ID, drops the column descriptor from the table.

public void
dropConglomerateDescriptor(ConglomerateDescriptor
The ConglomerateDescriptor for the conglomerate
conglomerate
,
TransactionController
TransactionController for the transaction
tc
)

Drops a conglomerate descriptor

public void
dropConstraintDescriptor(ConstraintDescriptor
The descriptor to drop
descriptor
,
TransactionController
The TransactionController.
tc
)

Drops the given ConstraintDescriptor from the data dictionary.

public void
dropDependentsStoredDependencies(UUID
Dependent's uuid
dependentsUUID
,
TransactionController
TransactionController for the transaction
tc
)

Remove all of the stored dependencies for a given dependent's ID from the data dictionary.

public void
dropDependentsStoredDependencies(UUID
Dependent's uuid
dependentsUUID
,
TransactionController
TransactionController for the transaction
tc
,
boolean
If true, then the caller wants to wait for locks. False will be when we using a nested user xaction - we want to timeout right away if the parent holds the lock.
wait
)

Remove all of the stored dependencies for a given dependent's ID from the data dictionary.

public void
dropFileInfoDescriptor(FileInfoDescriptor fid)

Drop a FileDescriptor from the datadictionary.

public void
dropRoleGrant(String
The name of the role to drop
roleName
,
String
The grantee
grantee
,
String
The grantor
grantor
,
TransactionController
Transaction Controller
tc
)

Drop a role grant

public void
dropRoleGrantsByGrantee(String
The grantee
grantee
,
TransactionController
Transaction Controller
tc
)

Drop all role grants corresponding to a grant of (any) role to a named authentication identifier

public void
dropRoleGrantsByName(String
The role name granted
roleName
,
TransactionController
Transaction Controller
tc
)

Drop all role grants corresponding to a grant of the named role to any authentication identifier

public void
dropSchemaDescriptor(String
The name of the schema to drop
schemaName
,
TransactionController
Transaction Controller
tc
)

Drop the descriptor for a schema, given the schema's name

public void
dropSequenceDescriptor(SequenceDescriptor sequenceDescriptor, TransactionController tc)

Drop a sequence descriptor.

public void
dropSPSDescriptor(SPSDescriptor
The descriptor to drop
descriptor
,
TransactionController
The TransactionController.
tc
)

Drops the given SPSDescriptor.

public void
dropSPSDescriptor(UUID
the statement uuid
uuid
,
TransactionController
The TransactionController.
tc
)

Drops the given SPSDescriptor.

public void
dropStatisticsDescriptors(UUID
UUID of the table
tableUUID
,
UUID
UUID of the index. This can be null.
referenceUUID
,
TransactionController
Transcation Controller to use.
tc
)

Drops all statistics descriptors for a given table/index column combination.

public void
dropStoredDependency(DependencyDescriptor
The DependencyDescriptor.
dd
,
TransactionController
TransactionController for the transaction
tc
)

Drop a dependency from the data dictionary.

public void
dropTableDescriptor(TableDescriptor
The table descriptor to drop
td
,
SchemaDescriptor
A descriptor for the schema the table is a part of. If this parameter is NULL, then the table is part of the current (default) schema
schema
,
TransactionController
TransactionController for the transaction
tc
)

Drop the table descriptor.

public void
dropTriggerDescriptor(TriggerDescriptor
The descriptor to drop
descriptor
,
TransactionController
The TransactionController.
tc
)

Drops the given TriggerDescriptor that is associated with the given table and constraint type from the data dictionary.

public void
dropUser(String
The user to drop.
userName
,
TransactionController
The TransactionController
tc
)

Drop a User from the DataDictionary

public void
dropViewDescriptor(ViewDescriptor
A descriptor for the view to be dropped
viewDescriptor
,
TransactionController
TransactionController to use
tc
)

Drops the view descriptor from the data dictionary.

public int[]
examineTriggerNodeAndCols(Visitable actionStmt, String oldReferencingName, String newReferencingName, String triggerDefinition, int[] referencedCols, int[] referencedColsInTriggerAction, int actionOffset, TableDescriptor triggerTableDescriptor, int triggerEventMask, boolean createTriggerTime, List<int[]> replacements)

public boolean

Returns:

boolean true if such a grant exists
existsGrantToAuthid
(String
grantee for which a grant exists or not
authId
,
TransactionController
TransactionController for the transaction
tc
)

Check all dictionary tables and return true if there is any GRANT descriptor containing authId as its grantee.

public boolean

Returns:

true iff there is a matching schema
existsSchemaOwnedBy
(String
authorizationId
authid
,
TransactionController
TransactionController
tc
)

Return true of there exists a schema whose authorizationId equals authid, i.e. SYSSCHEMAS contains a row whose column AUTHORIZATIONID equals authid.

public void
flushBulkInsertCounter(String
UUID of the sequence which backs the identity column.
sequenceUUIDString
,
BulkInsertCounter
the BulkInsertCounter which generates identities for bulk insert
bic
)

Flush the updated values of the BulkInsertCounter to disk and to the original, cached SequenceUpdater.

public ConstraintDescriptorList

Returns:

The corresponding Active ConstraintDescriptorList
getActiveConstraintDescriptors
(ConstraintDescriptorList
The constraint descriptor list to wrap with an Active constraint descriptor list.
cdl
)

Convert a constraint descriptor list into a list of active constraints, that is, constraints which must be enforced.

public AliasDescriptor

Returns:

The AliasDescriptor for method alias.
getAliasDescriptor
(UUID
The UUID
uuid
)

Get an AliasDescriptor given its UUID.

public AliasDescriptor

Returns:

AliasDescriptor AliasDescriptor for the alias name and name space
getAliasDescriptor
(String
schema identifier
schemaID
,
String
The alias name.
aliasName
,
char
The alias name space.
nameSpace
)

Get a AliasDescriptor by alias name and name space.

public AliasDescriptor

Returns:

The UDT's alias descriptor if it is an ANSI UDT; null otherwise.
getAliasDescriptorForUDT
(TransactionController
The transaction to use: if null, use the compilation transaction
tc
,
DataTypeDescriptor
The UDT's type descriptor
dtd
)

Get the alias descriptor for an ANSI UDT.

public List<TupleDescriptor>

Returns:

List List of all DependencyDescriptors.
getAllDependencyDescriptorsList
()

Build and return an List with DependencyDescriptors for all of the stored dependencies.

public List<SPSDescriptor>

Returns:

the list of descriptors
getAllSPSDescriptors
()

Get every statement in this database.

public String

Returns:

authorizationID
getAuthorizationDatabaseOwner
()

Get authorizationID of Database Owner

public String

Returns:

Java class name of builtin VTI to which "td" maps, or null if no mapping is found.
getBuiltinVTIClass
(TableDescriptor
Table descriptor used for the VTI look-up.
td
,
boolean
If false then treat td's descriptor name as a VTI "table name"; if true, treat the descriptor name as a VTI "table function name".
asTableFunction
)

Return the Java class to use for a builtin VTI to which the received table descriptor maps.

public BulkInsertCounter
getBulkInsertCounter(String
UUID of the sequence which backs the identity column.
sequenceUUIDString
,
boolean
True if the counter should be re-initialized to its start position.
restart
)

Get the identity generator used to support the bulk-insert optimization in InsertResultSet.

public int
getCacheMode()

Returns the cache mode of the data dictionary.

public int

Returns:

the collation type for SYSTEM schemas
getCollationTypeOfSystemSchemas
()

Return the collation type for SYSTEM schemas.

public int

Returns:

the collation type for user schemas
getCollationTypeOfUserSchemas
()

Return the collation type for user schemas.

public DependableFinder

Returns:

an instance capable of finding Dependables with the specified format id
getColumnDependableFinder
(int
the format id
formatId
,
byte[]
byte array encoding the bitmap of referenced columns
columnBitMap
)

Get a DependableFinder instance for referenced columns in a table.

public ColumnDescriptor

Returns:

The ColumnDescriptor for the column.
getColumnDescriptorByDefaultId
(UUID
The UUID of the default
uuid
)

Get a ColumnDescriptor given its Default ID.

public ColPermsDescriptor

Returns:

a ColPermsDescriptor or null if the user has no separate column permissions of the specified type on the table. Note that the user may have been granted permission on all the columns of the table (no column list), in which case this routine will return null. You must also call getTablePermissions to see if the user has permission on a set of columns.
getColumnPermissions
(UUID tableUUID, int
Authorizer.SELECT_PRIV, Authorizer.UPDATE_PRIV, or Authorizer.REFERENCES_PRIV
privType
,
boolean forGrant, String
The user name
authorizationId
)

Get one user's column privileges for a table.

public ColPermsDescriptor

Returns:

a ColPermsDescriptor or null if the user has no separate column permissions of the specified type on the table. Note that the user may have been granted permission on all the columns of the table (no column list), in which case this routine will return null. You must also call getTablePermissions to see if the user has permission on a set of columns.
getColumnPermissions
(UUID tableUUID, String
(as String) Authorizer.SELECT_PRIV, Authorizer.UPDATE_PRIV, or Authorizer.REFERENCES_PRIV
privTypeStr
,
boolean forGrant, String
The user name
authorizationId
)

Get one user's column privileges for a table.

public ColPermsDescriptor

Returns:

a ColPermsDescriptor
getColumnPermissions
(UUID colPermsUUID)

Get one user's column privileges on a table using colPermsUUID

public ConglomerateDescriptor

Returns:

A ConglomerateDescriptor for the conglomerate.
getConglomerateDescriptor
(UUID
The UUID
uuid
)

Get a ConglomerateDescriptor given its UUID.

public ConglomerateDescriptor

Returns:

A ConglomerateDescriptor for the conglomerate. Returns NULL if no such conglomerate.
getConglomerateDescriptor
(long
The conglomerate number.
conglomerateNumber
)

Get a ConglomerateDescriptor given its conglomerate number.

public ConglomerateDescriptor

Returns:

A ConglomerateDescriptor describing the requested conglomerate. Returns NULL if no such conglomerate.
getConglomerateDescriptor
(String
The name of the index we're looking for
indexName
,
SchemaDescriptor
The schema descriptor
sd
,
boolean
Whether or not to get an exclusive row lock on the row in sys.sysconglomerates.
forUpdate
)

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[]

Returns:

An array of ConglomerateDescriptors for the conglomerate.
getConglomerateDescriptors
(UUID
The UUID
uuid
)

Get an array of ConglomerateDescriptors given the UUID.

public ConglomerateDescriptor[]

Returns:

An array of ConglomerateDescriptors that share the requested conglomerate. Returns size 0 array if no such conglomerate.
getConglomerateDescriptors
(long
The number for the conglomerate we're interested in
conglomerateNumber
)

Get an array of conglomerate descriptors for the given conglomerate number.

public ConstraintDescriptor

Returns:

The ConstraintDescriptor for the constraint.
getConstraintDescriptor
(UUID
The UUID
uuid
)

Get a ConstraintDescriptor given its UUID.

public ConstraintDescriptor

Returns:

The ConstraintDescriptor for the constraint.
getConstraintDescriptor
(String
Constraint name.
constraintName
,
UUID
The schema UUID
schemaID
)

Get a ConstraintDescriptor given its name and schema ID.

public ConstraintDescriptor

Returns:

The ConstraintDescriptor for the constraint.
getConstraintDescriptor
(TableDescriptor
The table descriptor.
td
,
UUID
The UUID for the backing index.
uuid
)

Get the constraint descriptor given a table and the UUID String of the backing index.

public ConstraintDescriptor

Returns:

The ConstraintDescriptor for the constraint.
getConstraintDescriptorById
(TableDescriptor
The table descriptor.
td
,
UUID
The UUID for the constraint
uuid
)

Get the constraint descriptor given a table and the UUID String of the constraint

public ConstraintDescriptor

Returns:

The ConstraintDescriptor for the constraint.
getConstraintDescriptorByName
(TableDescriptor
The table descriptor.
td
,
SchemaDescriptor
The schema descriptor for the constraint
sd
,
String
The constraint name.
constraintName
,
boolean
Whether or not access is for update
forUpdate
)

Get the constraint descriptor given a TableDescriptor and the constraint name.

public ConstraintDescriptorList

Returns:

The ConstraintDescriptorList for the table. If null, return a list of all the constraint descriptors in all schemas.
getConstraintDescriptors
(TableDescriptor
The table descriptor.
td
)

Load up the constraint descriptor list for this table descriptor (or all) and return it.

public TableDescriptor

Returns:

the corresponding table descriptor
getConstraintTableDescriptor
(UUID
The id of the constraint
constraintId
)

Return a table descriptor corresponding to the TABLEID field in SYSCONSTRAINTS where CONSTRAINTID matches the constraintId passed in.

public void
getCurrentValueAndAdvance(String
String value of the UUID which identifies the sequence
sequenceUUIDstring
,
NumberDataValue
This is a data value to be stuffed with the next sequence number.
returnValue
)

Get the next number from an ANSI/ISO sequence generator which was created with the CREATE SEQUENCE statement.

public DataDescriptorGenerator

Returns:

A DataDescriptorGenerator
getDataDescriptorGenerator
()

Get a DataDescriptorGenerator, through which we can create objects to be stored in the DataDictionary.

public DataValueFactory

Returns:

The ExecutionFactory
getDataValueFactory
()

Get the DataValueFactory associated with this database.

public SchemaDescriptor

Returns:

The descriptor for the schema.
getDeclaredGlobalTemporaryTablesSchemaDescriptor
()

Get the descriptor for the declared global temporary table schema which is always named "SESSION".

public DependableFinder

Returns:

an instance capable of finding Dependables with the specified format id
getDependableFinder
(int
the format id
formatId
)

Get a DependableFinder instance.

public DependencyManager
getDependencyManager()

Returns the dependency manager for this DataDictionary.

public List<DependencyDescriptor>

Returns:

List Returns a list of DependencyDescriptors. Returns an empty list if no stored dependencies for the dependent's ID.
getDependentsDescriptorList
(String
The ID of the dependent we're interested in
dependentID
)

Gets a list of the dependency descriptors for the given dependent's id.

public int
public ExecutionFactory

Returns:

The ExecutionFactory
getExecutionFactory
()

Get the ExecutionFactory associated with this database.

public FileInfoDescriptor
getFileInfoDescriptor(UUID
The descriptor's id.
id
)

Get a FileInfoDescriptor given its id.

public FileInfoDescriptor
getFileInfoDescriptor(SchemaDescriptor
the schema that holds the FileInfoDescriptor.
sd
,
String
SQL name of file.
name
)

Get a FileInfoDescriptor given its SQL name and schema name.

public ConstraintDescriptorList

Returns:

list of constraints
getForeignKeys
(UUID
The id of the referenced constraint
constraintId
)

Return a list of foreign keys constraints referencing this constraint.

public PermDescriptor

Returns:

The descriptor of the permissions for the object
getGenericPermissions
(UUID
ID of the object being protected
objectUUID
,
String
Type of the object (e.g., PermDescriptor.SEQUENCE_TYPE)
objectType
,
String
The kind of privilege needed (e.g., PermDescriptor.USAGE_PRIV)
privilege
,
String
The user who needs the permission
granteeAuthId
)

Get permissions granted to one user for an object using the object's Id and the user's authorization Id.

public PermDescriptor

Returns:

a PermDescriptor
getGenericPermissions
(UUID permUUID)

Get one user's privileges for an object using the permUUID

public IndexStatisticsDaemon

Returns:

The index statistics refresher instance, or null if disabled. If asDaemon is false, an instance will always be returned.
getIndexStatsRefresher
(boolean
whether the usage is automatic (true) or explicit (false)
asDaemon
)

Returns the index statistics refresher.

public List<DependencyDescriptor>

Returns:

List Returns a list of DependencyDescriptors. Returns an empty List if no stored dependencies for the provider's ID.
getProvidersDescriptorList
(String
The ID of the provider we're interested in
providerID
)

Gets a list of the dependency descriptors for the given provider's id.

public RoleGrantDescriptor
getRoleDefinitionDescriptor(String
The name of the role whose definition we seek
roleName
)

Get a role grant descriptor for a role definition.

public RoleGrantDescriptor

Returns:

The descriptor for the role grant descriptor
getRoleGrantDescriptor
(UUID uuid)

Get the role grant descriptor corresponding to the uuid provided

public RoleGrantDescriptor
getRoleGrantDescriptor(String
The name of the role whose definition we seek
roleName
,
String
The grantee
grantee
,
String
The grantor
grantor
)

Get a descriptor for a role grant

public List<AliasDescriptor>
getRoutineList(String schemaID, String routineName, char nameSpace)

Get the list of routines matching the schema and routine name.

public RoutinePermsDescriptor

Returns:

The descriptor of the users permissions for the routine.
getRoutinePermissions
(UUID routineUUID, String
The user's name
authorizationId
)

Get one user's permissions for a routine (function or procedure).

public RoutinePermsDescriptor

Returns:

a RoutinePermsDescriptor
getRoutinePermissions
(UUID routinePermsUUID)

Get one user's privileges for a routine using routinePermsUUID

public RowLocation
public SchemaDescriptor

Returns:

The descriptor for the schema. Can be null (not found) if raiseError is false.
getSchemaDescriptor
(String
The name of the schema we're interested in. Must not be null.
schemaName
,
TransactionController
TransactionController
tc
,
boolean
whether an exception should be thrown if the schema does not exist.
raiseError
)

Get the descriptor for the named schema.

public SchemaDescriptor

Returns:

The descriptor for the schema, null if no such schema exists.
getSchemaDescriptor
(UUID
The id of the schema we're interested in.
schemaId
,
TransactionController
The transaction controller to us when scanning SYSSCHEMAS
tc
)

Get the SchemaDescriptor for the given schema identifier.

public SchemaDescriptor

Returns:

The descriptor for the schema, null if no such schema exists.
getSchemaDescriptor
(UUID
The id of the schema we're interested in.
schemaId
,
int
use this explicit isolation level
isolationLevel
,
TransactionController
The transaction controller to us when scanning SYSSCHEMAS
tc
)

Get the SchemaDescriptor for the given schema identifier.

public SequenceDescriptor

Returns:

the SequenceDescriptor
getSequenceDescriptor
(UUID
uuid of the sequence
uuid
)

get a descriptor for a Sequence by uuid

public SequenceDescriptor

Returns:

The SequenceDescriptor
getSequenceDescriptor
(SchemaDescriptor
The scemadescriptor teh sequence belongs to
sd
,
String
Name of the sequence
sequenceName
)

get a descriptor for a Sequence by sequence name

public NumberDataValue
getSetAutoincrementValue(RowLocation
RowLocation of the entry in SYSCOLUMNS.
rl
,
TransactionController
TransactionController to use.
tc
,
boolean
Write the new value to disk if TRUE.
doUpdate
,
NumberDataValue
A NumberDataValue to use to return incremented value. If null, then the caller simply wants the current value fromd disk.
newValue
,
boolean
If true, then the caller wants to wait for locks. When using a nested user xaction we want to timeout right away if the parent holds the lock.
wait
)

getSetAutoincrementValue fetches the autoincrement value from SYSCOLUMNS given a row location.

public SPSDescriptor

Returns:

The SPSDescriptor for the constraint.
getSPSDescriptor
(UUID
The UUID
uuid
)

Get a SPSDescriptor given its UUID.

public SPSDescriptor

Returns:

The SPSDescriptor for the constraint.
getSPSDescriptor
(String
The sps name.
name
,
SchemaDescriptor
The schema descriptor.
sd
)

Get the stored prepared statement descriptor given a sps name.

public DataTypeDescriptor[]

Returns:

array of data type descriptors
getSPSParams
(SPSDescriptor
sps descriptor
spsd
,
List<DataValueDescriptor>
the parameter defaults. If not null, all the parameter defaults will be stuffed in here.
defaults
)

Get all the parameter descriptors for an SPS.

public List<StatisticsDescriptor>
getStatisticsDescriptors(TableDescriptor td)

Gets all statistics Descriptors for a given table.

public SubKeyConstraintDescriptor

Returns:

SubKeyConstraintDescriptor The Sub descriptor for the constraint.
getSubKeyConstraint
(UUID
The UUID for the constraint.
constraintId
,
int
The type of the constraint (e.g. DataDictionary.FOREIGNKEY_CONSTRAINT)
type
)

Get a SubKeyConstraintDescriptor from syskeys or sysforeignkeys for the specified constraint id. For primary foreign and and unique key constraints.

public SchemaDescriptor

Returns:

The descriptor for the schema.
getSysIBMSchemaDescriptor
()

Get the descriptor for the SYSIBM schema.

public SchemaDescriptor

Returns:

The descriptor for the schema.
getSystemSchemaDescriptor
()

Get the descriptor for the system schema.

public String

Returns:

system generated unique name
getSystemSQLName
()

Returns a unique system generated name.

public TableDescriptor

Returns:

The descriptor for the table, null if table does not existe.
getTableDescriptor
(String
The name of the table to get the descriptor for
tableName
,
SchemaDescriptor
The descriptor for the schema the table lives in. If null, use the current (default) schema.
schema
,
TransactionController
Transaction context.
tc
)

Get the descriptor for the named table within the given schema.

public TableDescriptor

Returns:

The descriptor for the table, null if the table does not exist.
getTableDescriptor
(UUID
The UUID of the table to get the descriptor for
tableID
)

Get the descriptor for the table with the given UUID.

public TablePermsDescriptor

Returns:

a TablePermsDescriptor or null if the user has no permissions on the table.
getTablePermissions
(UUID tableUUID, String
The user name
authorizationId
)

Get one user's privileges on a table using tableUUID and authorizationid

public TablePermsDescriptor

Returns:

a TablePermsDescriptor
getTablePermissions
(UUID tablePermsUUID)

Get one user's privileges on a table using tablePermsUUID

public String

Returns:

Transformed trigger action sql
getTriggerActionString
(Visitable
This is needed to get access to the various nodes generated by the Parser for the trigger action sql. These nodes will be used to find REFERENCEs column nodes.
actionStmt
,
String
The name specified by the user for REFERENCEs to old row columns
oldReferencingName
,
String
The name specified by the user for REFERENCEs to new row columns
newReferencingName
,
String
The original trigger action text provided by the user during CREATE TRIGGER time.
triggerDefinition
,
int[]
Trigger is defined on these columns (will be null in case of INSERT AND DELETE Triggers. Can also be null for DELETE Triggers if UPDATE trigger is not defined on specific column(s))
referencedCols
,
int[]
what columns does the trigger action reference through old/new transition variables (may be null)
referencedColsInTriggerAction
,
int
offset of start of action clause
actionOffset
,
TableDescriptor
Table descriptor for trigger table
triggerTableDescriptor
,
int
TriggerDescriptor.TRIGGER_EVENT_XXX
triggerEventMask
,
boolean
True if here for CREATE TRIGGER, false if here because an invalidated row level trigger with REFERENCEd columns has been fired and hence trigger action sql associated with SPSDescriptor may be invalid too.
createTriggerTime
,
List<int[]>
a list that will be populated with objects that describe how triggerDefinition has been transformed into the returned SQL text. Each element in the list will contain four integers. The first two describe the begin and end offset of the replaced text in the triggerDefinition. The last two describe the begin and end offset of the replacement text in the returned string. The begin offsets are inclusive, whereas the end offsets are exclusive. The list can be null if the caller does not care about this information.
replacements
,
int[] cols)

This method does the job of transforming the trigger action plan text as shown below.

public TriggerDescriptor

Returns:

The TriggerDescriptor for the constraint.
getTriggerDescriptor
(UUID
The UUID
uuid
)

Get a TriggerDescriptor given its UUID.

public TriggerDescriptor

Returns:

The TriggerDescriptor for the constraint.
getTriggerDescriptor
(String
The sps name.
name
,
SchemaDescriptor
The schema descriptor.
sd
)

Get the stored prepared statement descriptor given a sps name.

public TriggerDescriptorList

Returns:

The ConstraintDescriptorList for the table
getTriggerDescriptors
(TableDescriptor
The table descriptor.
td
)

Load up the trigger descriptor list for this table descriptor and return it.

public UserDescriptor
getUser(String
Name of the user whose credentials we want.
userName
)

Return the credentials descriptor for the named user.

public UUIDFactory

Returns:

UUIDFactory The UUID Factory for this DataDictionary.
getUUIDFactory
()

Get the UUID Factory.

public ViewDescriptor

Returns:

A descriptor for the view
getViewDescriptor
(UUID
The UUID for the view
uuid
)

Gets the viewDescriptor for the view with the given UUID.

public ViewDescriptor

Returns:

A descriptor for the view
getViewDescriptor
(TableDescriptor
The TableDescriptor for the view.
td
)

Gets the viewDescriptor for the view given its TableDescriptor.

public String

Returns:

Java class name to which "td" maps, or null if no mapping is found.
getVTIClass
(TableDescriptor
Table descriptor used for the VTI look-up.
td
,
boolean
If false then treat td's descriptor name as a VTI "table name"; if true, treat the descriptor name as a VTI "table function name".
asTableFunction
)

Return the Java class to use for the VTI to which the received table descriptor maps.

public Hashtable<Long, ConglomerateDescriptor>

Returns:

A Hashtable with all of the ConglomerateDescriptors in the database hashed by conglomerate number.
hashAllConglomerateDescriptorsByNumber
(TransactionController
TransactionController for the transaction
tc
)

Get all of the ConglomerateDescriptors in the database and hash them by conglomerate number.

public Hashtable<UUID, TableDescriptor>

Returns:

A Hashtable with all of the Table descriptors in the database hashed by TableId
hashAllTableDescriptorsByTableId
(TransactionController
TransactionController for the transaction
tc
)

Get all of the TableDescriptors in the database and hash them by TableId This is useful as a performance optimization for the locking VTIs.

public void
invalidateAllSPSPlans(LanguageConnectionContext lcc)

Invalidate all the stored plans in SYS.SYSSTATEMENTS for the given language connection context.

public void
invalidateAllSPSPlans()

Invalidate all the stored plans in SYS.SYSSTATEMENTS.

public boolean

Returns:

true if the stored prepared statements are invalid because of an upgrade and the database is read only, false otherwise
isReadOnlyUpgrade
()

Check if the database is read only and requires some form of upgrade that makes the stored prepared statements invalid.

public boolean

Returns:

true/false
isSchemaEmpty
(SchemaDescriptor
schema descriptor
sd
)

Indicate whether there is anything in the particular schema.

public boolean

Returns:

true or false
isSystemSchemaName
(String name)

Determine whether a string is the name of the system schema.

public PasswordHasher
makePasswordHasher(Dictionary<?, ?>
The persistent properties used to configure password hashing.
props
)

Get the default password hasher for this database level.

public Long
peekAtIdentity(String schemaName, String tableName)

Peek at the next value which will be returned by an identity generator.

public Long
peekAtSequence(String schemaName, String sequenceName)

Peek at the next value which will be returned by a sequence generator.

public void
setAutoincrementValue(TransactionController
Transaction Controller to use.
tc
,
UUID
Table Descriptor
tableUUID
,
String
Name of the column.
columnName
,
long
Value to write to SYSCOLUMNS.
aiValue
,
boolean
Whether we should increment the value passed in by the user (aiValue) before writing the value to SYSCOLUMNS.
incrementNeeded
)

sets a new value in SYSCOLUMNS for a particular autoincrement column.

public int

Returns:

The mode that the reader will use, to be passed to doneReading() Either COMPILE_ONLY_MODE or DDL_MODE.
startReading
(LanguageConnectionContext
The LanguageConnectionContext to use.
lcc
)

Inform this DataDictionary that we are about to start reading it.

public void
startWriting(LanguageConnectionContext
The LanguageConnectionContext to use.
lcc
)

Inform this DataDictionary that we are about to start writing to it.

public void
transactionFinished()

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[]
The array of ConglomerateDescriptors
cds
,
long
The new conglomerate number
conglomerateNumber
,
TransactionController
The TransactionController to use
tc
)

Update the conglomerateNumber for an array of ConglomerateDescriptors.

public void
updateConglomerateDescriptor(ConglomerateDescriptor
The ConglomerateDescriptor
cd
,
long
The new conglomerate number
conglomerateNumber
,
TransactionController
The TransactionController to use
tc
)

Update the conglomerateNumber for a ConglomerateDescriptor.

public void
updateConstraintDescriptor(ConstraintDescriptor
The Constraintescriptor
cd
,
UUID
The UUID for this column in SYSCONSTRAINTS, may differ from what is in cd if this is the column that is being set.
formerUUID
,
int[]
Array of ints of columns to be modified, 1 based. May be null (all cols).
colsToSet
,
TransactionController
The TransactionController to use
tc
)

Update the constraint descriptor in question.

public boolean

Returns:

Returns true if the value was successfully updated, false if we lost a race with another session.
updateCurrentSequenceValue
(TransactionController
Transaction Controller to use.
tc
,
RowLocation
Row in SYSSEQUENCES to update.
rowLocation
,
boolean
True if we should wait for locks
wait
,
Long
What we expect to find in the CURRENTVALUE column.
oldValue
,
Long
What to stuff into the CURRENTVALUE column.
newValue
)

Set the current value of an ANSI/ISO sequence.

public void
updateLockGranularity(TableDescriptor
The TableDescriptor for the table
td
,
SchemaDescriptor
The SchemaDescriptor for the table
schema
,
char
The new lockGranularity
lockGranularity
,
TransactionController
The TransactionController to use.
tc
)

Update the lockGranularity for the specified table.

public void
updateMetadataSPSes(TransactionController
the xact
tc
)

Drop and recreate metadata stored prepared statements.

public void
updateSPS(SPSDescriptor
The descriptor to add
spsd
,
TransactionController
The transaction controller
tc
,
boolean
whether to recompile or invalidate
recompile
)

Updates SYS.SYSSTATEMENTS with the info from the SPSD.

public void
updateSYSCOLPERMSforAddColumnToUserTable(UUID
The UUID of the table to which a column has been added
tableID
,
TransactionController
TransactionController for the transaction
tc
)

Need to update SYSCOLPERMS for a given table because a new column has been added to that table.

public void
updateSYSCOLPERMSforDropColumn(UUID
The UUID of the table whose column has been dropped
tableID
,
TransactionController
TransactionController for the transaction
tc
,
ColumnDescriptor
Info about the dropped column
columnDescriptor
)

Update SYSCOLPERMS to reflect the dropping of a column from a table.

public void
updateTriggerDescriptor(TriggerDescriptor
The Triggerescriptor
triggerd
,
UUID
The UUID for this column in SYSTRIGGERS, may differ from what is in triggerd if this is the column that is being set.
formerUUID
,
int[]
Array of ints of columns to be modified, 1 based. May be null (all cols).
colsToSet
,
TransactionController
The TransactionController to use
tc
)

Update the trigger descriptor in question.

public void
updateUser(UserDescriptor
New values for columns in the SYSUSERS row.
newDescriptor
,
TransactionController
The TransactionController to use
tc
)

Update a user.

public boolean

Returns:

Whether sqlAuthorization is being used
usesSqlAuthorization
()

Get authorization model in force, SqlStandard or legacy mode