Description
Submitted by: sqldba (sqldba)
Votes: 7
When the column is used in a constraint, altering the column size is not possible. Manually updating the RDB$Fields table also yields the same error.
Example:
CREATE TABLE test_table
(
test_column VARCHAR(25) NOT NULL PRIMARY KEY.
CHECK (test_column <> 'a')
);
After the table is created, you cannot increase the column length because it is used in a constraint. You would have to drop all constraints. This is very difficult if there are several constraints referring to this column. You would also have to recreate all the constraints which is very difficult in a large database.
This issue also applies to domains (this bug defeats the whole purpose of using domains). All other DBMS allow modification of column length even if it is used in a constraint. Just because Firebird [correction from: Firefox] uses it as a index, there is no excuse for this bug.