| ... | ... | 
                  @@ -2,6 +2,7 @@  | 
              
| 2 | 2 | 
                  - added EXPERIMENTAL DBIx::Custom::Result::kv method  | 
              
| 3 | 3 | 
                  - added EXPERIMENTAL DBIx::Custom::Result::flat method  | 
              
| 4 | 4 | 
                     - added where => {name => [val1, val2, val3]} support
                 | 
              
| 5 | 
                  + this is expaned to "where name in (val1, val2, val3)"  | 
              |
| 5 | 6 | 
                  0.2111  | 
              
| 6 | 7 | 
                  - "created_at" option is renamed to "ctime" option.  | 
              
| 7 | 8 | 
                  "created_at" is DEPRECATED!  | 
              
| ... | ... | 
                  @@ -1695,7 +1695,11 @@ sub _where_clause_and_param {
                 | 
              
| 1695 | 1695 | 
                  my $column_quote = $self->q($c);  | 
              
| 1696 | 1696 | 
                  $column_quote = $table_quote . '.' . $column_quote  | 
              
| 1697 | 1697 | 
                  if defined $table_quote;  | 
              
| 1698 | 
                  - push @$clause, "$column_quote = :$column";  | 
              |
| 1698 | 
                  +      if (ref $where->{$column} eq 'ARRAY') {
                 | 
              |
| 1699 | 
                  +        my $c = join(', ', (":$column") x @{$where->{$column}});
                 | 
              |
| 1700 | 
                  + push @$clause, "$column_quote in ( $c )";  | 
              |
| 1701 | 
                  + }  | 
              |
| 1702 | 
                  +      else { push @$clause, "$column_quote = :$column" }
                 | 
              |
| 1699 | 1703 | 
                  }  | 
              
| 1700 | 1704 | 
                   | 
              
| 1701 | 1705 | 
                       $w->{clause} = @$clause ? "where ( " . join(' and ', @$clause) . " ) " : '' ;
                 | 
              
| ... | ... | 
                  @@ -3299,23 +3303,34 @@ Table name.  | 
              
| 3299 | 3303 | 
                   | 
              
| 3300 | 3304 | 
                  =item C<where>  | 
              
| 3301 | 3305 | 
                   | 
              
| 3302 | 
                  - # Hash refrence  | 
              |
| 3303 | 
                  -  where => {author => 'Ken', 'title' => 'Perl'}
                 | 
              |
| 3306 | 
                  + # (1) Hash reference  | 
              |
| 3307 | 
                  +  where => {author => 'Ken', 'title' => ['Perl', 'Ruby']}
                 | 
              |
| 3308 | 
                  +  # -> where author = 'Ken' and title in ('Perl', 'Ruby')
                 | 
              |
| 3304 | 3309 | 
                   | 
              
| 3305 | 
                  - # DBIx::Custom::Where object  | 
              |
| 3310 | 
                  + # (2) DBIx::Custom::Where object  | 
              |
| 3306 | 3311 | 
                  where => $dbi->where(  | 
              
| 3307 | 3312 | 
                       clause => ['and', ':author{=}', ':title{like}'],
                 | 
              
| 3308 | 3313 | 
                       param  => {author => 'Ken', title => '%Perl%'}
                 | 
              
| 3309 | 
                  - );  | 
              |
| 3314 | 
                  + )  | 
              |
| 3315 | 
                  + # -> where author = 'Ken' and title like '%Perl%'  | 
              |
| 3310 | 3316 | 
                   | 
              
| 3311 | 
                  - # Array reference, this is same as above  | 
              |
| 3317 | 
                  + # (3) Array reference[Array refenrece, Hash reference]  | 
              |
| 3312 | 3318 | 
                  where => [  | 
              
| 3313 | 3319 | 
                       ['and', ':author{=}', ':title{like}'],
                 | 
              
| 3314 | 3320 | 
                       {author => 'Ken', title => '%Perl%'}
                 | 
              
| 3315 | 
                  - ];  | 
              |
| 3321 | 
                  + ]  | 
              |
| 3322 | 
                  + # -> where author = 'Ken' and title like '%Perl%'  | 
              |
| 3323 | 
                  +  | 
              |
| 3324 | 
                  + # (4) Array reference[String, Hash reference]  | 
              |
| 3325 | 
                  + where => [  | 
              |
| 3326 | 
                  +    ':author{=} and :title{like}',
                 | 
              |
| 3327 | 
                  +    {author => 'Ken', title => '%Perl%'}
                 | 
              |
| 3328 | 
                  + ]  | 
              |
| 3329 | 
                  + # -> where author = 'Ken' and title like '%Perl%'  | 
              |
| 3316 | 3330 | 
                   | 
              
| 3317 | 
                  - # String  | 
              |
| 3331 | 
                  + # (5) String  | 
              |
| 3318 | 3332 | 
                  where => 'title is null'  | 
              
| 3333 | 
                  + # -> where title is null  | 
              |
| 3319 | 3334 | 
                   | 
              
| 3320 | 3335 | 
                  Where clause. See L<DBIx::Custom::Where>.  | 
              
| 3321 | 3336 | 
                   | 
              
| ... | ... | 
                  @@ -1351,6 +1351,21 @@ is_deeply($row, {$key1 => 1});
                 | 
              
| 1351 | 1351 | 
                   eval { $dbi->select(table => $table1, where => {';' => 1}) };
                 | 
              
| 1352 | 1352 | 
                  like($@, qr/safety/);  | 
              
| 1353 | 1353 | 
                   | 
              
| 1354 | 
                  +eval { $dbi->execute("drop table $table1") };
                 | 
              |
| 1355 | 
                  +$dbi->execute($create_table1);  | 
              |
| 1356 | 
                  +$dbi->insert({$key1 => 1, $key2 => 2}, table => $table1);
                 | 
              |
| 1357 | 
                  +$dbi->insert({$key1 => 3, $key2 => 4}, table => $table1);
                 | 
              |
| 1358 | 
                  +$dbi->insert({$key1 => 5, $key2 => 6}, table => $table1);
                 | 
              |
| 1359 | 
                  +  | 
              |
| 1360 | 
                  +$rows = $dbi->select(table => $table1, where => {$key1 => [1, 5]})->all;
                 | 
              |
| 1361 | 
                  +is_deeply($rows, [  | 
              |
| 1362 | 
                  +  {$key1 => 1, $key2 => 2},
                 | 
              |
| 1363 | 
                  +  {$key1 => 5, $key2 => 6}
                 | 
              |
| 1364 | 
                  +], "table");  | 
              |
| 1365 | 
                  +  | 
              |
| 1366 | 
                  +$rows = $dbi->select(table => $table1, where => {$key1 => []})->all;
                 | 
              |
| 1367 | 
                  +is_deeply($rows, [], "table");  | 
              |
| 1368 | 
                  +  | 
              |
| 1354 | 1369 | 
                  test 'fetch filter';  | 
              
| 1355 | 1370 | 
                   eval { $dbi->execute("drop table $table1") };
                 | 
              
| 1356 | 1371 | 
                  $dbi->register_filter(  |