Combine query filters instead of combining them

This commit is contained in:
2026-08-05 19:19:15 +02:00
parent 4a5ffbc9db
commit 54c28d703a
5 changed files with 23 additions and 27 deletions
+3 -3
View File
@@ -134,7 +134,7 @@ sub find_subdirs {
sub execute_query {
my ( $experiment, $queryname, $db_conf, $builds_dir, $do_notify_file,
$filter_config_name )
@filter_config_names )
= @_;
my $module = "$queryname";
@@ -150,9 +150,9 @@ sub execute_query {
or die "$module can't postprocess()";
my $querystring =
$query->( $experiment, "$builds_dir/$experiment", $filter_config_name );
$query->( $experiment, "$builds_dir/$experiment", @filter_config_names );
my $argsstring = $args->();
my $filenamestring = $filename->($filter_config_name);
my $filenamestring = $filename->(@filter_config_names);
# TODO: Pass the values instead of rewriting db.conf.
# Can also use DBI's database handle directly.
+5 -6
View File
@@ -11,11 +11,10 @@ use Filters;
use feature 'say';
sub query {
my ( $experiment, $experiment_dir, $filter_config_name ) = @_;
$filter_config_name //= '';
my ( $experiment, $experiment_dir, @filter_config_names ) = @_;
my $filters =
Filters::build_filter_clause( $experiment_dir, $filter_config_name );
Filters::build_filter_clause( $experiment_dir, @filter_config_names );
my $querystring = "SELECT
benchmark, resulttype, SUM(t.time2 - t.time1 + 1) AS faults,
@@ -43,9 +42,9 @@ ORDER BY benchmark, resulttype, SUM(t.time2 - t.time1 + 1) DESC;";
sub args { return "--batch --raw"; }
sub filename {
my ($filter_config_name) = @_;
$filter_config_name //= '';
my $suffix = length($filter_config_name) ? "_$filter_config_name" : "";
my @filter_config_names = grep { defined && length } @_;
my $suffix =
@filter_config_names ? "_" . join( "+", sort @filter_config_names ) : "";
return "faults${suffix}.csv";
}
+5 -6
View File
@@ -11,11 +11,10 @@ use Filters;
use feature 'say';
sub query {
my ( $experiment, $experiment_dir, $filter_config_name ) = @_;
$filter_config_name //= '';
my ( $experiment, $experiment_dir, @filter_config_names ) = @_;
my $filters =
Filters::build_filter_clause( $experiment_dir, $filter_config_name );
Filters::build_filter_clause( $experiment_dir, @filter_config_names );
my $querystring = "SELECT
CASE
@@ -41,9 +40,9 @@ ORDER BY count DESC;";
sub args { return "--batch --raw"; }
sub filename {
my ($filter_config_name) = @_;
$filter_config_name //= '';
my $suffix = length($filter_config_name) ? "_$filter_config_name" : "";
my @filter_config_names = grep { defined && length } @_;
my $suffix =
@filter_config_names ? "_" . join( "+", sort @filter_config_names ) : "";
return "mnemonics${suffix}.csv";
}
+5 -6
View File
@@ -11,11 +11,10 @@ use Filters;
use feature 'say';
sub query {
my ( $experiment, $experiment_dir, $filter_config_name ) = @_;
$filter_config_name //= '';
my ( $experiment, $experiment_dir, @filter_config_names ) = @_;
my $extra =
Filters::build_filter_clause( $experiment_dir, $filter_config_name );
Filters::build_filter_clause( $experiment_dir, @filter_config_names );
my $querystring = "SELECT
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
@@ -36,9 +35,9 @@ ORDER BY variant, benchmark, resulttype;";
sub args { return "-t"; }
sub filename {
my ($filter_config_name) = @_;
$filter_config_name //= '';
my $suffix = length($filter_config_name) ? "_$filter_config_name" : "";
my @filter_config_names = grep { defined && length } @_;
my $suffix =
@filter_config_names ? "_" . join( "+", sort @filter_config_names ) : "";
return "results${suffix}.txt";
}
+5 -6
View File
@@ -11,11 +11,10 @@ use Filters;
use feature 'say';
sub query {
my ( $experiment, $experiment_dir, $filter_config_name ) = @_;
$filter_config_name //= '';
my ( $experiment, $experiment_dir, @filter_config_names ) = @_;
my $extra =
Filters::build_filter_clause( $experiment_dir, $filter_config_name );
Filters::build_filter_clause( $experiment_dir, @filter_config_names );
my $querystring = "SELECT
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
@@ -36,9 +35,9 @@ ORDER BY variant, benchmark, resulttype;";
sub args { return "--batch --raw"; }
sub filename {
my ($filter_config_name) = @_;
$filter_config_name //= '';
my $suffix = length($filter_config_name) ? "_$filter_config_name" : "";
my @filter_config_names = grep { defined && length } @_;
my $suffix =
@filter_config_names ? "_" . join( "+", sort @filter_config_names ) : "";
return "resultsdata${suffix}.csv";
}