| ... | ... |
@@ -601,16 +601,9 @@ sub insert {
|
| 601 | 601 |
my $param = @_ % 2 ? shift : undef; |
| 602 | 602 |
my %args = @_; |
| 603 | 603 |
$param ||= $args{param} || {};
|
| 604 |
- my $id = $args{id};
|
|
| 605 |
- my $primary_key = $args{primary_key};
|
|
| 606 |
- croak "insert method primary_key option " . |
|
| 607 |
- "must be specified when id is specified " . _subname |
|
| 608 |
- if defined $id && !defined $primary_key; |
|
| 609 |
- $primary_key = [$primary_key] unless ref $primary_key eq 'ARRAY'; |
|
| 610 |
- my $timestamp = $args{timestamp};
|
|
| 611 | 604 |
|
| 612 | 605 |
# Timestamp |
| 613 |
- if ($timestamp && (my $insert_timestamp = $self->insert_timestamp)) {
|
|
| 606 |
+ if ($args{timestamp} && (my $insert_timestamp = $self->insert_timestamp)) {
|
|
| 614 | 607 |
my $columns = $insert_timestamp->[0]; |
| 615 | 608 |
$columns = [$columns] unless ref $columns eq 'ARRAY'; |
| 616 | 609 |
my $value = $insert_timestamp->[1]; |
| ... | ... |
@@ -619,8 +612,8 @@ sub insert {
|
| 619 | 612 |
} |
| 620 | 613 |
|
| 621 | 614 |
# Merge parameter |
| 622 |
- if (defined $id) {
|
|
| 623 |
- my $id_param = $self->_create_param_from_id($id, $primary_key); |
|
| 615 |
+ if (defined $args{id}) {
|
|
| 616 |
+ my $id_param = $self->_create_param_from_id($args{id}, $args{primary_key});
|
|
| 624 | 617 |
$param = $self->merge_param($id_param, $param); |
| 625 | 618 |
} |
| 626 | 619 |
|
| ... | ... |
@@ -1331,6 +1324,11 @@ sub _create_bind_values {
|
| 1331 | 1324 |
|
| 1332 | 1325 |
sub _create_param_from_id {
|
| 1333 | 1326 |
my ($self, $id, $primary_keys, $table) = @_; |
| 1327 |
+ |
|
| 1328 |
+ croak "primary_key option " . |
|
| 1329 |
+ "must be specified with id option " . _subname |
|
| 1330 |
+ unless defined $primary_keys; |
|
| 1331 |
+ $primary_keys = [$primary_keys] unless ref $primary_keys eq 'ARRAY'; |
|
| 1334 | 1332 |
|
| 1335 | 1333 |
# Create parameter |
| 1336 | 1334 |
my $param = {};
|