Fix self-referential resultset update/delete on MySQL (aggravated by 31073ac7)
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / AbstractSearch.pm
1 package # hide form PAUSE
2     DBIx::Class::CDBICompat::AbstractSearch;
3
4 use strict;
5 use warnings;
6
7 =head1 NAME
8
9 DBIx::Class::CDBICompat::AbstractSearch - Emulates Class::DBI::AbstractSearch
10
11 =head1 SYNOPSIS
12
13 See DBIx::Class::CDBICompat for usage directions.
14
15 =head1 DESCRIPTION
16
17 Emulates L<Class::DBI::AbstractSearch>.
18
19 =cut
20
21 # The keys are mostly the same.
22 my %cdbi2dbix = (
23     limit               => 'rows',
24 );
25
26 sub search_where {
27     my $class = shift;
28     my $where = (ref $_[0]) ? $_[0] : { @_ };
29     my $attr  = (ref $_[0]) ? $_[1] : {};
30
31     # Translate the keys
32     $attr->{$cdbi2dbix{$_}} = delete $attr->{$_} for keys %cdbi2dbix;
33
34     return $class->resultset_instance->search($where, $attr);
35 }
36
37 1;