| ... | ... | 
                  @@ -1,4 +1,5 @@  | 
              
| 1 | 1 | 
                  0.1701  | 
              
| 2 | 
                  + - simplified arguments check  | 
              |
| 2 | 3 | 
                  - added EXPERIMENTAL each_table method  | 
              
| 3 | 4 | 
                  - select method column option [COLUMN, as => ALIAS] format is DEPRECATED!  | 
              
| 4 | 5 | 
                  changed to [COLUMN => ALIAS]  | 
              
| ... | ... | 
                  @@ -19,9 +19,6 @@ use Encode qw/encode encode_utf8 decode_utf8/;  | 
              
| 19 | 19 | 
                   use constant DEBUG => $ENV{DBIX_CUSTOM_DEBUG} || 0;
                 | 
              
| 20 | 20 | 
                   use constant DEBUG_ENCODING => $ENV{DBIX_CUSTOM_DEBUG_ENCODING} || 'UTF-8';
                 | 
              
| 21 | 21 | 
                   | 
              
| 22 | 
                  -our @COMMON_ARGS = qw/bind_type table query filter id primary_key  | 
              |
| 23 | 
                  - type_rule_off type_rule1_off type_rule2_off type table_alias/;  | 
              |
| 24 | 
                  -  | 
              |
| 25 | 22 | 
                  has [qw/connector dsn password quote user/],  | 
              
| 26 | 23 | 
                  cache => 0,  | 
              
| 27 | 24 | 
                       cache_method => sub {
                 | 
              
| ... | ... | 
                  @@ -170,18 +167,9 @@ sub dbh {
                 | 
              
| 170 | 167 | 
                  }  | 
              
| 171 | 168 | 
                  }  | 
              
| 172 | 169 | 
                   | 
              
| 173 | 
                  -our %DELETE_ARGS = map { $_ => 1 } @COMMON_ARGS,
                 | 
              |
| 174 | 
                  - qw/where append allow_delete_all where_param prefix/;  | 
              |
| 175 | 
                  -  | 
              |
| 176 | 170 | 
                   sub delete {
                 | 
              
| 177 | 171 | 
                  my ($self, %args) = @_;  | 
              
| 178 | 172 | 
                   | 
              
| 179 | 
                  - # Check arguments  | 
              |
| 180 | 
                  -    foreach my $name (keys %args) {
                 | 
              |
| 181 | 
                  -        croak qq{"$name" is wrong option } . _subname
                 | 
              |
| 182 | 
                  -          unless $DELETE_ARGS{$name};
                 | 
              |
| 183 | 
                  - }  | 
              |
| 184 | 
                  -  | 
              |
| 185 | 173 | 
                  # Arguments  | 
              
| 186 | 174 | 
                       my $table = $args{table} || '';
                 | 
              
| 187 | 175 | 
                       croak qq{"table" option must be specified. } . _subname
                 | 
              
| ... | ... | 
                  @@ -297,7 +285,10 @@ sub each_table {
                 | 
              
| 297 | 285 | 
                  }  | 
              
| 298 | 286 | 
                  }  | 
              
| 299 | 287 | 
                   | 
              
| 300 | 
                  -our %EXECUTE_ARGS = map { $_ => 1 } @COMMON_ARGS, 'param';
                 | 
              |
| 288 | 
                  +our %VALID_ARGS = map { $_ => 1 } qw/append allow_delete_all
                 | 
              |
| 289 | 
                  + allow_update_all bind_type column filter id join param prefix primary_key  | 
              |
| 290 | 
                  + query relation table table_alias type type_rule_off type_rule1_off  | 
              |
| 291 | 
                  + type_rule2_off wrap/;  | 
              |
| 301 | 292 | 
                   | 
              
| 302 | 293 | 
                   sub execute {
                 | 
              
| 303 | 294 | 
                  my $self = shift;  | 
              
| ... | ... | 
                  @@ -326,7 +317,7 @@ sub execute {
                 | 
              
| 326 | 317 | 
                  # Check argument names  | 
              
| 327 | 318 | 
                       foreach my $name (keys %args) {
                 | 
              
| 328 | 319 | 
                           croak qq{"$name" is wrong option } . _subname
                 | 
              
| 329 | 
                  -          unless $EXECUTE_ARGS{$name};
                 | 
              |
| 320 | 
                  +          unless $VALID_ARGS{$name};
                 | 
              |
| 330 | 321 | 
                  }  | 
              
| 331 | 322 | 
                   | 
              
| 332 | 323 | 
                  # Create query  | 
              
| ... | ... | 
                  @@ -481,8 +472,6 @@ sub execute {
                 | 
              
| 481 | 472 | 
                       else { return $affected }
                 | 
              
| 482 | 473 | 
                  }  | 
              
| 483 | 474 | 
                   | 
              
| 484 | 
                  -our %INSERT_ARGS = map { $_ => 1 } @COMMON_ARGS, qw/param/;
                 | 
              |
| 485 | 
                  -  | 
              |
| 486 | 475 | 
                   sub insert {
                 | 
              
| 487 | 476 | 
                  my $self = shift;  | 
              
| 488 | 477 | 
                   | 
              
| ... | ... | 
                  @@ -492,7 +481,7 @@ sub insert {
                 | 
              
| 492 | 481 | 
                  my %args = @_;  | 
              
| 493 | 482 | 
                       my $table  = delete $args{table};
                 | 
              
| 494 | 483 | 
                       croak qq{"table" option must be specified } . _subname
                 | 
              
| 495 | 
                  - unless $table;  | 
              |
| 484 | 
                  + unless defined $table;  | 
              |
| 496 | 485 | 
                       my $p = delete $args{param} || {};
                 | 
              
| 497 | 486 | 
                  $param ||= $p;  | 
              
| 498 | 487 | 
                       my $append = delete $args{append} || '';
                 | 
              
| ... | ... | 
                  @@ -504,12 +493,6 @@ sub insert {
                 | 
              
| 504 | 493 | 
                  $primary_key = [$primary_key] unless ref $primary_key eq 'ARRAY';  | 
              
| 505 | 494 | 
                       my $prefix = delete $args{prefix};
                 | 
              
| 506 | 495 | 
                   | 
              
| 507 | 
                  - # Check arguments  | 
              |
| 508 | 
                  -    foreach my $name (keys %args) {
                 | 
              |
| 509 | 
                  -        croak qq{"$name" is wrong option } . _subname
                 | 
              |
| 510 | 
                  -          unless $INSERT_ARGS{$name};
                 | 
              |
| 511 | 
                  - }  | 
              |
| 512 | 
                  -  | 
              |
| 513 | 496 | 
                  # Merge parameter  | 
              
| 514 | 497 | 
                       if (defined $id) {
                 | 
              
| 515 | 498 | 
                  my $id_param = $self->_create_param_from_id($id, $primary_key);  | 
              
| ... | ... | 
                  @@ -767,9 +750,6 @@ sub register_filter {
                 | 
              
| 767 | 750 | 
                  return $self;  | 
              
| 768 | 751 | 
                  }  | 
              
| 769 | 752 | 
                   | 
              
| 770 | 
                  -our %SELECT_ARGS = map { $_ => 1 } @COMMON_ARGS,
                 | 
              |
| 771 | 
                  - qw/column where relation join param where_param wrap prefix/;  | 
              |
| 772 | 
                  -  | 
              |
| 773 | 753 | 
                   sub select {
                 | 
              
| 774 | 754 | 
                  my ($self, %args) = @_;  | 
              
| 775 | 755 | 
                   | 
              
| ... | ... | 
                  @@ -800,12 +780,6 @@ sub select {
                 | 
              
| 800 | 780 | 
                  $primary_key = [$primary_key] unless ref $primary_key eq 'ARRAY';  | 
              
| 801 | 781 | 
                       my $prefix = delete $args{prefix};
                 | 
              
| 802 | 782 | 
                   | 
              
| 803 | 
                  - # Check arguments  | 
              |
| 804 | 
                  -    foreach my $name (keys %args) {
                 | 
              |
| 805 | 
                  -        croak qq{"$name" is wrong option } . _subname
                 | 
              |
| 806 | 
                  -          unless $SELECT_ARGS{$name};
                 | 
              |
| 807 | 
                  - }  | 
              |
| 808 | 
                  -  | 
              |
| 809 | 783 | 
                  # Add relation tables(DEPRECATED!);  | 
              
| 810 | 784 | 
                  $self->_add_relation_table($tables, $relation);  | 
              
| 811 | 785 | 
                   | 
              
| ... | ... | 
                  @@ -1034,9 +1008,6 @@ sub type_rule {
                 | 
              
| 1034 | 1008 | 
                       return $self->{type_rule} || {};
                 | 
              
| 1035 | 1009 | 
                  }  | 
              
| 1036 | 1010 | 
                   | 
              
| 1037 | 
                  -our %UPDATE_ARGS = map { $_ => 1 } @COMMON_ARGS,
                 | 
              |
| 1038 | 
                  - qw/param where allow_update_all where_param prefix/;  | 
              |
| 1039 | 
                  -  | 
              |
| 1040 | 1011 | 
                   sub update {
                 | 
              
| 1041 | 1012 | 
                  my $self = shift;  | 
              
| 1042 | 1013 | 
                   | 
              
| ... | ... | 
                  @@ -1060,12 +1031,6 @@ sub update {
                 | 
              
| 1060 | 1031 | 
                  if defined $id && !defined $primary_key;  | 
              
| 1061 | 1032 | 
                  $primary_key = [$primary_key] unless ref $primary_key eq 'ARRAY';  | 
              
| 1062 | 1033 | 
                       my $prefix = delete $args{prefix};
                 | 
              
| 1063 | 
                  -  | 
              |
| 1064 | 
                  - # Check argument names  | 
              |
| 1065 | 
                  -    foreach my $name (keys %args) {
                 | 
              |
| 1066 | 
                  -        croak qq{"$name" is wrong option } . _subname
                 | 
              |
| 1067 | 
                  -          unless $UPDATE_ARGS{$name};
                 | 
              |
| 1068 | 
                  - }  | 
              |
| 1069 | 1034 | 
                   | 
              
| 1070 | 1035 | 
                  # Update clause  | 
              
| 1071 | 1036 | 
                  my $update_clause = $self->update_param($param);  | 
              
| ... | ... | 
                  @@ -1536,7 +1501,7 @@ sub apply_filter {
                 | 
              
| 1536 | 1501 | 
                  }  | 
              
| 1537 | 1502 | 
                   | 
              
| 1538 | 1503 | 
                  # DEPRECATED!  | 
              
| 1539 | 
                  -our %SELECT_AT_ARGS = (%SELECT_ARGS, where => 1, primary_key => 1);  | 
              |
| 1504 | 
                  +our %SELECT_AT_ARGS = (%VALID_ARGS, where => 1, primary_key => 1);  | 
              |
| 1540 | 1505 | 
                   sub select_at {
                 | 
              
| 1541 | 1506 | 
                  my ($self, %args) = @_;  | 
              
| 1542 | 1507 | 
                   | 
              
| ... | ... | 
                  @@ -1566,7 +1531,7 @@ sub select_at {
                 | 
              
| 1566 | 1531 | 
                  }  | 
              
| 1567 | 1532 | 
                   | 
              
| 1568 | 1533 | 
                  # DEPRECATED!  | 
              
| 1569 | 
                  -our %DELETE_AT_ARGS = (%DELETE_ARGS, where => 1, primary_key => 1);  | 
              |
| 1534 | 
                  +our %DELETE_AT_ARGS = (%VALID_ARGS, where => 1, primary_key => 1);  | 
              |
| 1570 | 1535 | 
                   sub delete_at {
                 | 
              
| 1571 | 1536 | 
                  my ($self, %args) = @_;  | 
              
| 1572 | 1537 | 
                   | 
              
| ... | ... | 
                  @@ -1590,7 +1555,7 @@ sub delete_at {
                 | 
              
| 1590 | 1555 | 
                  }  | 
              
| 1591 | 1556 | 
                   | 
              
| 1592 | 1557 | 
                  # DEPRECATED!  | 
              
| 1593 | 
                  -our %UPDATE_AT_ARGS = (%UPDATE_ARGS, where => 1, primary_key => 1);  | 
              |
| 1558 | 
                  +our %UPDATE_AT_ARGS = (%VALID_ARGS, where => 1, primary_key => 1);  | 
              |
| 1594 | 1559 | 
                   sub update_at {
                 | 
              
| 1595 | 1560 | 
                  my $self = shift;  | 
              
| 1596 | 1561 | 
                   | 
              
| ... | ... | 
                  @@ -1619,7 +1584,7 @@ sub update_at {
                 | 
              
| 1619 | 1584 | 
                  }  | 
              
| 1620 | 1585 | 
                   | 
              
| 1621 | 1586 | 
                  # DEPRECATED!  | 
              
| 1622 | 
                  -our %INSERT_AT_ARGS = (%INSERT_ARGS, where => 1, primary_key => 1);  | 
              |
| 1587 | 
                  +our %INSERT_AT_ARGS = (%VALID_ARGS, where => 1, primary_key => 1);  | 
              |
| 1623 | 1588 | 
                   sub insert_at {
                 | 
              
| 1624 | 1589 | 
                  my $self = shift;  | 
              
| 1625 | 1590 | 
                   | 
              
| ... | ... | 
                  @@ -350,7 +350,7 @@ is_deeply($rows, [{key1 => 1, key2 => 22, key3 => 3, key4 => 4, key5 => 5},
                 | 
              
| 350 | 350 | 
                   | 
              
| 351 | 351 | 
                   $result = $dbi->update(table => 'table1', param => {key2 => 11}, where => {key1 => 1}, append => '   ');
                 | 
              
| 352 | 352 | 
                   | 
              
| 353 | 
                  -eval{$dbi->update(table => 'table1', noexist => 1)};
                 | 
              |
| 353 | 
                  +eval{$dbi->update(table => 'table1', where => {key1 => 1}, noexist => 1)};
                 | 
              |
| 354 | 354 | 
                  like($@, qr/noexist/, "invalid");  | 
              
| 355 | 355 | 
                   | 
              
| 356 | 356 | 
                   eval{$dbi->update(table => 'table1')};
                 | 
              
| ... | ... | 
                  @@ -483,7 +483,7 @@ $dbi->delete(table => 'table1', where => {key1 => 1, key2 => 2});
                 | 
              
| 483 | 483 | 
                  $rows = $dbi->select(table => 'table1')->all;  | 
              
| 484 | 484 | 
                   is_deeply($rows, [{key1 => 3, key2 => 4}], "delete multi key");
                 | 
              
| 485 | 485 | 
                   | 
              
| 486 | 
                  -eval{$dbi->delete(table => 'table1', noexist => 1)};
                 | 
              |
| 486 | 
                  +eval{$dbi->delete(table => 'table1', where => {key1 => 1}, noexist => 1)};
                 | 
              |
| 487 | 487 | 
                  like($@, qr/noexist/, "invalid");  | 
              
| 488 | 488 | 
                   | 
              
| 489 | 489 | 
                   $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 |