From: Peter Rabbitson Date: Thu, 30 Apr 2009 08:12:23 +0000 (+0000) Subject: Revert addition of superficial relationship in r5886 X-Git-Tag: v0.08102~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=56b73f831fd0eef1327e47e6aa39b4c3e876142d;p=dbsrgits%2FDBIx-Class.git Revert addition of superficial relationship in r5886 --- diff --git a/t/66relationship.t b/t/66relationship.t index 48fcb2a..80c5524 100644 --- a/t/66relationship.t +++ b/t/66relationship.t @@ -290,12 +290,13 @@ my $rs_overridden = $schema->source('ForceForeign'); my $relinfo_with_attr = $rs_overridden->relationship_info ('cd_3'); cmp_ok($relinfo_with_attr->{attrs}{is_foreign_key_constraint}, '==', 0, "is_foreign_key_constraint defined for belongs_to relationships with attr."); -# check that relationships below left join relationships are forced to left joins -my $cds = $schema->resultset("CD")->search({ cdid => 1 }, { join => { genre => 'demographic' } }); +# check that relationships below left join relationships are forced to left joins +# when traversing multiple belongs_to +my $cds = $schema->resultset("CD")->search({ 'me.cdid' => 5 }, { join => { single_track => 'cd' } }); is($cds->count, 1, "subjoins under left joins force_left (string)"); -$cds = $schema->resultset("CD")->search({ cdid => 1 }, { join => { genre => [ 'demographic' ] } }); +$cds = $schema->resultset("CD")->search({ 'me.cdid' => 5 }, { join => { single_track => ['cd'] } }); is($cds->count, 1, "subjoins under left joins force_left (arrayref)"); -$cds = $schema->resultset("CD")->search({ cdid => 1 }, { join => { genre => { demographic => {} } } }); +$cds = $schema->resultset("CD")->search({ 'me.cdid' => 5 }, { join => { single_track => { cd => {} } } }); is($cds->count, 1, "subjoins under left joins force_left (hashref)"); diff --git a/t/93single_accessor_object.t b/t/93single_accessor_object.t index 8a1281a..2303bdb 100644 --- a/t/93single_accessor_object.t +++ b/t/93single_accessor_object.t @@ -56,7 +56,7 @@ $schema = DBICTest->init_schema(); { my $artist = $schema->resultset('Artist')->create({ artistid => 666, name => 'bad religion' }); - my $genre = $schema->resultset('Genre')->create({ genreid => 88, name => 'disco', demographicid => 1 }); + my $genre = $schema->resultset('Genre')->create({ genreid => 88, name => 'disco' }); my $cd = $schema->resultset('CD')->create({ cdid => 187, artist => 1, title => 'how could hell be any worse?', year => 1982 }); dies_ok { $cd->genre } 'genre accessor throws without column'; diff --git a/t/96multi_create_torture.t b/t/96multi_create_torture.t index dda1352..e3a552d 100644 --- a/t/96multi_create_torture.t +++ b/t/96multi_create_torture.t @@ -27,9 +27,6 @@ eval { year => '2012', genre => { name => '"Greatest" collections', - demographic => { - name => '"Greatest" collections demographic', - }, }, tags => [ { tag => 'A' }, @@ -50,9 +47,6 @@ eval { year => 2012, genre => { name => '"Greatest" collections', - demographic => { - name => '"Greatest" collections demographic', - }, }, tags => [ { tag => 'A' }, @@ -74,9 +68,6 @@ eval { year => 2012, genre => { name => '"Greatest" collections', - demographic => { - name => '"Greatest" collections demographic', - }, }, tags => [ { tag => 'A' }, @@ -88,9 +79,6 @@ eval { year => 2012, genre => { name => '"Greatest" collections2', - demographic => { - name => '"Greatest" collections demographic', - }, }, tags => [ { tag => 'A' }, @@ -103,9 +91,6 @@ eval { year => 2013, genre => { name => '"Greatest" collections2', - demographic => { - name => '"Greatest" collections demographic', - }, }, }}, ], @@ -118,9 +103,6 @@ eval { year => 2012, genre => { name => '"Greatest" collections', - demographic => { - name => '"Greatest" collections demographic', - }, }, tags => [ { tag => 'A' }, diff --git a/t/lib/DBICTest/Schema.pm b/t/lib/DBICTest/Schema.pm index 907c8cb..b03d090 100644 --- a/t/lib/DBICTest/Schema.pm +++ b/t/lib/DBICTest/Schema.pm @@ -11,7 +11,6 @@ __PACKAGE__->load_classes(qw/ BindType Employee CD - Demographic FileColumn Genre Link diff --git a/t/lib/DBICTest/Schema/CD.pm b/t/lib/DBICTest/Schema/CD.pm index 5638e24..513dd65 100644 --- a/t/lib/DBICTest/Schema/CD.pm +++ b/t/lib/DBICTest/Schema/CD.pm @@ -38,7 +38,9 @@ __PACKAGE__->belongs_to( artist => 'DBICTest::Schema::Artist', undef, { }); # in case this is a single-cd it promotes a track from another cd -__PACKAGE__->belongs_to( single_track => 'DBICTest::Schema::Track' ); +__PACKAGE__->belongs_to( single_track => 'DBICTest::Schema::Track', 'single_track', + { join_type => 'left'} +); __PACKAGE__->has_many( tracks => 'DBICTest::Schema::Track' ); __PACKAGE__->has_many( diff --git a/t/lib/DBICTest/Schema/Demographic.pm b/t/lib/DBICTest/Schema/Demographic.pm deleted file mode 100644 index cff1eba..0000000 --- a/t/lib/DBICTest/Schema/Demographic.pm +++ /dev/null @@ -1,21 +0,0 @@ -package DBICTest::Schema::Demographic; - -use strict; - -use base 'DBIx::Class::Core'; - -__PACKAGE__->table('demographic'); -__PACKAGE__->add_columns( - demographicid => { - data_type => 'integer', - is_auto_increment => 1, - }, - name => { - data_type => 'varchar', - size => 100, - }, -); -__PACKAGE__->set_primary_key('demographicid'); -__PACKAGE__->add_unique_constraint ( demographic_name => [qw/name/] ); - -1; diff --git a/t/lib/DBICTest/Schema/Genre.pm b/t/lib/DBICTest/Schema/Genre.pm index 50a559c..db2ca9c 100644 --- a/t/lib/DBICTest/Schema/Genre.pm +++ b/t/lib/DBICTest/Schema/Genre.pm @@ -14,15 +14,10 @@ __PACKAGE__->add_columns( data_type => 'varchar', size => 100, }, - demographicid => { - data_type => 'integer', - is_nullable => 0, - }, ); __PACKAGE__->set_primary_key('genreid'); __PACKAGE__->add_unique_constraint ( genre_name => [qw/name/] ); __PACKAGE__->has_many (cds => 'DBICTest::Schema::CD', 'genreid'); -__PACKAGE__->belongs_to (demographic => 'DBICTest::Schema::Demographic', 'demographicid'); 1; diff --git a/t/lib/sqlite.sql b/t/lib/sqlite.sql index 6c4202a..9e8aaa6 100644 --- a/t/lib/sqlite.sql +++ b/t/lib/sqlite.sql @@ -1,6 +1,6 @@ -- -- Created by SQL::Translator::Producer::SQLite --- Created on Sun Apr 19 11:49:48 2009 +-- Created on Thu Apr 30 10:04:57 2009 -- @@ -137,16 +137,6 @@ CREATE INDEX collection_object_idx_collection_collection_obj ON collection_objec CREATE INDEX collection_object_idx_object_c ON collection_object (object); -- --- Table: demographic --- -CREATE TABLE demographic ( - demographicid INTEGER PRIMARY KEY NOT NULL, - name varchar(100) NOT NULL -); - -CREATE UNIQUE INDEX demographic_name_demographic ON demographic (name); - --- -- Table: employee -- CREATE TABLE employee ( @@ -231,12 +221,9 @@ CREATE INDEX fourkeys_to_twokeys_idx_t_artist_t_cd_fourkeys_to ON fourkeys_to_tw -- CREATE TABLE genre ( genreid INTEGER PRIMARY KEY NOT NULL, - name varchar(100) NOT NULL, - demographicid integer NOT NULL + name varchar(100) NOT NULL ); -CREATE INDEX genre_idx_demographicid_genre ON genre (demographicid); - CREATE UNIQUE INDEX genre_name_genre ON genre (name); --