"Compare user objects" ignores constraints named SYS_C*

Hi!

I've found a possible bug concerning the "compare user objects" utility inside PL/SQL developer; consider the following scenario:

create tables in schema user1

Code:
create table t1 (id number not null primary key);
create table t2 (id number not null primary key, t1_id integer);
compare schema user1 to schema user2
This will create the two tables t1 and t2 - so far, so good.

create an unnamed foreign key in schema user1

Code:
alter table t2 add foreign key(t1_id) references t1(id);
This will create a foreign key constraint named SYS_CXXXXXXX.

compare schema user1 to schema user2
This will return No differences found - not so good :(

Try again, this time with an named foreign key constraint:

Code:
alter table t2 drop constraint SYS_CXXXXXXX;
alter table t2 add constraint t2_t1_ID_FK foreign key(t1_id) references t1(id);
compare schema user1 to schema user2
This will correctly show the missing foreign key constraint in schema user2.

I consider this a bug in PL/SQL Developer - is there any workaround, or do I have to manually rename all constraints in our schemata from SYS_CXXXXXXX to something more sensible? :eek:

Thanks in advance & kind regards
Frank
 
At the moment PL/SQL Developer only compares named constraints. This is how they are matched.

We have an enhancement request to compare nameless constraints as well.
 
Marco,

Thanks for the quick response.
Is this list of enhancement requests public? Do you have any information available if or when this feature will be implemented?

Thanks for your time & kind regards
 
Back
Top