diff --git a/scripts/menu.pl b/scripts/menu.pl index 00a27c9..a1809e2 100644 --- a/scripts/menu.pl +++ b/scripts/menu.pl @@ -86,10 +86,9 @@ my %handlers = ( TUI::select_from_list( "Select Queries to Run", 1, @queries ); die "No query selected" unless @selected_queries; - # Select filter configs - my @filter_choices = ("None"); + # Select filter configs (they're combined into one) + my @filter_choices; my %filter_label_name; - my @filter_configs; my $configs = Filters::get_configs(); foreach my $name ( sort keys %$configs ) { my $label = $configs->{$name}{label}; @@ -97,32 +96,25 @@ my %handlers = ( $filter_label_name{$label} = $name; } my @selected_filter_labels = - TUI::select_from_list( "Select Filters to Apply", 1, - @filter_choices ); - die "No filter selected" unless @selected_filter_labels; - @filter_configs = (); - foreach my $label (@selected_filter_labels) { - if ( $label eq "None" ) { - push @filter_configs, ''; - } - else { - push @filter_configs, $filter_label_name{$label}; - } - } + TUI::select_from_list( "Select Filters to Apply (none = unfiltered)", + 1, @filter_choices ); + my @filter_configs = + map { $filter_label_name{$_} } @selected_filter_labels; # Run queries on databases foreach my $db (@selected_dbs) { foreach my $query (@selected_queries) { - foreach my $config (@filter_configs) { - Util::rewrite_file( $local_db_conf, "database=", - "database=$db\n" ); + Util::rewrite_file( $local_db_conf, "database=", + "database=$db\n" ); - my $config_label = length($config) ? " ($config)" : ""; - say "Running $query$config_label on $db..."; - Util::execute_query( $db =~ s/smchurla_//r, - $query, $local_db_conf, $local_archive_dir, 0, - $config ); - } + my $config_label = + @filter_configs + ? " (" . join( "+", @filter_configs ) . ")" + : ""; + say "Running $query$config_label on $db..."; + Util::execute_query( $db =~ s/smchurla_//r, + $query, $local_db_conf, $local_archive_dir, 0, + @filter_configs ); } } }, diff --git a/scripts/runner.pl b/scripts/runner.pl index a92bffd..254f81a 100644 --- a/scripts/runner.pl +++ b/scripts/runner.pl @@ -277,13 +277,13 @@ sub results { my @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 $config (@configs) { - Util::execute_query( $experiment, $query, - $remote_db_conf, $remote_builds_dir, 1, $config ); - } + Util::execute_query( $experiment, $query, + $remote_db_conf, $remote_builds_dir, 1, @configs ); } }