[Bast-commits] r5161 - in DBIx-Class/0.08/trunk: lib/DBIx/Class t
ribasushi at dev.catalyst.perl.org
ribasushi at dev.catalyst.perl.org
Thu Nov 20 10:25:32 GMT 2008
Author: ribasushi
Date: 2008-11-20 10:25:32 +0000 (Thu, 20 Nov 2008)
New Revision: 5161
Modified:
DBIx-Class/0.08/trunk/lib/DBIx/Class/Row.pm
DBIx-Class/0.08/trunk/t/66relationship.t
DBIx-Class/0.08/trunk/t/96multi_create.t
Log:
Trunk passes tests again - todoify everything multicreate related to branch it out, as the task turned out to be more complex (no indentation to aid future merging)
Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/Row.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/Row.pm 2008-11-20 09:57:08 UTC (rev 5160)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/Row.pm 2008-11-20 10:25:32 UTC (rev 5161)
@@ -761,24 +761,17 @@
{
my $rel = delete $upd->{$key};
$self->set_from_related($key => $rel);
- $self->{_relationship_data}{$key} = $rel;
+ $self->{_relationship_data}{$key} = $rel;
} elsif ($info && $info->{attrs}{accessor}
- && $info->{attrs}{accessor} eq 'multi'
- && ref $upd->{$key} eq 'ARRAY') {
- my $others = delete $upd->{$key};
- foreach my $rel_obj (@$others) {
- if(!Scalar::Util::blessed($rel_obj)) {
- $rel_obj = $self->create_related($key, $rel_obj);
- }
- }
- $self->{_relationship_data}{$key} = $others;
-# $related->{$key} = $others;
- next;
+ && $info->{attrs}{accessor} eq 'multi') {
+ $self->throw_exception(
+ "Recursive update is not supported over relationships of type multi ($key)"
+ );
}
elsif ($self->has_column($key)
&& exists $self->column_info($key)->{_inflate_info})
{
- $self->set_inflated_column($key, delete $upd->{$key});
+ $self->set_inflated_column($key, delete $upd->{$key});
}
}
}
Modified: DBIx-Class/0.08/trunk/t/66relationship.t
===================================================================
--- DBIx-Class/0.08/trunk/t/66relationship.t 2008-11-20 09:57:08 UTC (rev 5160)
+++ DBIx-Class/0.08/trunk/t/66relationship.t 2008-11-20 10:25:32 UTC (rev 5161)
@@ -262,6 +262,8 @@
ok($new_artist->in_storage, 'artist inserted');
ok($new_related_cd->in_storage, 'new_related_cd inserted');
+TODO: {
+local $TODO = "TODOify for multicreate branch";
my $new_cd = $schema->resultset("CD")->new_result({});
my $new_related_artist = $new_cd->new_related('artist', { 'name' => 'Marillion',});
lives_ok (
@@ -285,3 +287,4 @@
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.");
+}
Modified: DBIx-Class/0.08/trunk/t/96multi_create.t
===================================================================
--- DBIx-Class/0.08/trunk/t/96multi_create.t 2008-11-20 09:57:08 UTC (rev 5160)
+++ DBIx-Class/0.08/trunk/t/96multi_create.t 2008-11-20 10:25:32 UTC (rev 5161)
@@ -168,6 +168,8 @@
};
diag $@ if $@;
+TODO: {
+local $TODO = "Todoify for multicreate branch";
# test might_have again but with a PK == FK in the middle (obviously not specified)
eval {
my $artist = $schema->resultset('Artist')->first;
@@ -258,6 +260,7 @@
);
};
diag $@ if $@;
+}
# nested find_or_create
eval {
More information about the Bast-commits
mailing list