BenchmarkAnything-Storage-Backend-SQL
view release on metacpan or search on metacpan
lib/BenchmarkAnything/Storage/Backend/SQL/Query/common.pm view on Meta::CPAN
sub select_unit {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
SELECT bench_unit_id
FROM $or_self->{config}{tables}{unit_table}
WHERE bench_unit = ?
", @a_vals );
}
sub select_addtype {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
SELECT bench_additional_type_id
FROM $or_self->{config}{tables}{additional_type_table}
WHERE bench_additional_type = ?
", @a_vals );
}
sub select_addvalue {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
SELECT bench_additional_value_id
FROM $or_self->{config}{tables}{additional_value_table}
WHERE bench_additional_type_id = ? AND bench_additional_value ".(defined($a_vals[1]) ? '= ?' : 'IS NULL')."
", @a_vals );
}
sub select_addtyperelation {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
SELECT bench_id, bench_additional_type_id, created_at
FROM $or_self->{config}{tables}{additional_type_relation_table}
WHERE bench_id = ? AND bench_additional_type_id = ?
", @a_vals );
}
sub insert_raw_bench_bundle {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
INSERT INTO raw_bench_bundles
(raw_bench_bundle_serialized)
VALUES ( ? )
", @a_vals );
}
sub copy_benchmark_backup_value {
my ( $or_self, $hr_vals ) = @_;
for my $s_param (qw/ new_bench_value_id old_bench_value_id /) {
if (! $hr_vals->{$s_param} ) {
require Carp;
Carp::confess("missing parameter '$s_param'");
return;
}
}
return $or_self->execute_query( "
INSERT INTO $or_self->{config}{tables}{benchmark_backup_value_table}
( bench_value_id, bench_id, bench_subsume_type_id, bench_value, active, created_at )
SELECT
?, bench_id, bench_subsume_type_id, bench_value, active, created_at
FROM
$or_self->{config}{tables}{benchmark_value_table}
WHERE
bench_value_id = ?
", @{$hr_vals}{qw/ new_bench_value_id old_bench_value_id /} );
}
sub copy_benchmark_backup_additional_relations {
my ( $or_self, $hr_vals ) = @_;
for my $s_param (qw/ new_bench_value_id old_bench_value_id /) {
if (! $hr_vals->{$s_param} ) {
require Carp;
Carp::confess("missing parameter '$s_param'");
return;
}
}
return $or_self->execute_query( "
INSERT INTO $or_self->{config}{tables}{backup_additional_relation_table}
( bench_backup_value_id, bench_additional_value_id, active, created_at )
SELECT
?, bench_additional_value_id, active, created_at
FROM
$or_self->{config}{tables}{additional_relation_table}
WHERE
bench_value_id = ?
", @{$hr_vals}{qw/ new_bench_value_id old_bench_value_id /} );
}
sub update_benchmark_backup_value {
my ( $or_self, $hr_vals ) = @_;
return $or_self->execute_query( "
UPDATE $or_self->{config}{tables}{benchmark_backup_value_table}
SET bench_value_id = ?
WHERE bench_value_id = ?
", @{$hr_vals}{qw/
new_bench_value_id
old_bench_value_id
/} );
}
sub start_processing_raw_bench_bundle {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
UPDATE raw_bench_bundles
SET processing = 1
WHERE raw_bench_bundle_id = ?
", @a_vals );
}
sub start_processing_raw_bench_bundle2 {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
UPDATE raw_bench_bundles
SET processing = 1
WHERE raw_bench_bundle_id IN (".join(',', ('?') x @a_vals).")
", @a_vals );
}
sub update_raw_bench_bundle_set_processed {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
UPDATE raw_bench_bundles
SET processed=1,
processing=0
WHERE processed=0 AND
processing=1 AND
raw_bench_bundle_id = ?
", @a_vals );
}
sub update_raw_bench_bundle_set_processed2 {
my ( $or_self, @a_vals ) = @_;
return $or_self->execute_query( "
UPDATE raw_bench_bundles
SET processed=1,
processing=0
WHERE processed=0 AND
processing=1 AND
raw_bench_bundle_id IN (".join(',', ('?') x @a_vals).")
", @a_vals );
( run in 1.455 second using v1.01-cache-2.11-cpan-d8267643d1d )