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

java.lang.Object
  extended by org.apache.derby.iapi.sql.dictionary.DataDescriptorGenerator

public class DataDescriptorGenerator
extends java.lang.Object

This is an implementation of the DataDescriptorGenerator interface that lives in the DataDictionary protocol. See that interface for a description of what this class is supposed to do.

Version:
0.1

Field Summary
protected  DataDictionary dataDictionary
           
private  UUIDFactory uuidf
           
 
Constructor Summary
DataDescriptorGenerator(DataDictionary dataDictionary)
          Make a generator.
 
Method Summary
protected  UUIDFactory getUUIDFactory()
           
 CheckConstraintDescriptor newCheckConstraintDescriptor(TableDescriptor table, java.lang.String constraintName, boolean deferrable, boolean initiallyDeferred, UUID constraintId, java.lang.String constraintText, int[] refCols, SchemaDescriptor schemaDesc, boolean isEnabled)
           
 CheckConstraintDescriptor newCheckConstraintDescriptor(TableDescriptor table, java.lang.String constraintName, boolean deferrable, boolean initiallyDeferred, UUID constraintId, java.lang.String constraintText, ReferencedColumns referencedColumns, SchemaDescriptor schemaDesc, boolean isEnabled)
           
 ColPermsDescriptor newColPermsDescriptor(TableDescriptor td, java.lang.String type, FormatableBitSet columns, java.lang.String grantor)
          Manufacture a new ColPermsDescriptor.
 ConglomerateDescriptor newConglomerateDescriptor(long conglomerateId, java.lang.String name, boolean indexable, IndexRowGenerator indexRowGenerator, boolean isConstraint, UUID uuid, UUID tableID, UUID schemaID)
          Create a conglomerate descriptor for the given conglomerate id.
 FileInfoDescriptor newFileInfoDescriptor(UUID id, SchemaDescriptor sd, java.lang.String SQLName, long generationId)
           
 ForeignKeyConstraintDescriptor newForeignKeyConstraintDescriptor(TableDescriptor table, java.lang.String constraintName, boolean deferrable, boolean initiallyDeferred, int[] fkColumns, UUID constraintId, UUID indexId, SchemaDescriptor schemaDesc, ReferencedKeyConstraintDescriptor referencedConstraintDescriptor, boolean isEnabled, int raDeleteRule, int raUpdateRule)
           
 ForeignKeyConstraintDescriptor newForeignKeyConstraintDescriptor(TableDescriptor table, java.lang.String constraintName, boolean deferrable, boolean initiallyDeferred, int[] fkColumns, UUID constraintId, UUID indexId, SchemaDescriptor schemaDesc, UUID referencedConstraintId, boolean isEnabled, int raDeleteRule, int raUpdateRule)
           
 PermDescriptor newPermDescriptor(UUID uuid, java.lang.String objectType, UUID permObjectId, java.lang.String permission, java.lang.String grantor, java.lang.String grantee, boolean grantable)
           
 ReferencedKeyConstraintDescriptor newPrimaryKeyConstraintDescriptor(TableDescriptor table, java.lang.String constraintName, boolean deferrable, boolean initiallyDeferred, int[] referencedColumns, UUID constraintId, UUID indexId, SchemaDescriptor schemaDesc, boolean isEnabled, int referenceCount)
           
 RoleGrantDescriptor newRoleGrantDescriptor(UUID uuid, java.lang.String roleName, java.lang.String grantee, java.lang.String grantor, boolean withadminoption, boolean isDef)
          Create a new role grant descriptor
 RoutinePermsDescriptor newRoutinePermsDescriptor(AliasDescriptor ad, java.lang.String grantor)
          Create a new routine permissions descriptor
 SchemaDescriptor newSchemaDescriptor(java.lang.String schemaName, java.lang.String aid, UUID oid)
          Create a descriptor for the named schema with a null UUID.
 SequenceDescriptor newSequenceDescriptor(SchemaDescriptor sd, UUID uuid, java.lang.String sequenceName, DataTypeDescriptor dataType, java.lang.Long currentValue, long startValue, long minimumValue, long maximumValue, long increment, boolean cycle)
          Create a new sequence descriptor
 TableDescriptor newTableDescriptor(java.lang.String tableName, SchemaDescriptor schema, int tableType, boolean onCommitDeleteRows, boolean onRollbackDeleteRows)
          Create a descriptor for the temporary table within the given schema.
 TableDescriptor newTableDescriptor(java.lang.String tableName, SchemaDescriptor schema, int tableType, char lockGranularity)
          Create a descriptor for the named table within the given schema.
 TablePermsDescriptor newTablePermsDescriptor(TableDescriptor td, java.lang.String selectPerm, java.lang.String deletePerm, java.lang.String insertPerm, java.lang.String updatePerm, java.lang.String referencesPerm, java.lang.String triggerPerm, java.lang.String grantor)
           
 TriggerDescriptor newTriggerDescriptor(SchemaDescriptor sd, UUID uuid, java.lang.String name, int eventMask, boolean isBefore, boolean isRow, boolean isEnabled, TableDescriptor td, UUID whenSPSId, UUID actionSPSId, java.sql.Timestamp creationTimestamp, int[] referencedCols, java.lang.String triggerDefinition, boolean referencingOld, boolean referencingNew, java.lang.String oldReferencingName, java.lang.String newReferencingName)
          Create a new trigger descriptor.
 ReferencedKeyConstraintDescriptor newUniqueConstraintDescriptor(TableDescriptor table, java.lang.String constraintName, boolean deferrable, boolean initiallyDeferred, int[] referencedColumns, UUID constraintId, UUID indexId, SchemaDescriptor schemaDesc, boolean isEnabled, int referenceCount)
           
 ViewDescriptor newViewDescriptor(UUID viewID, java.lang.String viewName, java.lang.String viewText, int checkOption, UUID compSchemaId)
          Create a viewDescriptor for the view with the given UUID.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

uuidf

private UUIDFactory uuidf

dataDictionary

protected final DataDictionary dataDictionary
Constructor Detail

DataDescriptorGenerator

public DataDescriptorGenerator(DataDictionary dataDictionary)
Make a generator. Specify the data dictionary that it operates on.

Parameters:
dataDictionary - the data dictionary that this generator makes objects for
Method Detail

newSchemaDescriptor

public SchemaDescriptor newSchemaDescriptor(java.lang.String schemaName,
                                            java.lang.String aid,
                                            UUID oid)
                                     throws StandardException
Create a descriptor for the named schema with a null UUID.

Parameters:
schemaName - The name of the schema we're interested in. If the name is NULL, get the descriptor for the current schema.
aid - The authorization ID associated with the schema. The owner of the schema.
oid - The object ID
Returns:
The descriptor for the schema.
Throws:
StandardException - Thrown on failure

newTableDescriptor

public TableDescriptor newTableDescriptor(java.lang.String tableName,
                                          SchemaDescriptor schema,
                                          int tableType,
                                          char lockGranularity)
Create a descriptor for the named table within the given schema. If the schema parameter is NULL, it creates a schema descriptor using the current default schema.

Parameters:
tableName - The name of the table to get the descriptor for
schema - The descriptor for the schema the table lives in. If null, use the current (default) schema.
tableType - The type of the table: base table or view.
lockGranularity - The lock granularity.
Returns:
The descriptor for the table.

newTableDescriptor

public TableDescriptor newTableDescriptor(java.lang.String tableName,
                                          SchemaDescriptor schema,
                                          int tableType,
                                          boolean onCommitDeleteRows,
                                          boolean onRollbackDeleteRows)
Create a descriptor for the temporary table within the given schema.

Parameters:
tableName - The name of the temporary table to get the descriptor for
schema - The descriptor for the schema the table lives in.
tableType - The type of the table: temporary table
onCommitDeleteRows - If true, on commit delete rows else on commit preserve rows of temporary table.
onRollbackDeleteRows - If true, on rollback, delete rows from temp tables which were logically modified. true is the only supported value
Returns:
The descriptor for the table.

newViewDescriptor

public ViewDescriptor newViewDescriptor(UUID viewID,
                                        java.lang.String viewName,
                                        java.lang.String viewText,
                                        int checkOption,
                                        UUID compSchemaId)
Create a viewDescriptor for the view with the given UUID.

Parameters:
viewID - the UUID for the view.
viewName - the name of the view
viewText - the text of the view's query.
checkOption - int for check option type
compSchemaId - the UUID of the schema this was compiled in
Returns:
A descriptor for the view

newUniqueConstraintDescriptor

public ReferencedKeyConstraintDescriptor newUniqueConstraintDescriptor(TableDescriptor table,
                                                                       java.lang.String constraintName,
                                                                       boolean deferrable,
                                                                       boolean initiallyDeferred,
                                                                       int[] referencedColumns,
                                                                       UUID constraintId,
                                                                       UUID indexId,
                                                                       SchemaDescriptor schemaDesc,
                                                                       boolean isEnabled,
                                                                       int referenceCount)
See Also:
newUniqueConstraintDescriptor(org.apache.derby.iapi.sql.dictionary.TableDescriptor, java.lang.String, boolean, boolean, int[], org.apache.derby.catalog.UUID, org.apache.derby.catalog.UUID, org.apache.derby.iapi.sql.dictionary.SchemaDescriptor, boolean, int)

newPrimaryKeyConstraintDescriptor

public ReferencedKeyConstraintDescriptor newPrimaryKeyConstraintDescriptor(TableDescriptor table,
                                                                           java.lang.String constraintName,
                                                                           boolean deferrable,
                                                                           boolean initiallyDeferred,
                                                                           int[] referencedColumns,
                                                                           UUID constraintId,
                                                                           UUID indexId,
                                                                           SchemaDescriptor schemaDesc,
                                                                           boolean isEnabled,
                                                                           int referenceCount)
See Also:
newPrimaryKeyConstraintDescriptor(org.apache.derby.iapi.sql.dictionary.TableDescriptor, java.lang.String, boolean, boolean, int[], org.apache.derby.catalog.UUID, org.apache.derby.catalog.UUID, org.apache.derby.iapi.sql.dictionary.SchemaDescriptor, boolean, int)

newForeignKeyConstraintDescriptor

public ForeignKeyConstraintDescriptor newForeignKeyConstraintDescriptor(TableDescriptor table,
                                                                        java.lang.String constraintName,
                                                                        boolean deferrable,
                                                                        boolean initiallyDeferred,
                                                                        int[] fkColumns,
                                                                        UUID constraintId,
                                                                        UUID indexId,
                                                                        SchemaDescriptor schemaDesc,
                                                                        ReferencedKeyConstraintDescriptor referencedConstraintDescriptor,
                                                                        boolean isEnabled,
                                                                        int raDeleteRule,
                                                                        int raUpdateRule)
See Also:
newForeignKeyConstraintDescriptor(org.apache.derby.iapi.sql.dictionary.TableDescriptor, java.lang.String, boolean, boolean, int[], org.apache.derby.catalog.UUID, org.apache.derby.catalog.UUID, org.apache.derby.iapi.sql.dictionary.SchemaDescriptor, org.apache.derby.iapi.sql.dictionary.ReferencedKeyConstraintDescriptor, boolean, int, int)

newForeignKeyConstraintDescriptor

public ForeignKeyConstraintDescriptor newForeignKeyConstraintDescriptor(TableDescriptor table,
                                                                        java.lang.String constraintName,
                                                                        boolean deferrable,
                                                                        boolean initiallyDeferred,
                                                                        int[] fkColumns,
                                                                        UUID constraintId,
                                                                        UUID indexId,
                                                                        SchemaDescriptor schemaDesc,
                                                                        UUID referencedConstraintId,
                                                                        boolean isEnabled,
                                                                        int raDeleteRule,
                                                                        int raUpdateRule)
See Also:
newForeignKeyConstraintDescriptor(org.apache.derby.iapi.sql.dictionary.TableDescriptor, java.lang.String, boolean, boolean, int[], org.apache.derby.catalog.UUID, org.apache.derby.catalog.UUID, org.apache.derby.iapi.sql.dictionary.SchemaDescriptor, org.apache.derby.iapi.sql.dictionary.ReferencedKeyConstraintDescriptor, boolean, int, int)

newCheckConstraintDescriptor

public CheckConstraintDescriptor newCheckConstraintDescriptor(TableDescriptor table,
                                                              java.lang.String constraintName,
                                                              boolean deferrable,
                                                              boolean initiallyDeferred,
                                                              UUID constraintId,
                                                              java.lang.String constraintText,
                                                              ReferencedColumns referencedColumns,
                                                              SchemaDescriptor schemaDesc,
                                                              boolean isEnabled)
See Also:
newCheckConstraintDescriptor(org.apache.derby.iapi.sql.dictionary.TableDescriptor, java.lang.String, boolean, boolean, org.apache.derby.catalog.UUID, java.lang.String, org.apache.derby.catalog.ReferencedColumns, org.apache.derby.iapi.sql.dictionary.SchemaDescriptor, boolean)

newCheckConstraintDescriptor

public CheckConstraintDescriptor newCheckConstraintDescriptor(TableDescriptor table,
                                                              java.lang.String constraintName,
                                                              boolean deferrable,
                                                              boolean initiallyDeferred,
                                                              UUID constraintId,
                                                              java.lang.String constraintText,
                                                              int[] refCols,
                                                              SchemaDescriptor schemaDesc,
                                                              boolean isEnabled)

newConglomerateDescriptor

public ConglomerateDescriptor newConglomerateDescriptor(long conglomerateId,
                                                        java.lang.String name,
                                                        boolean indexable,
                                                        IndexRowGenerator indexRowGenerator,
                                                        boolean isConstraint,
                                                        UUID uuid,
                                                        UUID tableID,
                                                        UUID schemaID)
Create a conglomerate descriptor for the given conglomerate id.

Parameters:
conglomerateId - The identifier for the conglomerate we're interested in
name - The name of the conglomerate, if any
indexable - TRUE means the conglomerate is indexable, FALSE means it isn't
indexRowGenerator - The IndexRowGenerator for the conglomerate, null if it's a heap
isConstraint - TRUE means the conglomerate is an index backing up a constraint, FALSE means it isn't
uuid - UUID for this conglomerate
tableID - UUID for the table that this conglomerate belongs to
schemaID - UUID for the schema that conglomerate belongs to
Returns:
A ConglomerateDescriptor describing the conglomerate.

newTriggerDescriptor

public TriggerDescriptor newTriggerDescriptor(SchemaDescriptor sd,
                                              UUID uuid,
                                              java.lang.String name,
                                              int eventMask,
                                              boolean isBefore,
                                              boolean isRow,
                                              boolean isEnabled,
                                              TableDescriptor td,
                                              UUID whenSPSId,
                                              UUID actionSPSId,
                                              java.sql.Timestamp creationTimestamp,
                                              int[] referencedCols,
                                              java.lang.String triggerDefinition,
                                              boolean referencingOld,
                                              boolean referencingNew,
                                              java.lang.String oldReferencingName,
                                              java.lang.String newReferencingName)
                                       throws StandardException
Create a new trigger descriptor.

Parameters:
sd - the schema descriptor for this trigger
uuid - the trigger id
name - the trigger name
eventMask - TriggerDescriptor.TRIGGER_EVENT_XXXX
isBefore - is this a before (as opposed to after) trigger
isRow - is this a row trigger or statement trigger
isEnabled - is this trigger enabled or disabled
td - the table upon which this trigger is defined
whenSPSId - the sps id for the when clause (may be null)
actionSPSId - the spsid for the trigger action (may be null)
creationTimestamp - when was this trigger created?
referencedCols - what columns does this trigger reference (may be null)
triggerDefinition - The original user text of the trigger action
referencingOld - whether or not OLD appears in REFERENCING clause
referencingNew - whether or not NEW appears in REFERENCING clause
oldReferencingName - old referencing table name, if any, that appears in REFERCING clause
newReferencingName - new referencing table name, if any, that appears in REFERCING clause
Throws:
StandardException - on error

getUUIDFactory

protected UUIDFactory getUUIDFactory()

newFileInfoDescriptor

public FileInfoDescriptor newFileInfoDescriptor(UUID id,
                                                SchemaDescriptor sd,
                                                java.lang.String SQLName,
                                                long generationId)
See Also:
newFileInfoDescriptor(org.apache.derby.catalog.UUID, org.apache.derby.iapi.sql.dictionary.SchemaDescriptor, java.lang.String, long)

newTablePermsDescriptor

public TablePermsDescriptor newTablePermsDescriptor(TableDescriptor td,
                                                    java.lang.String selectPerm,
                                                    java.lang.String deletePerm,
                                                    java.lang.String insertPerm,
                                                    java.lang.String updatePerm,
                                                    java.lang.String referencesPerm,
                                                    java.lang.String triggerPerm,
                                                    java.lang.String grantor)
                                             throws StandardException
Throws:
StandardException

newColPermsDescriptor

public ColPermsDescriptor newColPermsDescriptor(TableDescriptor td,
                                                java.lang.String type,
                                                FormatableBitSet columns,
                                                java.lang.String grantor)
                                         throws StandardException
Manufacture a new ColPermsDescriptor.

Parameters:
td - The descriptor of the table.
type - The action type:
  1. "s" - select without grant
  2. "S" - select with grant
  3. "u" - update without grant
  4. "U" - update with grant
  5. "r" - references without grant
  6. "R" - references with grant
columns - the set of columns
Throws:
StandardException

newRoutinePermsDescriptor

public RoutinePermsDescriptor newRoutinePermsDescriptor(AliasDescriptor ad,
                                                        java.lang.String grantor)
                                                 throws StandardException
Create a new routine permissions descriptor

Parameters:
ad - The routine's alias descriptor
grantor -
Throws:
StandardException

newRoleGrantDescriptor

public RoleGrantDescriptor newRoleGrantDescriptor(UUID uuid,
                                                  java.lang.String roleName,
                                                  java.lang.String grantee,
                                                  java.lang.String grantor,
                                                  boolean withadminoption,
                                                  boolean isDef)
                                           throws StandardException
Create a new role grant descriptor

Parameters:
uuid - unique identifier for this role grant descriptor in time and space
roleName - the name of the role for which a new descriptor is created
grantee - authorization identifier of grantee
grantor - authorization identifier of grantor
withadminoption - if true, WITH ADMIN OPTION is set for this descriptor
isDef - if true, this descriptor represents a role definition, otherwise it represents a grant.
Throws:
StandardException

newSequenceDescriptor

public SequenceDescriptor newSequenceDescriptor(SchemaDescriptor sd,
                                                UUID uuid,
                                                java.lang.String sequenceName,
                                                DataTypeDescriptor dataType,
                                                java.lang.Long currentValue,
                                                long startValue,
                                                long minimumValue,
                                                long maximumValue,
                                                long increment,
                                                boolean cycle)
Create a new sequence descriptor

Parameters:
uuid -
sequenceName -
Returns:
SequenceDescriptor

newPermDescriptor

public PermDescriptor newPermDescriptor(UUID uuid,
                                        java.lang.String objectType,
                                        UUID permObjectId,
                                        java.lang.String permission,
                                        java.lang.String grantor,
                                        java.lang.String grantee,
                                        boolean grantable)

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

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