Anthony Gladdish wrote:
> Hi,
> 
> Upgrading from:
> 
> DBIC v0.08010 
> SQL:Abstract v1.24 
> 
> to:
> 
> DBIC v0.08012 
> SQL:Abstract v1.5
> 
> My ResultSet method contains following search:
> 
> my $orders_current = $schema->resultset('Order')->search(
>         {
>             -and => [
>                 -or => [
>                     "module_access.expires" => { ">", DateTime->now() },
>                     "scheme_access.expires" => { ">", DateTime->now() },
>                 ],
>                 "me.person" => $self->id(),
>             ],  
>         },        
>         {
>             distinct => 1,
>             join => ['module_access','scheme_access'],
>         }
>     );
> 

Reading your example again I noticed you are actually getting what you asked 
for.
Consider (if we assume -and in a hashref is OK)
1) You say -and as in AND all the contents of the following arrayref
2) Then as first element of the array you say - OR the elements following the 
-or
   modifier
3) The first element after OR is another arrayref - you get the
   ( module_access.expires > ? OR scheme_access.expires > ? ) chunk
4) Then due to the -or keyword (2) you get ... OR me.person = ?
5) Leaving the scope of the arrayref there is nothing to -and (1)

Again someone who knows SQLA internals better than me should comment, although
what 1.50 does seems very logical.

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to