[Dbix-class] Bug(?) in find_or_create with sub-queries

Peter Rabbitson rabbit+dbic at rabbit.us
Thu Dec 16 14:43:03 GMT 2010


Toby Corkindale wrote:
> I think I have found a bug in find_or_create(), although maybe it's
> more a case of "it should throw an error if you try this", instead of
> silenting doing the Wrong Thing.
> 
> Viz:
> 
> Assume you have these tables:
> table1, with columns "luser" and "role".
> The primary key is on "luser, role".
> "role" is a foreign key into table2..
> 
> table2 has columns "id" and "name".
> 
> my $rs = $schema->resultset('table1');
> $rs->find_or_create(
>   {
>     luser => 'john',
>     role => { name => 'Admin' },
>   }
> );
> 
> In this case, the SELECT that dbix class does to try and find the user
> will be WHERE luser='john' AND role=NULL.

Are you saying this is what DBIC does *now*? or this is part
of a wishlist description? If this is in fact the SQL you see
please let me know which DBIC version is this.




More information about the DBIx-Class mailing list