| Modifier and Type | Field and Description |
|---|---|
| pack-priv int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv final int | kind
This class is used to hold logically different objects for space efficiency. |
| pack-priv UUID |
| Access | Constructor and Description |
|---|---|
| pack-priv | ModifyColumnNode(int kind, String name, ValueNode defaultNode, DataTypeDescriptor dataTypeServices, long[] autoIncrementInfo, ContextManager cm)
|
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | bindAndValidateDefault(DataDictionary
The DataDictionary. dd, TableDescriptor The TableDescriptor. td)Overrides org. Check the validity of the default, if any, for this node. |
| pack-priv void | checkExistingConstraints(TableDescriptor
The Table Descriptor on which the ALTER is being done. td)Check if the the column can be modified, and throw error if not. |
| pack-priv void | checkUserType(TableDescriptor td)
Overrides org. Check the validity of a user type. |
| pack-priv int | Returns: The action associated with this node.Overrides org. Get the action associated with this node. |
| pack-priv int | Returns: The column position for the column.Get the column position for the column. |
| private ColumnDescriptor | |
| pack-priv UUID | Returns: The UUID of the old column default.Overrides org. Get the UUID of the old column default. |
| pack-priv void | useExistingCollation(TableDescriptor
Table Descriptor that holds the column which is being altered td)If the column being modified is of character string type, then it should get its collation from the corresponding column in the TableDescriptor. |
| pack-priv void | validateAutoincrement(DataDictionary
DataDictionary. dd, TableDescriptor table descriptor. td, int base table or declared global temporary table. tableType)Overrides org. check the validity of autoincrement values in the case that we are modifying an existing column (includes checking if autoincrement is set when making a column nullable) |
| columnPosition | back to summary |
|---|---|
| pack-priv int columnPosition | |
| K_DROP_COLUMN | back to summary |
|---|---|
| pack-priv static final int K_DROP_COLUMN | |
| K_MODIFY_COLUMN_CONSTRAINT | back to summary |
|---|---|
| pack-priv static final int K_MODIFY_COLUMN_CONSTRAINT | |
| K_MODIFY_COLUMN_CONSTRAINT_NOT_NULL | back to summary |
|---|---|
| pack-priv static final int K_MODIFY_COLUMN_CONSTRAINT_NOT_NULL | |
| K_MODIFY_COLUMN_DEFAULT | back to summary |
|---|---|
| pack-priv static final int K_MODIFY_COLUMN_DEFAULT | |
| K_MODIFY_COLUMN_GENERATED_ALWAYS | back to summary |
|---|---|
| pack-priv static final int K_MODIFY_COLUMN_GENERATED_ALWAYS | |
| K_MODIFY_COLUMN_GENERATED_BY_DEFAULT | back to summary |
|---|---|
| pack-priv static final int K_MODIFY_COLUMN_GENERATED_BY_DEFAULT | |
| K_MODIFY_COLUMN_TYPE | back to summary |
|---|---|
| pack-priv static final int K_MODIFY_COLUMN_TYPE | |
| kind | back to summary |
|---|---|
| pack-priv final int kind This class is used to hold logically different objects for
space efficiency. | |
| oldDefaultUUID | back to summary |
|---|---|
| pack-priv UUID oldDefaultUUID | |
| ModifyColumnNode | back to summary |
|---|---|
| pack-priv ModifyColumnNode(int kind, String name, ValueNode defaultNode, DataTypeDescriptor dataTypeServices, long[] autoIncrementInfo, ContextManager cm) throws StandardException | |
| bindAndValidateDefault | back to summary |
|---|---|
| pack-priv void bindAndValidateDefault(DataDictionary dd, TableDescriptor td) throws StandardException Overrides org. Check the validity of the default, if any, for this node.
| |
| checkExistingConstraints | back to summary |
|---|---|
| pack-priv void checkExistingConstraints(TableDescriptor td) throws StandardException Check if the the column can be modified, and throw error if not. If the type of a column is being changed (for instance if the length of the column is being increased) then make sure that this does not violate any key constraints; the column being altered is 1. part of foreign key constraint ==> ERROR. This references a Primary Key constraint and the type and lengths of the pkey/fkey must match exactly. 2. part of a unique/primary key constraint ==> OK if no fkey references this constraint. ==> ERROR if any fkey in the system references this constraint.
| |
| checkUserType | back to summary |
|---|---|
| pack-priv void checkUserType(TableDescriptor td) throws StandardException Overrides org. Check the validity of a user type. Checks that 1. the column type is either varchar, .... 2. is the same type after the alter. 3. length is greater than the old length.
| |
| getAction | back to summary |
|---|---|
| pack-priv int getAction() Overrides org. Get the action associated with this node.
| |
| getColumnPosition | back to summary |
|---|---|
| pack-priv int getColumnPosition() Get the column position for the column.
| |
| getLocalColumnDescriptor | back to summary |
|---|---|
| private ColumnDescriptor getLocalColumnDescriptor(String name, TableDescriptor td) throws StandardException | |
| getOldDefaultUUID | back to summary |
|---|---|
| pack-priv UUID getOldDefaultUUID() Overrides org. Get the UUID of the old column default. | |
| useExistingCollation | back to summary |
|---|---|
| pack-priv void useExistingCollation(TableDescriptor td) throws StandardException If the column being modified is of character string type, then it should get its collation from the corresponding column in the TableDescriptor. This will ensure that at alter table time, the existing character string type columns do not loose their collation type. If the alter table is doing a drop column, then we do not need to worry about collation info.
| |
| validateAutoincrement | back to summary |
|---|---|
| pack-priv void validateAutoincrement(DataDictionary dd, TableDescriptor td, int tableType) throws StandardException Overrides org. check the validity of autoincrement values in the case that we are modifying an existing column (includes checking if autoincrement is set when making a column nullable)
| |