Top Description Constructors Methods
org.apache.derby.impl.sql.execute

public Class GenericConstantActionFactory

extends Object
Class Inheritance
Imports
org.apache.derby.shared.common.error.StandardException, org.apache.derby.iapi.services.context.Context, .ContextService, org.apache.derby.iapi.sql.conn.Authorizer, .LanguageConnectionContext, org.apache.derby.iapi.sql.ResultDescription, org.apache.derby.iapi.sql.execute.ConstantAction, org.apache.derby.iapi.sql.dictionary.ConstraintDescriptorList, .IndexRowGenerator, .TableDescriptor, .SchemaDescriptor, org.apache.derby.iapi.sql.depend.ProviderInfo, org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo, org.apache.derby.iapi.types.RowLocation, .DataTypeDescriptor, org.apache.derby.catalog.UUID, .AliasInfo, org.apache.derby.iapi.services.io.FormatableBitSet, org.apache.derby.impl.sql.compile.TableName, java.util.List, .Properties, java.sql.Timestamp

Factory for creating ConstantActions.

Implemetation note: For most operations, the ResultSetFactory determines if the operation is allowed in a readonly/target database. Because we perform JAR add/drop/replace with a utility rather than using normal language processing we never get a result set for these operations. For this reason, the ConstantActionFactory rather than the ResultSetFactory checks if the these operations are allowed.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public ConstraintConstantAction
getAlterConstraintConstantAction(String
Constraint name.
constraintName
,
String
Constraint Schema Name
constraintSchemaName
,
boolean[]
The presumably altered characteristics
characteristics
,
String
Table name.
tableName
,
UUID
UUID of table.
tableId
,
String
The schema that table lives in.
tableSchemaName
,
IndexConstantAction
IndexConstantAction for constraint (if necessary)
indexAction
)

Make ConstantAction to drop a constraint.

public ConstantAction
getAlterTableConstantAction(SchemaDescriptor
descriptor for the schema that table lives in.
sd
,
String
Name of table.
tableName
,
UUID
UUID of table.
tableId
,
long
heap conglomerate id of table
tableConglomerateId
,
int
Type of table (e.g., BASE).
tableType
,
ColumnInfo[]
Information on all the columns in the table.
columnInfo
,
ConstraintConstantAction[]
ConstraintConstantAction[] for constraints
constraintActions
,
char
The lock granularity.
lockGranularity
,
boolean
Whether or not this is a compress table
compressTable
,
int
drop behavior of dropping column
behavior
,
boolean
If compress table/drop column, whether or not sequential
sequential
,
boolean
Whether or not this is a truncate table
truncateTable
,
boolean
PURGE during INPLACE COMPRESS?
purge
,
boolean
DEFRAGMENT during INPLACE COMPRESS?
defragment
,
boolean
TRUNCATE END during INPLACE COMPRESS?
truncateEndOfTable
,
boolean
TRUE means we are here to update statistics
updateStatistics
,
boolean
TRUE means we are here to update statistics of all the indexes. False means we are here to update statistics of only one index.
updateStatisticsAll
,
boolean
TRUE means we are here to drop statistics
dropStatistics
,
boolean
TRUE means we are here to drop statistics of all the indexes. False means we are here to drop statistics of only one index.
dropStatisticsAll
,
String
Will name the index whose statistics will be updated/dropped. This param is looked at only if updateStatisticsAll/dropStatisticsAll is set to false and updateStatistics/dropStatistics is set to true. .
indexNameForStatistics
)

Make the AlterAction for an ALTER TABLE statement.

protected static Authorizer
private static Context
getContext(final String contextID)

Must be private so that user code can't call this entry point.

public ConstantAction
getCreateAliasConstantAction(String
Name of alias.
aliasName
,
String
Alias's schema.
schemaName
,
String
Name of java class.
javaClassName
,
AliasInfo aliasInfo, char
The alias type
aliasType
)

Make the ConstantAction for a CREATE ALIAS statement.

public CreateConstraintConstantAction
getCreateConstraintConstantAction(String
Constraint name.
constraintName
,
int
Constraint type.
constraintType
,
boolean[] constraintCharacteristics, boolean
True if for a CREATE TABLE
forCreateTable
,
String
Table name.
tableName
,
UUID
UUID of table.
tableId
,
String
Schema that table lives in.
schemaName
,
String[]
String[] for column names
columnNames
,
IndexConstantAction
IndexConstantAction for constraint (if necessary)
indexAction
,
String
Text for check constraint
constraintText
,
ConstraintInfo
The referenced constraint, if a foreign key constraint
otherConstraint
,
ProviderInfo[]
Information on all the Providers
providerInfo
)

Make a ConstantAction for a constraint.

public IndexConstantAction
getCreateIndexConstantAction(boolean
Executed as part of a CREATE TABLE
forCreateTable
,
boolean
True means it will be a unique index
unique
,
boolean
True means index check and disallow any duplicate key if key has no column with a null value. If any column in the key has a null value, no checking is done and insert will always succeed.
uniqueWithDuplicateNulls
,
boolean
True if the index is used to back a deferrable constraint
hasDeferrableChecking
,
boolean
True means the deferrable constraint has deferred mode initially.
initiallyDeferred
,
int
The constraint type
constraintType
,
String
The type of index (BTREE, for example)
indexType
,
String
the schema that table (and index) lives in.
schemaName
,
String
Name of the index
indexName
,
String
Name of table the index will be on
tableName
,
UUID
UUID of table.
tableId
,
String[]
Names of the columns in the index, in order
columnNames
,
boolean[]
Array of booleans telling asc/desc on each column
isAscending
,
boolean
TRUE if index is backing up a constraint, else FALSE
isConstraint
,
UUID
ID of conglomerate
conglomerateUUID
,
Properties
The optional properties list associated with the index.
properties
)

Make the ConstantAction for a CREATE INDEX statement.

public ConstantAction
getCreateRoleConstantAction(String
Name of role.
roleName
)

Make the ConstantAction for a CREATE ROLE statement.

public ConstantAction
getCreateSchemaConstantAction(String
Name of table.
schemaName
,
String
Authorizaton id
aid
)

Make the ConstantAction for a CREATE SCHEMA statement.

public ConstantAction
getCreateSequenceConstantAction(TableName
Name of sequence.
sequenceName
,
DataTypeDescriptor dataType, long initialValue, long stepValue, long maxValue, long minValue, boolean cycle)

Make the ConstantAction for a CREATE SEQUENCE statement.

public ConstantAction
getCreateTableConstantAction(String
name for the schema that table lives in.
schemaName
,
String
Name of table.
tableName
,
int
Type of table (e.g., BASE, global temporary table).
tableType
,
ColumnInfo[]
Information on all the columns in the table. (REMIND tableDescriptor ignored)
columnInfo
,
CreateConstraintConstantAction[]
CreateConstraintConstantAction[] for constraints
constraintActions
,
Properties
Optional table properties
properties
,
char
The lock granularity.
lockGranularity
,
boolean
If true, on commit delete rows else on commit preserve rows of temporary table.
onCommitDeleteRows
,
boolean
If true, on rollback, delete rows from temp tables which were logically modified. true is the only supported value
onRollbackDeleteRows
)

Make the ConstantAction for a CREATE TABLE statement.

public ConstantAction
getCreateTriggerConstantAction(String
Name of the schema that trigger lives in.
triggerSchemaName
,
String
Name of trigger
triggerName
,
int
TriggerDescriptor.TRIGGER_EVENT_XXXX
eventMask
,
boolean
is this a before (as opposed to after) trigger
isBefore
,
boolean
is this a row trigger or statement trigger
isRow
,
boolean
is this trigger enabled or disabled
isEnabled
,
TableDescriptor
the table upon which this trigger is defined
triggerTable
,
UUID
the sps id for the when clause (may be null)
whenSPSId
,
String
the text of the when clause (may be null)
whenText
,
UUID
the spsid for the trigger action (may be null)
actionSPSId
,
String
the text of the trigger action (may be null)
actionText
,
UUID
the compilation schema for the action and when spses. If null, will be set to the current default schema
spsCompSchemaId
,
int[]
what columns does this trigger reference (may be null)
referencedCols
,
int[]
what columns does the trigger action reference through old/new transition variables (may be null)
referencedColsInTriggerAction
,
String
The original user text of the WHEN clause (may be null)
originalWhenText
,
String
The original user text of the trigger action
originalActionText
,
boolean
whether or not OLD appears in REFERENCING clause
referencingOld
,
boolean
whether or not NEW appears in REFERENCING clause
referencingNew
,
String
old referencing table name, if any, that appears in REFERCING clause
oldReferencingName
,
String
new referencing table name, if any, that appears in REFERCING clause
newReferencingName
,
ProviderInfo[]
array of providers that the trigger depends on
providerInfo
)

Make the ConstantAction for a CREATE TRIGGER statement.

public ConstantAction
getCreateViewConstantAction(String
Name of the schema that table lives in.
schemaName
,
String
Name of table.
tableName
,
int
Type of table (in this case TableDescriptor.VIEW_TYPE).
tableType
,
String
Text of query expression for view definition
viewText
,
int
Check option type
checkOption
,
ColumnInfo[]
Information on all the columns in the table.
columnInfo
,
ProviderInfo[]
Information on all the Providers
providerInfo
,
UUID
ID of schema in which the view is to be bound when accessed in the future. (REMIND tableDescriptor ignored)
compSchemaId
)

Make the ConstantAction for a CREATE VIEW statement.

public ConstantAction
getDeleteConstantAction(long
Conglomerate ID.
conglomId
,
int
type of this table
tableType
,
StaticCompiledOpenConglomInfo
StaticCompiledOpenConglomInfo for heap.
heapSCOCI
,
IndexRowGenerator[]
Index descriptors
irgs
,
long[]
Conglomerate IDs of indices
indexCIDS
,
StaticCompiledOpenConglomInfo[]
StaticCompiledOpenConglomInfos for indexes.
indexSCOCIs
,
boolean
True means deferred delete
deferred
,
boolean
true if table is published
tableIsPublished
,
UUID
table id
tableID
,
int
The lock mode to use (row or table, see TransactionController)
lockMode
,
Object deleteToken, Object
signature for the key(null for source)
keySignature
,
int[]
positions of primary key columns in base row
keyPositions
,
long
conglomerate id for the key (-1 for the souce)
keyConglomId
,
String
schemaName(null for source)
schemaName
,
String
tableName(null for source)
tableName
,
ResultDescription
A description of the columns in the row to be deleted. Only set in replication or during cascade Delete.
resultDescription
,
FKInfo[]
Array of structures containing foreign key info, if any (may be null)
fkInfo
,
TriggerInfo
Array of structures containing trigger info, if any (may be null)
triggerInfo
,
FormatableBitSet
Map of columns read in. 1 based.
baseRowReadList
,
int[]
BaseRowReadMap[heapColId]->ReadRowColumnId.
baseRowReadMap
,
int[]
Null for non rep. (0 based)
streamStorableHeapColIds
,
int
Number of columns to read
numColumns
,
UUID
UUID for dependency system
dependencyId
,
boolean
Whether or not source is a single row source
singleRowSource
,
ConstantAction[] dependentConstantActions, boolean
True if this is an action of a MERGE statement.
underMerge
)

Make the ConstantAction for a Replicated DELETE statement.

public ConstantAction
getDropAliasConstantAction(SchemaDescriptor sd, String
Alias name.
aliasName
,
char
Alias type.
aliasType
)

Make the ConstantAction for a DROP ALIAS statement.

public ConstraintConstantAction
getDropConstraintConstantAction(String
Constraint name.
constraintName
,
String
Constraint Schema Name
constraintSchemaName
,
String
Table name.
tableName
,
UUID
UUID of table.
tableId
,
String
the schema that table lives in.
tableSchemaName
,
IndexConstantAction
IndexConstantAction for constraint (if necessary)
indexAction
,
int
The drop behavior (e.g. StatementType.RESTRICT)
behavior
,
int
Verify that the constraint is of this type.
verifyType
)

Make ConstantAction to drop a constraint.

public IndexConstantAction
getDropIndexConstantAction(String
Fully qualified index name
fullIndexName
,
String
Index name.
indexName
,
String
The table name
tableName
,
String
Schema that index lives in.
schemaName
,
UUID
UUID for table
tableId
,
long
heap conglomerate ID for table
tableConglomerateId
)

Make the ConstantAction for a DROP INDEX statement.

public ConstantAction
getDropRoleConstantAction(String
role name to be dropped
roleName
)

Make the ConstantAction for a DROP ROLE statement.

public ConstantAction
getDropSchemaConstantAction(String
Table name.
schemaName
)

Make the ConstantAction for a DROP SCHEMA statement.

public ConstantAction
getDropSequenceConstantAction(SchemaDescriptor
the schema the sequence object belongs to
sd
,
String
name of sequence to be dropped
seqName
)

Make the ConstantAction for a DROP SEQUENCE statement.

public ConstantAction
getDropStatisticsConstantAction(SchemaDescriptor
Schema Descriptor of the schema in which the object resides.
sd
,
String
full name of the object for which statistics are being dropped.
fullTableName
,
String
object name for which statistics are being dropped.
objectName
,
boolean
is it an index or table whose statistics aer being consigned to the garbage heap?
forTable
)

Make the constant action for Drop Statistics statement.

public ConstantAction
getDropTableConstantAction(String
Fully qualified table name
fullTableName
,
String
Table name.
tableName
,
SchemaDescriptor
Schema that table lives in.
sd
,
long
Conglomerate number for heap
conglomerateNumber
,
UUID
UUID for table
tableId
,
int
drop behavior, CASCADE, RESTRICT or DEFAULT
behavior
)

Make the ConstantAction for a DROP TABLE statement.

public ConstantAction
getDropTriggerConstantAction(SchemaDescriptor
Schema that stored prepared statement lives in.
sd
,
String
Name of the Trigger
triggerName
,
UUID
The table this trigger is defined upon
tableId
)

Make the ConstantAction for a DROP TRIGGER statement.

public ConstantAction
getDropViewConstantAction(String
Fully qualified table name
fullTableName
,
String
Table name.
tableName
,
SchemaDescriptor
Schema that view lives in.
sd
)

Make the ConstantAction for a DROP VIEW statement.

public ConstantAction
getGrantConstantAction(PrivilegeInfo
The list of privileges to be granted
privileges
,
List<E>
The list of grantees
grantees
)

Make the constant action for a Grant statement

public ConstantAction
getGrantRoleConstantAction(List<E>
list of roles to be granted
roleNames
,
List<E>
list of authentication ids (user or roles) to which roles(s) are to be granted
grantees
)

Make the ConstantAction for a GRANT role statement.

public ConstantAction
getInsertConstantAction(TableDescriptor tableDescriptor, long
Conglomerate ID.
conglomId
,
StaticCompiledOpenConglomInfo
StaticCompiledOpenConglomInfo for target heap.
heapSCOCI
,
IndexRowGenerator[]
Index descriptors
irgs
,
long[]
Conglomerate IDs of indices
indexCIDS
,
StaticCompiledOpenConglomInfo[]
StaticCompiledOpenConglomInfos for indexes.
indexSCOCIs
,
String[]
Names of indices on this table for error reporting.
indexNames
,
boolean
True means deferred insert
deferred
,
boolean
true if table is published, false otherwise
tableIsPublished
,
boolean
The target table has deferrable CHECK constraints
hasDeferrableChecks
,
UUID
table id
tableID
,
int lockMode, Object insertToken, Object rowSignature, Properties
Properties on the target table
targetProperties
,
FKInfo[]
Array of structures containing foreign key info, if any (may be null)
fkInfo
,
TriggerInfo
Array of structures containing trigger info,
triggerInfo
,
int[]
Null for non rep. (0 based) if any (may be null)
streamStorableHeapColIds
,
boolean[]
boolean[] of which (0-based) columns are indexed.
indexedCols
,
UUID
UUID for dependency system
dependencyId
,
Object[]
Stage Control Tokens
stageControl
,
Object[]
List of DDL to log. This is for BULK INSERT into a published table at the Source.
ddlList
,
boolean
Whether or not source is a single row source
singleRowSource
,
RowLocation[]
array of row locations into syscolumns for autoincrement columns
autoincRowLocation
,
boolean
True if this is an INSERT action of a MERGE statement.
underMerge
,
String
For 10.11 and higher, the handle on the sequence for the identity column
identitySequenceUUIDString
,
boolean
True if the query expression sets the identity column to DEFAULT
autoincrementColumnSetToDEFAULT
)

Make the ConstantAction for a INSERT statement.

public ConstantAction
getLockTableConstantAction(String
Full name of the table.
fullTableName
,
long
Conglomerate number for the heap
conglomerateNumber
,
boolean
Whether or not to get an exclusive lock.
exclusiveMode
)

Make the ConstantAction for a LOCK TABLE statement.

public ConstantAction
getMatchingClauseConstantAction(int clauseType, String matchRefinementName, ResultDescription thenColumnSignature, String rowMakingMethodName, String resultSetFieldName, String actionMethodName, ConstantAction thenAction)

Make the ConstantAction for a WHEN [ NOT ] MATCHED clause.

public MergeConstantAction
getMergeConstantAction(ConstantAction[] matchingClauses)

Make the ConstantAction for a MERGE statement.

public ConstantAction
getRenameConstantAction(String
Fully qualified table name
fullTableName
,
String
Table name.
tableName
,
String
Old object name
oldObjectName
,
String
New object name.
newObjectName
,
SchemaDescriptor
Schema that table lives in.
sd
,
UUID
UUID for table
tableId
,
boolean
True if used Alter Table command, false if used Rename
usedAlterTable
,
int
Value indicates if Rename Column/Index.
renamingWhat
)

Make the ConstantAction for a RENAME TABLE/COLUMN/INDEX statement.

public ConstantAction
getRevokeConstantAction(PrivilegeInfo
The list of privileges to be revokeed
privileges
,
List<E>
The list of grantees
grantees
)

Make the constant action for a Revoke statement

public ConstantAction
getRevokeRoleConstantAction(List<E>
list of roles to be revoked
roleNames
,
List<E>
list of authentication ids (user or roles) for whom roles are to be revoked
grantees
)

Make the ConstantAction for a REVOKE role statement.

public ConstantAction
getSavepointConstantAction(String
name for the savepoint.
savepointName
,
int
Type of savepoint statement ie rollback, release or set savepoint
statementType
)

Make the ConstantAction for a savepoint statement (ROLLBACK savepoint, RELASE savepoint and SAVEPOINT).

public ConstantAction
getSetConstraintsConstantAction(List<TableName>
The constraints to set, if null, set them ALL.
constraints
,
boolean
ncodes IMMEDIATE (false), DEFERRED (true)
initiallyDeferred
)

Get ConstantAction for SET CONSTRAINTS statement.

public ConstantAction
getSetRoleConstantAction(String
Name of role
roleName
,
int
Literal (== 0) or ? (== StatementType.SET_ROLE_DYNAMIC)
type
)

Make the ConstantAction for a SET ROLE statement.

public ConstantAction
getSetSchemaConstantAction(String
Name of schema.
schemaName
,
int
Literal, USER or ?
type
)

Make the ConstantAction for a SET SCHEMA statement.

public ConstantAction
getSetTransactionIsolationConstantAction(int
The new isolation level.
isolationLevel
)

Make the ConstantAction for a SET TRANSACTION ISOLATION statement.

public ConstantAction
getUpdatableVTIConstantAction(int statementType, boolean
Deferred processing mode?
deferred
)

Make the ConstantAction for an updatable VTI statement.

public ConstantAction
getUpdatableVTIConstantAction(int statementType, boolean
Deferred processing mode?
deferred
,
int[]
Array of ids of changed columns
changedColumnIds
)

Make the ConstantAction for an updatable VTI statement.

public UpdateConstantAction

Returns:

The constant action constructed
getUpdateConstantAction
(TableDescriptor
Descriptor for the updated table
targetTableDesc
,
StaticCompiledOpenConglomInfo
StaticCompiledOpenConglomInfo for heap.
heapSCOCI
,
IndexRowGenerator[]
Index descriptors
irgs
,
long[]
Conglomerate IDs of indices
indexCIDS
,
StaticCompiledOpenConglomInfo[]
StaticCompiledOpenConglomInfos for indexes.
indexSCOCIs
,
String[] indexNames, boolean
True means deferred update
deferred
,
UUID
UUID of target table
targetUUID
,
int
The lock mode to use (row or table, see TransactionController)
lockMode
,
boolean
true if table is published, false otherwise
tableIsPublished
,
int[]
Array of ids of changes columns
changedColumnIds
,
int[]
positions of primary key columns in base row
keyPositions
,
Object updateToken, FKInfo[]
Array of structures containing foreign key info, if any (may be null)
fkInfo
,
TriggerInfo
Array of structures containing trigger info,
triggerInfo
,
FormatableBitSet
Map of columns read in. 1 based.
baseRowReadList
,
int[]
map of columns to be selected from the base row (partial row). 1 based.
baseRowReadMap
,
int[]
Null for non rep. (0 based)
streamStorableHeapColIds
,
int
The number of columns being read.
numColumns
,
boolean
is this a positioned update
positionedUpdate
,
boolean
Whether or not source is a single row source
singleRowSource
,
RowLocation[]
array of row locations into syscolumns for autoincrement columns
autoincRowLocation
,
boolean
True if this is an action of a MERGE statement.
underMerge
,
String
For 10.11 and higher, the handle on the sequence for the identity column
identitySequenceUUIDString
)

Make the ConstantAction for an UPDATE statement.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait