Aniki
view release on metacpan or search on metacpan
lib/Aniki.pm view on Meta::CPAN
$self->execute($sql, @bind);
return;
}
sub filter_on_insert {
my ($self, $table_name, $row) = @_;
$row = $self->filter->apply_trigger(insert => $table_name, $row);
return $self->filter->deflate_row($table_name, $row);
}
sub update {
my ($self, $table_name, $set, $where, $opt) = @_;
# migrate for ($self, $row, $set, $opt)
if (blessed $_[1] && $_[1]->isa('Aniki::Row')) {
my $row = $_[1];
$table_name = $row->table_name;
$set = $_[2];
$where = $self->_where_row_cond($row->table, $row->row_data);
$opt = $_[3];
}
lib/Aniki.pm view on Meta::CPAN
my $table = $self->schema->get_table($table_name);
if ($table) {
$set = $self->_bind_sql_type_to_args($table, $set);
$where = $self->_bind_sql_type_to_args($table, $where);
}
my ($sql, @bind) = $self->query_builder->update($table_name, $set, $where);
return $self->execute($sql, @bind)->rows;
}
sub update_and_fetch_row {
my ($self, $row, $set) = @_;
croak '(Aniki#update_and_fetch_row) condition must be a Aniki::Row object.'
unless blessed $row && $row->isa('Aniki::Row');
my $emulated_row_data = $self->_update_and_emulate_row_data($row, $set);
my $where = $self->_where_row_cond($row->table, $emulated_row_data);
return $self->select($row->table_name, $where, { limit => 1, suppress_result_objects => 1 })->[0];
}
sub update_and_emulate_row {
my ($self, $row, $set) = @_;
croak '(Aniki#update_and_emulate_row) condition must be a Aniki::Row object.' unless blessed $row && $row->isa('Aniki::Row');
my $emulated_row_data = $self->_update_and_emulate_row_data($row, $set);
return $emulated_row_data if $self->suppress_row_objects;
return $self->guess_row_class($row->table_name)->new(
table_name => $row->table_name,
handler => $self,
row_data => $emulated_row_data,
lib/Aniki/QueryBuilder/Canonical.pm view on Meta::CPAN
sub insert {
my ($self, $table, $values, $opt) = @_;
if (ref $values eq 'HASH') {
$values = [
map { $_ => $values->{$_} } sort keys %$values
];
}
return $self->SUPER::insert($table, $values, $opt);
}
sub update {
my ($self, $table, $args, $where) = @_;
if (ref $args eq 'HASH') {
$args = [
map { $_ => $args->{$_} } sort keys %$args
];
}
if (ref $where eq 'HASH') {
$where = [
map { $_ => $where->{$_} } sort keys %$where
];
( run in 0.745 second using v1.01-cache-2.11-cpan-95122f20152 )