package Queries::FaultsFailed; use strict; use warnings; use diagnostics; sub query { my ($experiment) = @_; my $resulttype = 'FAIL_MARKER'; return "SELECT CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address, SUM(t.time2 - t.time1 + 1) AS total_results FROM trace t JOIN variant v ON v.id = t.variant_id JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id JOIN fsppilot p ON p.id = r.pilot_id WHERE v.variant = '$experiment' AND r.resulttype = '$resulttype' GROUP BY p.injection_instr_absolute ORDER BY SUM(t.time2 - t.time1 + 1) DESC;" } sub args { return "--batch --raw"; } sub filename { return "faults_failed.csv"; } sub postprocess { $_[0] =~ s/\t/,/g; } 1;