package Results; use strict; use warnings; use diagnostics; use FindBin; use lib "$FindBin::Bin/../Modules"; use Filters; use feature 'say'; sub query { my ( $experiment, $experiment_dir, $filter_config_name ) = @_; $filter_config_name //= ''; my $extra = Filters::build_filter_clause( $experiment_dir, $filter_config_name ); my $querystring = "SELECT benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults FROM variant v JOIN trace t ON v.id = t.variant_id JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_physical_address = t.data_physical_address JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id JOIN fsppilot p ON r.pilot_id = p.id WHERE v.variant = '$experiment'$extra GROUP BY v.id, resulttype ORDER BY variant, benchmark, resulttype;"; say $querystring; return $querystring; } sub args { return "-t"; } sub filename { my ($filter_config_name) = @_; $filter_config_name //= ''; my $suffix = length($filter_config_name) ? "_$filter_config_name" : ""; return "results${suffix}.txt"; } sub postprocess { } 1;