Fix logging for extraction code (#6622)

fix extraction code, fix logging for extraction code,
This commit is contained in:
Kyle Lahnakoski 2020-07-17 14:02:32 -04:00 коммит произвёл GitHub
Родитель 507881a7b8
Коммит 5c3fd90ebb
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
15 изменённых файлов: 424 добавлений и 428 удалений

Просмотреть файл

@ -19,7 +19,6 @@ jobs:
- yarn lint
# `yarn lint` only checks the formatting of JS/JSX, this will also check CSS/HTML/JSON/Markdown/YAML.
- yarn format:check
- yarn prettier
- yarn markdownlint
- yarn test:coverage
- yarn codecov

Просмотреть файл

@ -51,13 +51,13 @@ blessings==1.7 \
--hash=sha256:b1fdd7e7a675295630f9ae71527a8ebc10bfefa236b3d6aa4932ee4462c17ba3 \
--hash=sha256:caad5211e7ba5afe04367cdd4cfc68fa886e2e08f6f35e76b7387d2109ccea6e \
# via mozlog
boto3==1.14.20 \
--hash=sha256:e6ab26155b2f83798218106580ab2b3cd47691e25aba912e0351502eda8d86e0 \
--hash=sha256:f7aa33b382cc9e73ef7f590b885e72732ad2bd9628c5e312c9aeb8ba011c6820 \
boto3==1.14.21 \
--hash=sha256:5c2fa8ac4e4a4800d02b11d75b71bb8fcc190d6fbb15d957f99661414e655e10 \
--hash=sha256:b093e00e98ab31f98d444efad1738ab4795226f0b05abc6655d747f286f9baf9 \
# via adr
botocore==1.17.20 \
--hash=sha256:d1bf8c2085719221683edf54913c6155c68705f26ab4a72c45e4de5176a8cf7b \
--hash=sha256:e7fee600092b51ca8016c541d5c50a8b39179d5c184ec3fd430400d99ba0c55a \
botocore==1.17.21 \
--hash=sha256:9c4694e413c344ca2fb1175f33a97265dbf7f8a5943fbeafde3161d080b72308 \
--hash=sha256:fcbcda16c815744482be4206ed098f4d08f2dfddfb1fcfa0f822f4cfd94adb85 \
# via boto3, s3transfer
brotli==1.0.7 \
--hash=sha256:0538dc1744fd17c314d2adc409ea7d1b779783b89fd95bcfb0c2acc93a6ea5a7 \
@ -205,9 +205,9 @@ google-api-core==1.21.0 \
--hash=sha256:7b65e8e5ee59bd7517eab2bf9b3008e7b50fd9fb591d4efd780ead6859cd904b \
--hash=sha256:fea9a434068406ddabe2704988d24d6c5bde3ecfc40823a34f43892d017b14f6 \
# via google-cloud-bigquery, google-cloud-core
google-auth==1.19.0 \
--hash=sha256:b0e4ecc40ed18b8d12141df6af772efa4aba65e7eda470c258581443418ee753 \
--hash=sha256:eefbb977d026d617e5d33b82b6c266d3be3bb7b44d370b692dded7319121f842 \
google-auth==1.19.1 \
--hash=sha256:167b1bcc51da05d32a1a843815967b4fa81a556e4c9c3377e766f136a2a30f65 \
--hash=sha256:2b6bb2a6578233bb78f755fc7eb54e0b71f8eb1314d25baeef93b88ad10524fa \
# via google-api-core, google-cloud-bigquery
google-cloud-bigquery==1.25.0 \
--hash=sha256:7466163fa6bd9c923944c566dcafa5191214db8896657ee5feb1859a63e0ba2a \
@ -259,11 +259,11 @@ jsonschema==3.2.0 \
--hash=sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163 \
--hash=sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a \
# via -r requirements/common.in
jx-bigquery==3.81.20196 \
--hash=sha256:50234981c9c1c631472a96a14e09fc84777235c3bf841641b05d2fc693d95001 \
jx-bigquery==3.85.20198 \
--hash=sha256:4f34274e99b601ef8cac1ae9f9864502a172155c35d9abb0765b197cfc917c7d \
# via -r requirements/common.in
jx-mysql==3.80.20196 \
--hash=sha256:3b8ff76d1f0aeed77e94e24b73f079e214318d04944d061ad68f1c029d832698 \
jx-mysql==3.85.20198 \
--hash=sha256:fc5cabf864f921a1013ecb74c026fe3bd05a05d690f28f3dd7930c0a6b453387 \
# via -r requirements/common.in
jx-python==3.78.20194 \
--hash=sha256:9f7d66e85d3e2d32e2e0cc4e670506fa5b66f3614532527f8ade4dc0fea1fbe5 \
@ -318,11 +318,11 @@ markupsafe==1.1.1 \
mo-collections==3.77.20190 \
--hash=sha256:536fbf049d1e349f25193e0334bbda147b9886dca9027d7672875474ee0bdac4 \
# via jx-mysql, jx-python, mo-testing
mo-dots==3.78.20194 \
--hash=sha256:7413b47c3105af64ab14bf7bfdd87b922dae7b9c4f3db10b5a234173e6b4298c \
mo-dots==3.85.20198 \
--hash=sha256:a34342144a45be7c44a11288536d093342db0b62595d13e25b5db4661fce8ea4 \
# via jx-bigquery, jx-mysql, jx-python, mo-collections, mo-files, mo-http, mo-json, mo-json-config, mo-kwargs, mo-logs, mo-math, mo-sql, mo-testing, mo-threads, mo-times
mo-files==3.80.20196 \
--hash=sha256:0a59a44392c9e35db97d7dc451867eda403bc9b43104626d05ab1914c87ec879 \
mo-files==3.85.20198 \
--hash=sha256:2fc8aab99c3e5e09ac2585014331d0f217b9ffea02aedf4d720e7d40880f18ae \
# via jx-mysql, jx-python, mo-http, mo-json-config
mo-future==3.71.20168 \
--hash=sha256:a74073a3eaa67b7401f07edb74dfe81a5911dee7beb606621167892c38e4a340 \
@ -336,12 +336,12 @@ mo-json-config==3.77.20190 \
mo-json==3.80.20196 \
--hash=sha256:5f0a6571ac66e93dcb3e4cb6fa3eed81a07128e328ddc58544417709749963a6 \
# via jx-bigquery, jx-mysql, jx-python, mo-http, mo-json-config
mo-kwargs==3.77.20190 \
--hash=sha256:01e6c9587066d121169c38bc4b97ec441e0599a4683b0382b33fda0e6bae4bb9 \
# via jx-bigquery, jx-mysql, jx-python, mo-collections, mo-http
mo-logs==3.78.20194 \
--hash=sha256:051581b05aa6b97e04ea5e97524143b79fed940511fd24ab35300f9deb287f29 \
# via jx-bigquery, jx-mysql, jx-python, mo-collections, mo-files, mo-http, mo-json, mo-json-config, mo-kwargs, mo-math, mo-sql, mo-testing, mo-threads, mo-times
mo-kwargs==3.82.20197 \
--hash=sha256:9b3972a3ea95637c4e52de7e7897900622e30277c035506b9bedb9670aa26e41 \
# via jx-bigquery, jx-mysql, jx-python, mo-collections, mo-http, mo-logs
mo-logs==3.85.20198 \
--hash=sha256:971e9888e2bfec0ce44ecff081590e1ba1a6ea6eb48d162b81e3435f0a9a8688 \
# via jx-bigquery, jx-mysql, jx-python, mo-collections, mo-files, mo-http, mo-json, mo-json-config, mo-math, mo-sql, mo-testing, mo-threads, mo-times
mo-math==3.77.20190 \
--hash=sha256:474f80b97d0ae90434c5fc7fb49806341933ae0db930ad09a2f020fe58092a47 \
# via jx-mysql, jx-python, mo-testing, mo-times

Просмотреть файл

@ -68,8 +68,14 @@ Django can perform a number of checks to ensure you are configured correctly
Be sure docker-compose is up, you are in the `treeherder` main directory, your virtual environment is activated, and your environment variables are set:
Linux/MacOS
source .venv/bin/activate
Windows
.venv\Script\activate
Followed by either one of the two commands below.
### All tests

Просмотреть файл

@ -33,14 +33,7 @@ def failure_class(transactional_db):
@pytest.fixture
def now():
return Date.now().datetime
@pytest.fixture
def complex_job(
transactional_db, generic_reference_data, test_repository, extract_job_settings, now
):
def complex_job(transactional_db, generic_reference_data, test_repository, extract_job_settings):
fc = FailureClassification.objects.create(id=1, name="not classified")
repository_group = RepositoryGroup.objects.create(name="common")
repo = Repository.objects.create(name="autoland", repository_group=repository_group)
@ -181,11 +174,13 @@ def env_setup():
]
for a in attempt:
try:
MySQL(host=a)
os.environ["DATABASE_URL"] = a
with MySQL(host=a):
os.environ["DATABASE_URL"] = a
except Exception:
pass
assert os.environ["DATABASE_URL"]
@pytest.fixture
def extract_job_settings(env_setup):

Просмотреть файл

@ -1,13 +1,13 @@
[
{
"created": 1587128638.995283,
"created": 1593576000,
"details": [
{
"amount_abs": 50,
"amount_pct": 0.5,
"created": 1587128639.005283,
"created": 1593576000,
"is_regression": 1,
"last_updated": 1587128639.005283,
"last_updated": 1593576000,
"manually_created": 0,
"new_value": 150,
"prev_value": 100,
@ -16,12 +16,11 @@
"extra_options": "e10s opt",
"framework": "test_talos",
"has_subtests": 0,
"last_updated": 1587128639.001286,
"last_updated": 1593576000,
"lower_is_better": 1,
"measurement_unit": "ms",
"option_collection": {
"option": "opt",
"option_collection_hash": "my_option_hash"
"option": "opt"
},
"platform": "win7",
"repository": "test_treeherder_jobs",
@ -41,19 +40,26 @@
"name": "Bugzilla",
"task_base_url": "https://bugzilla.mozilla.org/show_bug.cgi?id="
},
"last_updated": 1587128639.010283,
"last_updated": 1593576000,
"manually_created": 0,
"performance_tag_alert_summaries": [
{
"performancetag": {
"name": "harness"
}
}
],
"prev_push": {
"author": "Eric Chou <echou@mozilla.com>",
"repository": "test_treeherder_jobs",
"revision": "45f8637cb9f78f19cb8463ff174e81756805d8cf",
"time": 1384347643
"time": 1384365643
},
"push": {
"author": "Gaia Pushbot <release+gaiajson@mozilla.com>",
"repository": "test_treeherder_jobs",
"revision": "b11529c9865a4dee3a93d63d119ebb89fcbbdf69",
"time": 1384353511
"time": 1384371511
},
"repository": "test_treeherder_jobs",
"status": 0

Просмотреть файл

@ -1,5 +1,7 @@
import datetime
import pytest
from jx_mysql.mysql import MySQL
from jx_mysql.mysql_snowflake_extractor import MySqlSnowflakeExtractor
from mo_files import File
@ -32,34 +34,26 @@ def test_extract_alert_sql(extract_alert_settings, test_perf_alert_summary, test
p.related_summary = s2
p.save()
extractor = MySqlSnowflakeExtractor(extract_alert_settings.source)
sql = extractor.get_sql(SQL("SELECT 0"))
with MySqlSnowflakeExtractor(extract_alert_settings.source) as extractor:
sql = extractor.get_sql(SQL("SELECT 0"))
assert "".join(sql.sql.split()) == "".join(EXTRACT_ALERT_SQL.split())
@pytest.mark.freeze_time('2020-07-01', ignore=['mo_threads'])
def test_extract_alert(extract_alert_settings, test_perf_alert_summary, test_perf_alert):
"""
If you find this test failing, then copy the JSON in the test failure into the test_extract_alerts.json file,
then you may use the diff to review the changes.
"""
now = datetime.datetime.now()
source = MySQL(extract_alert_settings.source.database)
extractor = MySqlSnowflakeExtractor(extract_alert_settings.source)
sql = extractor.get_sql(SQL("SELECT " + text(test_perf_alert_summary.id) + " as id"))
with MySQL(extract_alert_settings.source.database) as source:
with MySqlSnowflakeExtractor(extract_alert_settings.source) as extractor:
sql = extractor.get_sql(SQL("SELECT " + text(test_perf_alert_summary.id) + " as id"))
acc = []
with source.transaction():
cursor = list(source.query(sql, stream=True, row_tuples=True))
extractor.construct_docs(cursor, acc.append, False)
doc = acc[0]
# TEST ARE RUN WITH CURRENT TIMESTAMPS
doc.created = now
doc.last_updated = now
for d in doc.details:
d.created = now
d.last_updated = now
d.series_signature.last_updated = now
acc = []
with source.transaction():
cursor = list(source.query(sql, stream=True, row_tuples=True))
extractor.construct_docs(cursor, acc.append, False)
assertAlmostEqual(
acc, ALERT, places=3

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -6,13 +6,11 @@
"os_name": "my_os",
"platform": "my_platform"
},
"submit_time": 1578427253,
"start_time": 1578430841,
"end_time": 1578432680,
"end_time": 1578450680,
"failure_classification": "not classified",
"guid": "allcj2KcgktIpEdH9IVT",
"id": 1,
"job_group": {
"description": null,
"name": "myjobgroup",
"symbol": "S"
},
@ -28,21 +26,29 @@
"action": "test_groups",
"best_classification": {
"bug_number": 1234567,
"created": 1579277905,
"modified": 1579277905
"created": 1579280400,
"modified": 1593576000
},
"best_is_verified": 1,
"line": 15
"created": 1593576000,
"job_guid": "4mG1ePbgqRFtLiPkoRjW",
"line": 15,
"modified": 1593576000,
"repository": "autoland"
},
{
"action": "crash",
"best_classification": {
"bug_number": 1234567,
"created": 1579277905,
"modified": 1579277905
"created": 1579280400,
"modified": 1593576000
},
"best_is_verified": 0,
"created": 1593576000,
"job_guid": "4mG1ePbgqRFtLiPkoRjW",
"line": 24031,
"modified": 1593576000,
"repository": "autoland",
"signature": "@ mozilla::dom::CustomElementData::SetCustomElementDefinition(mozilla::dom::CustomElementDefinition*)",
"test": "/custom-elements/upgrading.html"
}
@ -56,6 +62,7 @@
"name": "myjob",
"symbol": "j"
},
"last_modified": 1593576000,
"machine": {
"name": "mymachine"
},
@ -72,9 +79,6 @@
},
"push": {
"author": "testing@mozilla.com",
"repository": "autoland",
"revision": "ae6bb3a1066959a8c43d003a3caab0af769455bf",
"time": 1578445105,
"commit": [
{
"revision": "ae6bb3a1066959a8c43d003a3caab0af769455bf"
@ -82,7 +86,10 @@
{
"revision": "0123456789012345678901234567890123456789"
}
]
],
"repository": "autoland",
"revision": "ae6bb3a1066959a8c43d003a3caab0af769455bf",
"time": 1578445105
},
"reason": "scheduled",
"repository": "test_treeherder_jobs",
@ -105,7 +112,9 @@
"repository": "test_treeherder_jobs",
"signature": "1234"
},
"start_time": 1578448841,
"state": "completed",
"submit_time": 1578445253,
"taskcluster_metadata": [
{
"retry_id": 0,
@ -117,17 +126,7 @@
"finished_line_number": 88739,
"name": "Unnamed step",
"result": 7,
"started_line_number": 0,
"text_log_error": [
{
"line": "line contents here",
"line_number": 619845839
},
{
"line": "ERROR! more line contents",
"line_number": 6
}
]
"started_line_number": 0
}
],
"tier": 1,

Просмотреть файл

@ -1,16 +1,15 @@
import pytest
from django.db.models import Q
from mo_dots import listwrap
from jx_base.expressions import NULL
from jx_mysql.mysql import MySQL
from jx_mysql.mysql_snowflake_extractor import MySqlSnowflakeExtractor
from jx_python import jx
from mo_files import File
from mo_future import text
from mo_future import text, first
from mo_sql import SQL
from mo_testing.fuzzytestcase import assertAlmostEqual
from mo_times import Date
from treeherder.model.models import Job
@ -50,8 +49,8 @@ def test_extract_job_sql(extract_job_settings, transactional_db):
If you find this test failing, then replace the contents of test_extract_job.sql with the contents of the `sql`
variable below. You can then review the resulting diff.
"""
extractor = MySqlSnowflakeExtractor(extract_job_settings.source)
sql = extractor.get_sql(SQL("SELECT 0"))
with MySqlSnowflakeExtractor(extract_job_settings.source) as extractor:
sql = extractor.get_sql(SQL("SELECT 0"))
assert "".join(sql.sql.split()) == "".join(EXTRACT_JOB_SQL.split())
@ -104,22 +103,27 @@ def test_django_cannot_encode_datetime_strings(extract_job_settings):
list(source.query(sql_query, stream=True, row_tuples=True))
def test_extract_job(complex_job, extract_job_settings, now):
@pytest.mark.freeze_time('2020-07-01', ignore=['mo_threads'])
def test_extract_job(complex_job, extract_job_settings):
"""
If you find this test failing, then copy the JSON in the test failure into the test_extract_job.json file,
then you may use the diff to review the changes.
"""
source = MySQL(extract_job_settings.source.database)
extractor = MySqlSnowflakeExtractor(extract_job_settings.source)
sql = extractor.get_sql(SQL("SELECT " + text(complex_job.id) + " as id"))
with MySQL(extract_job_settings.source.database) as source:
with MySqlSnowflakeExtractor(extract_job_settings.source) as extractor:
sql = extractor.get_sql(SQL("SELECT " + text(complex_job.id) + " as id"))
acc = []
with source.transaction():
cursor = list(source.query(sql, stream=True, row_tuples=True))
extractor.construct_docs(cursor, acc.append, False)
acc = []
with source.transaction():
cursor = list(source.query(sql, stream=True, row_tuples=True))
extractor.construct_docs(cursor, acc.append, False)
doc = acc[0]
doc.guid = complex_job.guid
doc = first(acc)
doc.guid = first(JOB).guid # NEW EACH TIME
job_guid = first(jx.drill(JOB, "job_log.failure_line.job_guid"))
for fl in jx.drill(doc, "job_log.failure_line"):
fl.job_guid = job_guid
assertAlmostEqual(
acc,
@ -132,9 +136,3 @@ EXTRACT_JOB_SQL = (File(__file__).parent / "test_extract_job.sql").read()
JOB = (File(__file__).parent / "test_extract_job.json").read_json()
JOB.job_group.description = NULL # EXPECTING NOTHING
for j in JOB:
j.last_modified = Date.now()
for log in listwrap(j.job_log):
for f in listwrap(log.failure_line):
f.best_classification.modified = Date.now()

Просмотреть файл

@ -1,196 +1,169 @@
SELECT
*
FROM
(
SELECT
`t1`.`id` AS `c0`, `t1`.`guid` AS `c1`, `t1`.`project_specific_id` AS `c2`, `t1`.`coalesced_to_guid` AS `c3`, `t1`.`who` AS `c4`, `t1`.`reason` AS `c5`, `t1`.`result` AS `c6`, `t1`.`state` AS `c7`, `t1`.`submit_time` AS `c8`, `t1`.`start_time` AS `c9`, `t1`.`end_time` AS `c10`, `t1`.`last_modified` AS `c11`, `t1`.`running_eta` AS `c12`, `t1`.`tier` AS `c13`, `t1`.`autoclassify_status` AS `c14`, `t2`.`id` AS `c15`, `t2`.`os_name` AS `c16`, `t2`.`platform` AS `c17`, `t2`.`architecture` AS `c18`, `t3`.`id` AS `c19`, `t3`.`name` AS `c20`, `t4`.`id` AS `c21`, `t4`.`symbol` AS `c22`, `t4`.`name` AS `c23`, `t4`.`description` AS `c24`, `t5`.`id` AS `c25`, `t5`.`symbol` AS `c26`, `t5`.`name` AS `c27`, `t5`.`description` AS `c28`, `t6`.`id` AS `c29`, `t6`.`name` AS `c30`, `t7`.`id` AS `c31`, `t7`.`os_name` AS `c32`, `t7`.`platform` AS `c33`, `t7`.`architecture` AS `c34`, `t8`.`id` AS `c35`, `t8`.`option_collection_hash` AS `c36`, `t9`.`id` AS `c37`, `t9`.`name` AS `c38`, `t10`.`id` AS `c39`, `t10`.`revision` AS `c40`, `t10`.`author` AS `c41`, `t10`.`time` AS `c42`, `t11`.`id` AS `c43`, `t11`.`name` AS `c44`, `t12`.`id` AS `c45`, `t12`.`name` AS `c46`, `t12`.`signature` AS `c47`, `t12`.`build_os_name` AS `c48`, `t12`.`build_platform` AS `c49`, `t12`.`build_architecture` AS `c50`, `t12`.`machine_os_name` AS `c51`, `t12`.`machine_platform` AS `c52`, `t12`.`machine_architecture` AS `c53`, `t12`.`job_group_name` AS `c54`, `t12`.`job_group_symbol` AS `c55`, `t12`.`job_type_name` AS `c56`, `t12`.`job_type_symbol` AS `c57`, `t12`.`option_collection_hash` AS `c58`, `t12`.`build_system_type` AS `c59`, `t12`.`repository` AS `c60`, `t12`.`first_submission_timestamp` AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, `t13`.`id` AS `c94`, `t13`.`name` AS `c95`, `t14`.`id` AS `c96`, `t14`.`name` AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
LEFT JOIN
`test_treeherder`.`build_platform` AS `t2` ON `t2`.`id` = `t1`.`build_platform_id`
LEFT JOIN
`test_treeherder`.`failure_classification` AS `t3` ON `t3`.`id` = `t1`.`failure_classification_id`
LEFT JOIN
`test_treeherder`.`job_group` AS `t4` ON `t4`.`id` = `t1`.`job_group_id`
LEFT JOIN
`test_treeherder`.`job_type` AS `t5` ON `t5`.`id` = `t1`.`job_type_id`
LEFT JOIN
`test_treeherder`.`machine` AS `t6` ON `t6`.`id` = `t1`.`machine_id`
LEFT JOIN
`test_treeherder`.`machine_platform` AS `t7` ON `t7`.`id` = `t1`.`machine_platform_id`
LEFT JOIN
`test_treeherder`.`option_collection` AS `t8` ON `t8`.`option_collection_hash` = `t1`.`option_collection_hash`
LEFT JOIN
`test_treeherder`.`product` AS `t9` ON `t9`.`id` = `t1`.`product_id`
LEFT JOIN
`test_treeherder`.`push` AS `t10` ON `t10`.`id` = `t1`.`push_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t11` ON `t11`.`id` = `t1`.`repository_id`
LEFT JOIN
`test_treeherder`.`reference_data_signatures` AS `t12` ON `t12`.`id` = `t1`.`signature_id`
LEFT JOIN
`test_treeherder`.`option` AS `t13` ON `t13`.`id` = `t8`.`option_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t14` ON `t14`.`id` = `t10`.`repository_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, `t2`.`id` AS `c62`, `t2`.`bug_id` AS `c63`, `t2`.`created` AS `c64`, `t2`.`job_id` AS `c65`, `t2`.`user_id` AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
*
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`bug_job_map` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
(
SELECT
`t1`.`id` AS `c0`, `t1`.`guid` AS `c1`, `t1`.`project_specific_id` AS `c2`, `t1`.`coalesced_to_guid` AS `c3`, `t1`.`who` AS `c4`, `t1`.`reason` AS `c5`, `t1`.`result` AS `c6`, `t1`.`state` AS `c7`, `t1`.`submit_time` AS `c8`, `t1`.`start_time` AS `c9`, `t1`.`end_time` AS `c10`, `t1`.`last_modified` AS `c11`, `t1`.`running_eta` AS `c12`, `t1`.`tier` AS `c13`, `t1`.`autoclassify_status` AS `c14`, `t2`.`id` AS `c15`, `t2`.`os_name` AS `c16`, `t2`.`platform` AS `c17`, `t2`.`architecture` AS `c18`, `t3`.`id` AS `c19`, `t3`.`name` AS `c20`, `t4`.`id` AS `c21`, `t4`.`symbol` AS `c22`, `t4`.`name` AS `c23`, `t4`.`description` AS `c24`, `t5`.`id` AS `c25`, `t5`.`symbol` AS `c26`, `t5`.`name` AS `c27`, `t5`.`description` AS `c28`, `t6`.`id` AS `c29`, `t6`.`name` AS `c30`, `t7`.`id` AS `c31`, `t7`.`os_name` AS `c32`, `t7`.`platform` AS `c33`, `t7`.`architecture` AS `c34`, `t8`.`id` AS `c35`, `t8`.`option_collection_hash` AS `c36`, `t9`.`id` AS `c37`, `t9`.`name` AS `c38`, `t10`.`id` AS `c39`, `t10`.`revision` AS `c40`, `t10`.`author` AS `c41`, `t10`.`time` AS `c42`, `t11`.`id` AS `c43`, `t11`.`name` AS `c44`, `t12`.`id` AS `c45`, `t12`.`name` AS `c46`, `t12`.`signature` AS `c47`, `t12`.`build_os_name` AS `c48`, `t12`.`build_platform` AS `c49`, `t12`.`build_architecture` AS `c50`, `t12`.`machine_os_name` AS `c51`, `t12`.`machine_platform` AS `c52`, `t12`.`machine_architecture` AS `c53`, `t12`.`job_group_name` AS `c54`, `t12`.`job_group_symbol` AS `c55`, `t12`.`job_type_name` AS `c56`, `t12`.`job_type_symbol` AS `c57`, `t12`.`option_collection_hash` AS `c58`, `t12`.`build_system_type` AS `c59`, `t12`.`repository` AS `c60`, `t12`.`first_submission_timestamp` AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, `t13`.`id` AS `c94`, `t13`.`name` AS `c95`, `t14`.`id` AS `c96`, `t14`.`name` AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
LEFT JOIN
`test_treeherder`.`build_platform` AS `t2` ON `t2`.`id` = `t1`.`build_platform_id`
LEFT JOIN
`test_treeherder`.`failure_classification` AS `t3` ON `t3`.`id` = `t1`.`failure_classification_id`
LEFT JOIN
`test_treeherder`.`job_group` AS `t4` ON `t4`.`id` = `t1`.`job_group_id`
LEFT JOIN
`test_treeherder`.`job_type` AS `t5` ON `t5`.`id` = `t1`.`job_type_id`
LEFT JOIN
`test_treeherder`.`machine` AS `t6` ON `t6`.`id` = `t1`.`machine_id`
LEFT JOIN
`test_treeherder`.`machine_platform` AS `t7` ON `t7`.`id` = `t1`.`machine_platform_id`
LEFT JOIN
`test_treeherder`.`option_collection` AS `t8` ON `t8`.`option_collection_hash` = `t1`.`option_collection_hash`
LEFT JOIN
`test_treeherder`.`product` AS `t9` ON `t9`.`id` = `t1`.`product_id`
LEFT JOIN
`test_treeherder`.`push` AS `t10` ON `t10`.`id` = `t1`.`push_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t11` ON `t11`.`id` = `t1`.`repository_id`
LEFT JOIN
`test_treeherder`.`reference_data_signatures` AS `t12` ON `t12`.`id` = `t1`.`signature_id`
LEFT JOIN
`test_treeherder`.`option` AS `t13` ON `t13`.`id` = `t8`.`option_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t14` ON `t14`.`id` = `t10`.`repository_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, `t2`.`id` AS `c67`, `t2`.`name` AS `c68`, `t2`.`url` AS `c69`, `t2`.`status` AS `c70`, `t2`.`job_id` AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`job_log` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, `t2`.`id` AS `c62`, `t2`.`bug_id` AS `c63`, `t2`.`created` AS `c64`, `t2`.`job_id` AS `c65`, `t2`.`user_id` AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`bug_job_map` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, `t2`.`id` AS `c72`, `t2`.`text` AS `c73`, `t2`.`created` AS `c74`, `t2`.`failure_classification_id` AS `c75`, `t2`.`job_id` AS `c76`, `t2`.`user_id` AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, `t3`.`id` AS `c123`, `t3`.`name` AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`job_note` AS `t2` ON `t2`.`job_id` = `t1`.`id`
LEFT JOIN
`test_treeherder`.`failure_classification` AS `t3` ON `t3`.`id` = `t2`.`failure_classification_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, `t2`.`id` AS `c67`, `t2`.`name` AS `c68`, `t2`.`url` AS `c69`, `t2`.`status` AS `c70`, `t2`.`job_id` AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`job_log` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, `t2`.`job_id` AS `c78`, `t2`.`task_id` AS `c79`, `t2`.`retry_id` AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`taskcluster_metadata` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, `t2`.`id` AS `c72`, `t2`.`text` AS `c73`, `t2`.`created` AS `c74`, `t2`.`failure_classification_id` AS `c75`, `t2`.`job_id` AS `c76`, `t2`.`user_id` AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, `t3`.`id` AS `c123`, `t3`.`name` AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`job_note` AS `t2` ON `t2`.`job_id` = `t1`.`id`
LEFT JOIN
`test_treeherder`.`failure_classification` AS `t3` ON `t3`.`id` = `t2`.`failure_classification_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, `t2`.`id` AS `c81`, `t2`.`line` AS `c82`, `t2`.`line_number` AS `c83`, `t2`.`step_id` AS `c84`, `t2`.`job_id` AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, `t3`.`id` AS `c125`, `t3`.`name` AS `c126`, `t3`.`started` AS `c127`, `t3`.`finished` AS `c128`, `t3`.`started_line_number` AS `c129`, `t3`.`finished_line_number` AS `c130`, `t3`.`result` AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, `t4`.`id` AS `c148`, `t4`.`guid` AS `c149`, `t4`.`project_specific_id` AS `c150`, `t4`.`coalesced_to_guid` AS `c151`, `t4`.`who` AS `c152`, `t4`.`reason` AS `c153`, `t4`.`result` AS `c154`, `t4`.`state` AS `c155`, `t4`.`submit_time` AS `c156`, `t4`.`start_time` AS `c157`, `t4`.`end_time` AS `c158`, `t4`.`last_modified` AS `c159`, `t4`.`running_eta` AS `c160`, `t4`.`tier` AS `c161`, `t4`.`autoclassify_status` AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_error` AS `t2` ON `t2`.`job_id` = `t1`.`id`
LEFT JOIN
`test_treeherder`.`text_log_step` AS `t3` ON `t3`.`id` = `t2`.`step_id`
LEFT JOIN
`test_treeherder`.`job` AS `t4` ON `t4`.`id` = `t3`.`job_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, `t2`.`job_id` AS `c78`, `t2`.`task_id` AS `c79`, `t2`.`retry_id` AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`taskcluster_metadata` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, `t2`.`id` AS `c86`, `t2`.`name` AS `c87`, `t2`.`started` AS `c88`, `t2`.`finished` AS `c89`, `t2`.`started_line_number` AS `c90`, `t2`.`finished_line_number` AS `c91`, `t2`.`result` AS `c92`, `t2`.`job_id` AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_step` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, `t2`.`id` AS `c81`, `t2`.`line` AS `c82`, `t2`.`line_number` AS `c83`, `t2`.`step_id` AS `c84`, `t2`.`job_id` AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, `t3`.`id` AS `c125`, `t3`.`name` AS `c126`, `t3`.`started` AS `c127`, `t3`.`finished` AS `c128`, `t3`.`started_line_number` AS `c129`, `t3`.`finished_line_number` AS `c130`, `t3`.`result` AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, `t4`.`id` AS `c143`, `t4`.`guid` AS `c144`, `t4`.`project_specific_id` AS `c145`, `t4`.`coalesced_to_guid` AS `c146`, `t4`.`who` AS `c147`, `t4`.`reason` AS `c148`, `t4`.`result` AS `c149`, `t4`.`state` AS `c150`, `t4`.`submit_time` AS `c151`, `t4`.`start_time` AS `c152`, `t4`.`end_time` AS `c153`, `t4`.`last_modified` AS `c154`, `t4`.`running_eta` AS `c155`, `t4`.`tier` AS `c156`, `t4`.`autoclassify_status` AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_error` AS `t2` ON `t2`.`job_id` = `t1`.`id`
LEFT JOIN
`test_treeherder`.`text_log_step` AS `t3` ON `t3`.`id` = `t2`.`step_id`
LEFT JOIN
`test_treeherder`.`job` AS `t4` ON `t4`.`id` = `t3`.`job_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, `t10`.`id` AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, `t14`.`id` AS `c98`, `t14`.`revision` AS `c99`, `t14`.`author` AS `c100`, `t14`.`comments` AS `c101`, `t14`.`push_id` AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
LEFT JOIN
`test_treeherder`.`build_platform` AS `t2` ON `t2`.`id` = `t1`.`build_platform_id`
LEFT JOIN
`test_treeherder`.`failure_classification` AS `t3` ON `t3`.`id` = `t1`.`failure_classification_id`
LEFT JOIN
`test_treeherder`.`job_group` AS `t4` ON `t4`.`id` = `t1`.`job_group_id`
LEFT JOIN
`test_treeherder`.`job_type` AS `t5` ON `t5`.`id` = `t1`.`job_type_id`
LEFT JOIN
`test_treeherder`.`machine` AS `t6` ON `t6`.`id` = `t1`.`machine_id`
LEFT JOIN
`test_treeherder`.`machine_platform` AS `t7` ON `t7`.`id` = `t1`.`machine_platform_id`
LEFT JOIN
`test_treeherder`.`option_collection` AS `t8` ON `t8`.`option_collection_hash` = `t1`.`option_collection_hash`
LEFT JOIN
`test_treeherder`.`product` AS `t9` ON `t9`.`id` = `t1`.`product_id`
LEFT JOIN
`test_treeherder`.`push` AS `t10` ON `t10`.`id` = `t1`.`push_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t11` ON `t11`.`id` = `t1`.`repository_id`
LEFT JOIN
`test_treeherder`.`reference_data_signatures` AS `t12` ON `t12`.`id` = `t1`.`signature_id`
LEFT JOIN
`test_treeherder`.`option` AS `t13` ON `t13`.`id` = `t8`.`option_id`
JOIN
`test_treeherder`.`commit` AS `t14` ON `t14`.`push_id` = `t10`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, `t2`.`id` AS `c86`, `t2`.`name` AS `c87`, `t2`.`started` AS `c88`, `t2`.`finished` AS `c89`, `t2`.`started_line_number` AS `c90`, `t2`.`finished_line_number` AS `c91`, `t2`.`result` AS `c92`, `t2`.`job_id` AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_step` AS `t2` ON `t2`.`job_id` = `t1`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, `t2`.`id` AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, `t3`.`id` AS `c103`, `t3`.`job_guid` AS `c104`, `t3`.`action` AS `c105`, `t3`.`line` AS `c106`, `t3`.`test` AS `c107`, `t3`.`subtest` AS `c108`, `t3`.`status` AS `c109`, `t3`.`expected` AS `c110`, `t3`.`message` AS `c111`, `t3`.`signature` AS `c112`, `t3`.`level` AS `c113`, `t3`.`stack` AS `c114`, NULL AS `c115`, NULL AS `c116`, `t3`.`best_is_verified` AS `c117`, `t3`.`created` AS `c118`, `t3`.`modified` AS `c119`, `t3`.`best_classification_id` AS `c120`, `t3`.`job_log_id` AS `c121`, `t3`.`repository_id` AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, `t4`.`id` AS `c142`, `t4`.`bug_number` AS `c143`, `t4`.`created` AS `c144`, `t4`.`modified` AS `c145`, `t5`.`id` AS `c146`, `t5`.`name` AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`job_log` AS `t2` ON `t2`.`job_id` = `t1`.`id`
JOIN
`test_treeherder`.`failure_line` AS `t3` ON `t3`.`job_log_id` = `t2`.`id`
LEFT JOIN
`test_treeherder`.`classified_failure` AS `t4` ON `t4`.`id` = `t3`.`best_classification_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t5` ON `t5`.`id` = `t3`.`repository_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, `t10`.`id` AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, `t14`.`id` AS `c98`, `t14`.`revision` AS `c99`, `t14`.`author` AS `c100`, `t14`.`comments` AS `c101`, `t14`.`push_id` AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
LEFT JOIN
`test_treeherder`.`build_platform` AS `t2` ON `t2`.`id` = `t1`.`build_platform_id`
LEFT JOIN
`test_treeherder`.`failure_classification` AS `t3` ON `t3`.`id` = `t1`.`failure_classification_id`
LEFT JOIN
`test_treeherder`.`job_group` AS `t4` ON `t4`.`id` = `t1`.`job_group_id`
LEFT JOIN
`test_treeherder`.`job_type` AS `t5` ON `t5`.`id` = `t1`.`job_type_id`
LEFT JOIN
`test_treeherder`.`machine` AS `t6` ON `t6`.`id` = `t1`.`machine_id`
LEFT JOIN
`test_treeherder`.`machine_platform` AS `t7` ON `t7`.`id` = `t1`.`machine_platform_id`
LEFT JOIN
`test_treeherder`.`option_collection` AS `t8` ON `t8`.`option_collection_hash` = `t1`.`option_collection_hash`
LEFT JOIN
`test_treeherder`.`product` AS `t9` ON `t9`.`id` = `t1`.`product_id`
LEFT JOIN
`test_treeherder`.`push` AS `t10` ON `t10`.`id` = `t1`.`push_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t11` ON `t11`.`id` = `t1`.`repository_id`
LEFT JOIN
`test_treeherder`.`reference_data_signatures` AS `t12` ON `t12`.`id` = `t1`.`signature_id`
LEFT JOIN
`test_treeherder`.`option` AS `t13` ON `t13`.`id` = `t8`.`option_id`
JOIN
`test_treeherder`.`commit` AS `t14` ON `t14`.`push_id` = `t10`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, `t2`.`id` AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, `t3`.`id` AS `c132`, `t3`.`score` AS `c133`, `t3`.`classified_failure_id` AS `c134`, `t3`.`text_log_error_id` AS `c135`, `t3`.`matcher_name` AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, `t4`.`id` AS `c163`, `t4`.`bug_number` AS `c164`, `t4`.`created` AS `c165`, `t4`.`modified` AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_error` AS `t2` ON `t2`.`job_id` = `t1`.`id`
JOIN
`test_treeherder`.`text_log_error_match` AS `t3` ON `t3`.`text_log_error_id` = `t2`.`id`
LEFT JOIN
`test_treeherder`.`classified_failure` AS `t4` ON `t4`.`id` = `t3`.`classified_failure_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, `t2`.`id` AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, `t3`.`id` AS `c103`, `t3`.`job_guid` AS `c104`, `t3`.`action` AS `c105`, `t3`.`line` AS `c106`, `t3`.`test` AS `c107`, `t3`.`subtest` AS `c108`, `t3`.`status` AS `c109`, `t3`.`expected` AS `c110`, `t3`.`message` AS `c111`, `t3`.`signature` AS `c112`, `t3`.`level` AS `c113`, `t3`.`stack` AS `c114`, NULL AS `c115`, NULL AS `c116`, `t3`.`best_is_verified` AS `c117`, `t3`.`created` AS `c118`, `t3`.`modified` AS `c119`, `t3`.`best_classification_id` AS `c120`, `t3`.`job_log_id` AS `c121`, `t3`.`repository_id` AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, `t4`.`id` AS `c137`, `t4`.`bug_number` AS `c138`, `t4`.`created` AS `c139`, `t4`.`modified` AS `c140`, `t5`.`id` AS `c141`, `t5`.`name` AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`job_log` AS `t2` ON `t2`.`job_id` = `t1`.`id`
JOIN
`test_treeherder`.`failure_line` AS `t3` ON `t3`.`job_log_id` = `t2`.`id`
LEFT JOIN
`test_treeherder`.`classified_failure` AS `t4` ON `t4`.`id` = `t3`.`best_classification_id`
LEFT JOIN
`test_treeherder`.`repository` AS `t5` ON `t5`.`id` = `t3`.`repository_id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, `t2`.`id` AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, `t3`.`id` AS `c137`, `t3`.`line` AS `c138`, `t3`.`line_number` AS `c139`, `t3`.`step_id` AS `c140`, `t3`.`job_id` AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, NULL AS `c167`, NULL AS `c168`, NULL AS `c169`, NULL AS `c170`, NULL AS `c171`, NULL AS `c172`, NULL AS `c173`, NULL AS `c174`, NULL AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_step` AS `t2` ON `t2`.`job_id` = `t1`.`id`
JOIN
`test_treeherder`.`text_log_error` AS `t3` ON `t3`.`step_id` = `t2`.`id`
UNION ALL
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, NULL AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, `t2`.`id` AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, NULL AS `c132`, NULL AS `c133`, NULL AS `c134`, NULL AS `c135`, NULL AS `c136`, `t3`.`id` AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, NULL AS `c158`, NULL AS `c159`, NULL AS `c160`, NULL AS `c161`, NULL AS `c162`, NULL AS `c163`, NULL AS `c164`, NULL AS `c165`, NULL AS `c166`, `t4`.`id` AS `c167`, `t4`.`score` AS `c168`, `t4`.`classified_failure_id` AS `c169`, `t4`.`text_log_error_id` AS `c170`, `t4`.`matcher_name` AS `c171`, `t5`.`id` AS `c172`, `t5`.`bug_number` AS `c173`, `t5`.`created` AS `c174`, `t5`.`modified` AS `c175`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_step` AS `t2` ON `t2`.`job_id` = `t1`.`id`
JOIN
`test_treeherder`.`text_log_error` AS `t3` ON `t3`.`step_id` = `t2`.`id`
JOIN
`test_treeherder`.`text_log_error_match` AS `t4` ON `t4`.`text_log_error_id` = `t3`.`id`
LEFT JOIN
`test_treeherder`.`classified_failure` AS `t5` ON `t5`.`id` = `t4`.`classified_failure_id`) AS `a`
SELECT
`t1`.`id` AS `c0`, NULL AS `c1`, NULL AS `c2`, NULL AS `c3`, NULL AS `c4`, NULL AS `c5`, NULL AS `c6`, NULL AS `c7`, NULL AS `c8`, NULL AS `c9`, NULL AS `c10`, NULL AS `c11`, NULL AS `c12`, NULL AS `c13`, NULL AS `c14`, NULL AS `c15`, NULL AS `c16`, NULL AS `c17`, NULL AS `c18`, NULL AS `c19`, NULL AS `c20`, NULL AS `c21`, NULL AS `c22`, NULL AS `c23`, NULL AS `c24`, NULL AS `c25`, NULL AS `c26`, NULL AS `c27`, NULL AS `c28`, NULL AS `c29`, NULL AS `c30`, NULL AS `c31`, NULL AS `c32`, NULL AS `c33`, NULL AS `c34`, NULL AS `c35`, NULL AS `c36`, NULL AS `c37`, NULL AS `c38`, NULL AS `c39`, NULL AS `c40`, NULL AS `c41`, NULL AS `c42`, NULL AS `c43`, NULL AS `c44`, NULL AS `c45`, NULL AS `c46`, NULL AS `c47`, NULL AS `c48`, NULL AS `c49`, NULL AS `c50`, NULL AS `c51`, NULL AS `c52`, NULL AS `c53`, NULL AS `c54`, NULL AS `c55`, NULL AS `c56`, NULL AS `c57`, NULL AS `c58`, NULL AS `c59`, NULL AS `c60`, NULL AS `c61`, NULL AS `c62`, NULL AS `c63`, NULL AS `c64`, NULL AS `c65`, NULL AS `c66`, NULL AS `c67`, NULL AS `c68`, NULL AS `c69`, NULL AS `c70`, NULL AS `c71`, NULL AS `c72`, NULL AS `c73`, NULL AS `c74`, NULL AS `c75`, NULL AS `c76`, NULL AS `c77`, NULL AS `c78`, NULL AS `c79`, NULL AS `c80`, `t2`.`id` AS `c81`, NULL AS `c82`, NULL AS `c83`, NULL AS `c84`, NULL AS `c85`, NULL AS `c86`, NULL AS `c87`, NULL AS `c88`, NULL AS `c89`, NULL AS `c90`, NULL AS `c91`, NULL AS `c92`, NULL AS `c93`, NULL AS `c94`, NULL AS `c95`, NULL AS `c96`, NULL AS `c97`, NULL AS `c98`, NULL AS `c99`, NULL AS `c100`, NULL AS `c101`, NULL AS `c102`, NULL AS `c103`, NULL AS `c104`, NULL AS `c105`, NULL AS `c106`, NULL AS `c107`, NULL AS `c108`, NULL AS `c109`, NULL AS `c110`, NULL AS `c111`, NULL AS `c112`, NULL AS `c113`, NULL AS `c114`, NULL AS `c115`, NULL AS `c116`, NULL AS `c117`, NULL AS `c118`, NULL AS `c119`, NULL AS `c120`, NULL AS `c121`, NULL AS `c122`, NULL AS `c123`, NULL AS `c124`, NULL AS `c125`, NULL AS `c126`, NULL AS `c127`, NULL AS `c128`, NULL AS `c129`, NULL AS `c130`, NULL AS `c131`, `t3`.`id` AS `c132`, `t3`.`score` AS `c133`, `t3`.`classified_failure_id` AS `c134`, `t3`.`text_log_error_id` AS `c135`, `t3`.`matcher_name` AS `c136`, NULL AS `c137`, NULL AS `c138`, NULL AS `c139`, NULL AS `c140`, NULL AS `c141`, NULL AS `c142`, NULL AS `c143`, NULL AS `c144`, NULL AS `c145`, NULL AS `c146`, NULL AS `c147`, NULL AS `c148`, NULL AS `c149`, NULL AS `c150`, NULL AS `c151`, NULL AS `c152`, NULL AS `c153`, NULL AS `c154`, NULL AS `c155`, NULL AS `c156`, NULL AS `c157`, `t4`.`id` AS `c158`, `t4`.`bug_number` AS `c159`, `t4`.`created` AS `c160`, `t4`.`modified` AS `c161`
FROM
(SELECT 0) AS `t0`
LEFT JOIN
`test_treeherder`.`job` AS `t1` ON `t1`.`id` = `t0`.`id`
JOIN
`test_treeherder`.`text_log_error` AS `t2` ON `t2`.`job_id` = `t1`.`id`
JOIN
`test_treeherder`.`text_log_error_match` AS `t3` ON `t3`.`text_log_error_id` = `t2`.`id`
LEFT JOIN
`test_treeherder`.`classified_failure` AS `t4` ON `t4`.`id` = `t3`.`classified_failure_id`) AS `a`
ORDER BY
`c0` IS NOT NULL , `c0`, `c62` IS NOT NULL , `c62`, `c67` IS NOT NULL , `c67`, `c72` IS NOT NULL , `c72`, `c78` IS NOT NULL , `c78`, `c81` IS NOT NULL , `c81`, `c86` IS NOT NULL , `c86`, `c98` IS NOT NULL , `c98`, `c103` IS NOT NULL , `c103`, `c132` IS NOT NULL , `c132`, `c137` IS NOT NULL , `c137`, `c167` IS NOT NULL , `c167`
`c0` IS NOT NULL , `c0`, `c62` IS NOT NULL , `c62`, `c67` IS NOT NULL , `c67`, `c72` IS NOT NULL , `c72`, `c78` IS NOT NULL , `c78`, `c81` IS NOT NULL , `c81`, `c86` IS NOT NULL , `c86`, `c98` IS NOT NULL , `c98`, `c103` IS NOT NULL , `c103`, `c132` IS NOT NULL , `c132`

Просмотреть файл

@ -11,8 +11,11 @@
"fact_table": "performance_alert_summary",
"show_foreign_keys": false,
"null_values": ["-", "unknown", ""],
"add_relations": [],
"add_relations": [
"job.option_collection_hash -> option_collection.option_collection_hash"
],
"name_relations": {
"job\\.option_collection_hash -> option_collection\\.option_collection_hash": "options",
"performance_alert_summary\\.id <- performance_alert\\.summary_id": "details",
"performance_alert_summary\\.id <- performance_alert\\.related_summary_id": "see_also"
},
@ -23,6 +26,7 @@
"commit",
"runnable_job",
"text_log_error_metadata",
"text_log_step",
"failure_line.stackwalk_stdout",
"failure_line.stackwalk_stderr"
],

Просмотреть файл

@ -121,6 +121,9 @@ class ExtractAlerts:
if len(acc) < settings.extractor.chunk_size:
break
source.close()
extractor.close()
except Exception as e:
Log.warning("problem with extraction", cause=e)

Просмотреть файл

@ -38,7 +38,8 @@
"option.name",
"repository.name",
"user.email",
"commit.revision"
"commit.revision",
"text_log_step"
],
"database": {
"debug": false,

Просмотреть файл

@ -116,8 +116,20 @@ class ExtractJobs:
# SOME LIMITS PLACES ON STRING SIZE
for fl in jx.drill(acc, "job_log.failure_line"):
fl.message = strings.limit(fl.message, 10000)
for r in acc:
r.etl.timestamp = Date.now()
# LIMIT NUMBER OF text_log_error
for job in acc:
if len(job.text_log_error) > 100:
shorter = []
known = set()
for e in job.text_log_error:
if e.line in known:
continue
known.add(e.line)
shorter.append(e)
job.text_log_error = shorter[:100]
# ASSIGN TIMESTAMP
for job in acc:
job.etl.timestamp = Date.now()
destination.extend(acc)
# RECORD THE STATE
@ -130,6 +142,9 @@ class ExtractJobs:
if len(acc) < settings.extractor.chunk_size:
break
source.close()
extractor.close()
except Exception as e:
Log.warning("problem with extraction", cause=e)

Просмотреть файл

@ -119,6 +119,9 @@ class ExtractPerf:
if len(acc) < settings.extractor.chunk_size:
break
source.close()
extractor.close()
except Exception as e:
Log.warning("problem with extraction", cause=e)