Deletes a Column.

It is now possible to perform an ‘ALTER TABLE DROP COLUMN’ on a non-PUB schema without disconnecting concurrent users/clients. Drop column can be performed online while other users/clients can access the OpenEdge database objects.

The main features of the ALTER TABLE DROP COLUMN statement are:

  • ALTER TABLE DROP COLUMN is an online and offline operation.
  • ALTER TABLE DROP COLUMN is an offline operation for instances, where:
    • The table is in PUB schema.
    • Database is enabled for OpenEdge Replication.
    • Column being dropped is of LOB type i.e. CLOB (Character Large Object) or BLOB (Binary Large Object) data types.
    • Column being dropped is a partition key column.

Impact

When ALTER TABLE DROP COLUMN is performed, the following are impacted:

  • OpenEdge Management — OpenEdge Management does not display table definitions for non-PUB schema except for tables that are Change Data Capture (CDC) enabled. When CDC operations are performed in concurrent transaction with ALTER TABLE DROP COLUMN, OpenEdge Management may return an error because of lock conflict.

    Even without lock conflicts, if you change a column name between the time OpenEdge Management reads the definition and uses the definition via ABL, creating the required CDC policy fails with Column not found error.

  • Progress Developer Studio for OpenEdge — Progress Developer Studio for OpenEdge can fetch table and column definitions, and display them to perform database operations.

    When you perform online ALTER TABLE DROP COLUMN, in concurrent transaction, and when Progress Developer Studio for OpenEdge fetch the data using old column name, then it might return Column not found error.

  • Database utilities — When you perform online ALTER TABLE DROP COLUMN in concurrent operation with database utilities or index utilities (IDXcheck,IDXfix), they might result in lock conflict.