http://www.perlmonks.org?node_id=1178779


in reply to Re^2: DBI::Class relationship naming
in thread DBI::Class relationship naming

That would be the easy explanation.. Unfortunately, the production fieldnames are 20+ characters long and the behavior is the same.


Greetz
Beatnik
... I'm belgian but I don't play one on TV.

Replies are listed 'Best First'.
Re^4: DBI::Class relationship naming
by soonix (Canon) on Jan 02, 2017 at 21:53 UTC
    I know that Postgres can handle names of 64 characters, but in the code above you call it a method. I know next to nothing about DBIC, but if it uses XS/C/C++, there could happen some name mangling on the way from field name to method name.

    Does the problem persist, when the names differ already in the first few characters?

      My 2 tables use different field names.. So table1 has a field identitygroupname, pointing to another table, properly mapped with a table relationship. table2 has a field identitygroups, pointing to another table, properly mapped with a table relationship.
      my $foo = $t1->identitygroupname->name; my $bar = $t2->identitygroup->name;
      The belongs_to definition in DBIC::Schema::Result::T1 looks like this:
      __PACKAGE__->belongs_to( "fieldwith", "DBIC::Schema::Result::R1", { id => "fieldwiths" }, { is_deferrable => 0, join_type => "LEFT", on_delete => "NO ACTION", on_update => "NO ACTION", }, );
      I'm not sure if this is a bug in dbicdump or something on purpose. I very much doubt that this is a Postgresql issue.


      Greetz
      Beatnik
      ... I'm belgian but I don't play one on TV.