From: Tim Bunce Date: Thu, 19 Mar 2009 00:15:12 +0000 (+0000) Subject: Revert r5766 which was applied to the trunk instead of branches/current. X-Git-Tag: 0.04006~7 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6ac18b875b311d98ac3027529d135d3cf249bba2;p=dbsrgits%2FDBIx-Class-Schema-Loader.git Revert r5766 which was applied to the trunk instead of branches/current. (r5766 has since been applied to branches/current as r5770) --- diff --git a/Changes b/Changes index 3b5eb4b..eb010bb 100644 --- a/Changes +++ b/Changes @@ -3,7 +3,6 @@ Revision history for Perl extension DBIx::Class::Schema::Loader 0.04006 Not Yet Released - Fix Oracle constraint detection for non-owned schemas (RT #35732) - Add result_base_class and schema_base_class options (RT #43977) - - Ignore duplicate uniq indices (including duplicates of the PK). 0.04005 Sat Apr 05, 2008 - Fix DB2 support diff --git a/lib/DBIx/Class/Schema/Loader/Base.pm b/lib/DBIx/Class/Schema/Loader/Base.pm index 9869713..c6b89dd 100644 --- a/lib/DBIx/Class/Schema/Loader/Base.pm +++ b/lib/DBIx/Class/Schema/Loader/Base.pm @@ -672,21 +672,12 @@ sub _setup_src_meta { ); } - my %uniq_tag; # used to eliminate duplicate uniqs - my $pks = $self->_table_pk_info($table) || []; @$pks ? $self->_dbic_stmt($table_class,'set_primary_key',@$pks) : carp("$table has no primary key"); - $uniq_tag{ join("\0", @$pks) }++ if @$pks; # pk is a uniq my $uniqs = $self->_table_uniq_info($table) || []; - for (@$uniqs) { - my ($name, $cols) = @$_; - - next if $uniq_tag{ join("\0", @$cols) }++; # skip duplicates - - $self->_dbic_stmt($table_class,'add_unique_constraint', $name, $cols); - } + $self->_dbic_stmt($table_class,'add_unique_constraint',@$_) for (@$uniqs); $schema_class->register_class($table_moniker, $table_class); $schema->register_class($table_moniker, $table_class) if $schema ne $schema_class; diff --git a/t/lib/dbixcsl_common_tests.pm b/t/lib/dbixcsl_common_tests.pm index 9b5738f..75d6090 100644 --- a/t/lib/dbixcsl_common_tests.pm +++ b/t/lib/dbixcsl_common_tests.pm @@ -43,7 +43,7 @@ sub _monikerize { sub run_tests { my $self = shift; - plan tests => 90; + plan tests => 88; $self->create(); @@ -111,12 +111,10 @@ sub run_tests { my $moniker1 = $monikers->{loader_test1}; my $class1 = $classes->{loader_test1}; my $rsobj1 = $conn->resultset($moniker1); - check_no_duplicate_unique_constraints($class1); my $moniker2 = $monikers->{loader_test2}; my $class2 = $classes->{loader_test2}; my $rsobj2 = $conn->resultset($moniker2); - check_no_duplicate_unique_constraints($class2); my $moniker23 = $monikers->{LOADER_TEST23}; my $class23 = $classes->{LOADER_TEST23}; @@ -505,19 +503,6 @@ sub run_tests { } } -sub check_no_duplicate_unique_constraints { - my ($class) = @_; - - # unique_constraints() automatically includes the PK, if any - my %uc_cols; - ++$uc_cols{ join ", ", @$_ } - for values %{ { $class->unique_constraints } }; - my $dup_uc = grep { $_ > 1 } values %uc_cols; - - is($dup_uc, 0, "duplicate unique constraints ($class)") - or diag "uc_cols: @{[ %uc_cols ]}"; -} - sub dbconnect { my ($self, $complain) = @_;