# Sadly this trick is not formally documented but it is our
# best option.
+ my $cmdline_flight_cond =
+ join ' OR ',
+ (defined $specflight ? "f1.flight=$specflight" : "FALSE"),
+ map { "f1.flight=$_->{Flight}" } @refer_to_flights;
+
my $flightsq= <<END;
WITH
relevant_flights AS (
ORDER BY flight DESC
OFFSET 0
LIMIT 1000
+ ),
+ retest_flights AS (
+ SELECT DISTINCT f1.flight flight, f1.blessing blessing
+ FROM flights f1
+ JOIN jobs j USING (flight)
+ CROSS JOIN relevant_flights f0
+ WHERE ($cmdline_flight_cond)
+ AND (
+ SELECT bool_and( val LIKE f0.flight || '.%' )
+ IS TRUE
+ FROM runvars r
+ WHERE r.flight=j.flight
+ AND r.job=j.job
+ AND r.name LIKE '%buildjob'
+ )
)
SELECT flight, jobs.status
- FROM relevant_flights
+ FROM (
+ SELECT * FROM relevant_flights
+ UNION SELECT * FROM retest_flights
+ ) all_relevant_flights
$flightsq_jobs_join
WHERE (1=1)
$flightsq_jobcond