@@ -227,19 +227,30 @@ END
AND flight = ?
END
- my $sth= db_prepare(<<END);
-
- SELECT url.val AS uval,
+ my $qtxt_common_results = <<END;
+ rev.name AS revname,
rev.val AS rval,
rev.job AS job,
${\ other_revision_job_suffix('rev.job','rev.use',' ') } AS othrev,
- url.name AS longname
-
+END
+ my $qtxt_common_tables = <<END;
FROM tmp_build_info AS rev
+END
+ my $qtxt_common_rev_condition = <<END;
+ (rev.name LIKE E'built\\_revision\\_%' OR
+ rev.name LIKE E'revision\\_%')
+END
+
+ my $sth= db_prepare(<<END);
+ SELECT
+$qtxt_common_results
+ url.val AS uval
+
+$qtxt_common_tables
CROSS JOIN tmp_build_info AS url
- WHERE (rev.name LIKE E'built\\_revision\\_%' OR
- rev.name LIKE E'revision\\_%')
+ WHERE
+$qtxt_common_rev_condition
AND url.name LIKE E'tree\\_%'
AND url.use = rev.use
AND url.job = rev.job
@@ -247,7 +258,6 @@ END
rev.name = 'revision_' || substr(url.name,6))
ORDER by url.val;
-
END
$sth->execute();
my $row;
@@ -255,7 +265,7 @@ END
my (@ttreenames, @ttreeurls, @trevisions);
while ($row= $sth->fetchrow_hashref()) {
next if $row->{othrev} eq 'DISCARD';
- $row->{longname} =~ m/^tree_/ or die "$row->{longname} ?";
+ $row->{revname} =~ m/^(?:built_)?revision_/ or die "$row->{revname} ?";
my $name= $'; #'
print DEBUG " $flight.$row->{job} uval=$row->{uval}".
" rval=$row->{rval} name=$name othrev=\`$row->{othrev}'\n";
Break out various pieces that we are going to need to reuse for the other version of this query (which won't have the url join). Also, rather than retrieving the `tree_<tree>' runvar and calculating the tree name from that, use the `[built_]revision_<tree>' runvar from rev. No overall functional change. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> --- cs-bisection-step | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-)