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
The following commands in isql cause the following output:
create table test(a int constraint integral unique);
show table test;
A INTEGER Nullable
CONSTRAINT INTEGRAL:
Unique key (A)
Now, doing
isql CONSTRAINT.FDB -x
we get:
CREATE TABLE TEST (A INTEGER,
UNIQUE (A));
Notice the name "INTEGRAL" should be included in the definition because it was a user-defined, explicit name. However, isql (since it does the wrong internal logic) confuses it with the INTEG_* implicit constraint names and ignores it. Therefore, reconstructing the db from the script causes the creation of a constraint with an internal name and the loss of the original name.
Following script (running on new empty database) shows that there are still problems in displaying constraints and indices with 'internal' FB-names:
SQL> recreate table test(
CON> x int, y int,
CON> constraint integ_1 unique(x) using index integ_1,
CON> constraint test_y_unq unique(y) using index test_y_idx);
SQL> show table test;
X INTEGER Nullable
Y INTEGER Nullable
CONSTRAINT INTEG_1:
Unique key (X) -------------------------------------------------------------------------------- [ 1 ]
CONSTRAINT TEST_Y_UNQ:
Unique key (Y) uses explicit ascending index TEST_Y_IDX
SQL> exit;
Submitted by: Claudio Valderrama C. (robocop)
Assigned to: Claudio Valderrama C. (robocop)
Is related to QA187
The following commands in isql cause the following output:
create table test(a int constraint integral unique);
show table test;
A INTEGER Nullable
CONSTRAINT INTEGRAL:
Unique key (A)
Now, doing
isql CONSTRAINT.FDB -x
we get:
CREATE TABLE TEST (A INTEGER,
UNIQUE (A));
Notice the name "INTEGRAL" should be included in the definition because it was a user-defined, explicit name. However, isql (since it does the wrong internal logic) confuses it with the INTEG_* implicit constraint names and ignores it. Therefore, reconstructing the db from the script causes the creation of a constraint with an internal name and the loss of the original name.
Commits: e256254
The text was updated successfully, but these errors were encountered: