Combine query filters instead of combining them
This commit is contained in:
+16
-24
@@ -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 );
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
+5
-5
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user