Update filters for queries that aggregate separately
This commit is contained in:
@@ -153,8 +153,11 @@ sub get_default_configs {
|
|||||||
return @DEFAULT_CONFIGS;
|
return @DEFAULT_CONFIGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub build_filter_clause {
|
# Builds the filters for regions whose column matches $col_filter.
|
||||||
my ( $experiment_dir, @config_names ) = @_;
|
# Queries that aggreate separately have to apply the data and instruction
|
||||||
|
# filters separately as well.
|
||||||
|
sub build_filter_clause_restricted {
|
||||||
|
my ( $experiment_dir, $col_filter, @config_names ) = @_;
|
||||||
|
|
||||||
# Drop empty ones, rest is combined
|
# Drop empty ones, rest is combined
|
||||||
@config_names = grep { defined && length } @config_names;
|
@config_names = grep { defined && length } @config_names;
|
||||||
@@ -199,6 +202,7 @@ sub build_filter_clause {
|
|||||||
for my $region (@$regions) {
|
for my $region (@$regions) {
|
||||||
my ( $start, $end, $col ) = $resolve->($region);
|
my ( $start, $end, $col ) = $resolve->($region);
|
||||||
next unless defined $start;
|
next unless defined $start;
|
||||||
|
next unless $col =~ $col_filter;
|
||||||
|
|
||||||
if ($invert) {
|
if ($invert) {
|
||||||
push @keep_terms, "$col BETWEEN $start AND @{[$end - 1]}";
|
push @keep_terms, "$col BETWEEN $start AND @{[$end - 1]}";
|
||||||
@@ -218,4 +222,11 @@ sub build_filter_clause {
|
|||||||
return "\nAND " . join( "\nAND ", @filters );
|
return "\nAND " . join( "\nAND ", @filters );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub build_filter_clause {
|
||||||
|
my ( $experiment_dir, @config_names ) = @_;
|
||||||
|
|
||||||
|
return build_filter_clause_restricted( $experiment_dir, qr//,
|
||||||
|
@config_names );
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
Reference in New Issue
Block a user