Combine query filters instead of combining them

This commit is contained in:
2026-08-05 19:15:42 +02:00
parent e067310dce
commit 4a5ffbc9db
2 changed files with 21 additions and 29 deletions
+16 -24
View File
@@ -86,10 +86,9 @@ my %handlers = (
TUI::select_from_list( "Select Queries to Run", 1, @queries ); TUI::select_from_list( "Select Queries to Run", 1, @queries );
die "No query selected" unless @selected_queries; die "No query selected" unless @selected_queries;
# Select filter configs # Select filter configs (they're combined into one)
my @filter_choices = ("None"); my @filter_choices;
my %filter_label_name; my %filter_label_name;
my @filter_configs;
my $configs = Filters::get_configs(); my $configs = Filters::get_configs();
foreach my $name ( sort keys %$configs ) { foreach my $name ( sort keys %$configs ) {
my $label = $configs->{$name}{label}; my $label = $configs->{$name}{label};
@@ -97,32 +96,25 @@ my %handlers = (
$filter_label_name{$label} = $name; $filter_label_name{$label} = $name;
} }
my @selected_filter_labels = my @selected_filter_labels =
TUI::select_from_list( "Select Filters to Apply", 1, TUI::select_from_list( "Select Filters to Apply (none = unfiltered)",
@filter_choices ); 1, @filter_choices );
die "No filter selected" unless @selected_filter_labels; my @filter_configs =
@filter_configs = (); map { $filter_label_name{$_} } @selected_filter_labels;
foreach my $label (@selected_filter_labels) {
if ( $label eq "None" ) {
push @filter_configs, '';
}
else {
push @filter_configs, $filter_label_name{$label};
}
}
# Run queries on databases # Run queries on databases
foreach my $db (@selected_dbs) { foreach my $db (@selected_dbs) {
foreach my $query (@selected_queries) { foreach my $query (@selected_queries) {
foreach my $config (@filter_configs) { Util::rewrite_file( $local_db_conf, "database=",
Util::rewrite_file( $local_db_conf, "database=", "database=$db\n" );
"database=$db\n" );
my $config_label = length($config) ? " ($config)" : ""; my $config_label =
say "Running $query$config_label on $db..."; @filter_configs
Util::execute_query( $db =~ s/smchurla_//r, ? " (" . join( "+", @filter_configs ) . ")"
$query, $local_db_conf, $local_archive_dir, 0, : "";
$config ); say "Running $query$config_label on $db...";
} Util::execute_query( $db =~ s/smchurla_//r,
$query, $local_db_conf, $local_archive_dir, 0,
@filter_configs );
} }
} }
}, },
+5 -5
View File
@@ -277,13 +277,13 @@ sub results {
my @queries = my @queries =
map { s/\.pm//gr } Util::find_files("$remote_root/scripts/Queries"); map { s/\.pm//gr } Util::find_files("$remote_root/scripts/Queries");
my @configs = ( '', Filters::get_default_configs() );
# Filters are combined into one
my @configs = Filters::get_default_configs();
for my $query (@queries) { for my $query (@queries) {
for my $config (@configs) { Util::execute_query( $experiment, $query,
Util::execute_query( $experiment, $query, $remote_db_conf, $remote_builds_dir, 1, @configs );
$remote_db_conf, $remote_builds_dir, 1, $config );
}
} }
} }