You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
Who said anything about changing column types? I'm talking about column lengths.
What's the purpose of a domain when you have 200+ constraints and then you have to DROP all of them and manually recreate all of them one by one just because the business requirements change and you have to increase the column length? As a sys dba, requirements change all the time and it's a PIA to adapt to them in Firebird. In a production system, this can cause a complete mess.
SQL Server let's you do this. As does Oracle.
I just don't understand why Firebird does not let you increase the column length when it's used in a constraint, have you ever worked on a production system?!?!?
description: 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.
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 Firefox uses it as a index, there is no excuse for this bug.
=>
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.
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.
I have exactly the same issue. A varchar based domain mus be increased in size and there´s no
create domain DOMAIN_THAT_NEED_RESIZE_DEF varchar(10);
alter domain DOMAIN_THAT_NEED_RESIZE_DEF type varchar(50);
since it is used in several tables, views, sp it is a real hard work to drop all constraints (and perhaps even views and the so) just to increase the domain size
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.
The text was updated successfully, but these errors were encountered: