Combine query filters instead of combining them
This commit is contained in:
+11
-19
@@ -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 =
|
||||||
|
@filter_configs
|
||||||
|
? " (" . join( "+", @filter_configs ) . ")"
|
||||||
|
: "";
|
||||||
say "Running $query$config_label on $db...";
|
say "Running $query$config_label on $db...";
|
||||||
Util::execute_query( $db =~ s/smchurla_//r,
|
Util::execute_query( $db =~ s/smchurla_//r,
|
||||||
$query, $local_db_conf, $local_archive_dir, 0,
|
$query, $local_db_conf, $local_archive_dir, 0,
|
||||||
$config );
|
@filter_configs );
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
+4
-4
@@ -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, $config );
|
$remote_db_conf, $remote_builds_dir, 1, @configs );
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user