X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FResultSet.pm;h=39af76b26f7201103050587ac67ae190a473f817;hb=e5c6382908ee65577e53c0771629384d70959a3d;hp=7915e0759d238e9578acd2b22256209e8103ae87;hpb=786c1cddede6675b9fc5fc46ae4e1e136ef2c392;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/ResultSet.pm b/lib/DBIx/Class/ResultSet.pm index 7915e07..39af76b 100644 --- a/lib/DBIx/Class/ResultSet.pm +++ b/lib/DBIx/Class/ResultSet.pm @@ -12,7 +12,8 @@ use Scalar::Util qw( blessed reftype ); use SQL::Abstract 'is_literal_value'; use DBIx::Class::_Util qw( dbic_internal_try dbic_internal_catch dump_value emit_loud_diag - fail_on_internal_wantarray fail_on_internal_call UNRESOLVABLE_CONDITION + fail_on_internal_wantarray fail_on_internal_call + UNRESOLVABLE_CONDITION DUMMY_ALIASPAIR ); use DBIx::Class::SQLMaker::Util qw( normalize_sqla_condition extract_equality_conditions ); use DBIx::Class::ResultSource::FromSpec::Util 'find_join_path_to_alias'; @@ -835,6 +836,7 @@ sub find { %$call_cond, %{ $rsrc->_resolve_relationship_condition( + require_join_free_values => 1, rel_name => $key, foreign_values => ( (! defined blessed $foreign_val) ? $foreign_val : do { @@ -860,11 +862,11 @@ sub find { +{ $foreign_val->get_columns }; } ), - infer_values_based_on => {}, - self_alias => "\xFE", # irrelevant - foreign_alias => "\xFF", # irrelevant - )->{inferred_values} }, + # an API where these are optional would be too cumbersome, + # instead always pass in some dummy values + DUMMY_ALIASPAIR, + )->{join_free_values} }, }; } } @@ -2531,8 +2533,10 @@ sub populate { $colinfo->{$rel}{fk_map} = { reverse %{ $rsrc->_resolve_relationship_condition( rel_name => $rel, - self_alias => "\xFE", # irrelevant - foreign_alias => "\xFF", # irrelevant + + # an API where these are optional would be too cumbersome, + # instead always pass in some dummy values + DUMMY_ALIASPAIR, )->{identity_map} || {} } }; }