Fixed the perf_view database view in TKO. Changed an INNER JOIN to join on the
correct column.

Risk: low
Visibility: low

Signed-off-by: James Ren <jamesren@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1866 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/migrations/013_fix_perf_view.py b/tko/migrations/013_fix_perf_view.py
new file mode 100644
index 0000000..7e91eac
--- /dev/null
+++ b/tko/migrations/013_fix_perf_view.py
@@ -0,0 +1,79 @@
+def migrate_up(manager):
+    manager.execute(ALTER_VIEWS_UP_SQL)
+
+
+def migrate_down(manager):
+    manager.execute(ALTER_VIEWS_DOWN_SQL)
+
+
+ALTER_VIEWS_UP_SQL = """\
+ALTER VIEW perf_view AS
+SELECT  tests.test_idx,
+        tests.job_idx,
+        tests.test,
+        tests.subdir,
+        tests.kernel_idx,
+        tests.status,
+        tests.reason,
+        tests.machine_idx,
+        tests.started_time AS test_started_time,
+        tests.finished_time AS test_finished_time,
+        jobs.tag AS job_tag,
+        jobs.label AS job_label,
+        jobs.username AS job_username,
+        jobs.queued_time AS job_queued_time,
+        jobs.started_time AS job_started_time,
+        jobs.finished_time AS job_finished_time,
+        machines.hostname AS machine_hostname,
+        machines.machine_group,
+        machines.owner AS machine_owner,
+        kernels.kernel_hash,
+        kernels.base AS kernel_base,
+        kernels.printable AS kernel_printable,
+        status.word AS status_word,
+        iteration_result.iteration,
+        iteration_result.attribute AS iteration_key,
+        iteration_result.value AS iteration_value
+FROM tests
+INNER JOIN jobs ON jobs.job_idx = tests.job_idx
+INNER JOIN machines ON machines.machine_idx = jobs.machine_idx
+INNER JOIN kernels ON kernels.kernel_idx = tests.kernel_idx
+INNER JOIN status ON status.status_idx = tests.status
+INNER JOIN iteration_result ON iteration_result.test_idx = tests.test_idx;
+"""
+
+ALTER_VIEWS_DOWN_SQL = """\
+ALTER VIEW perf_view AS
+SELECT  tests.test_idx,
+        tests.job_idx,
+        tests.test,
+        tests.subdir,
+        tests.kernel_idx,
+        tests.status,
+        tests.reason,
+        tests.machine_idx,
+        tests.started_time AS test_started_time,
+        tests.finished_time AS test_finished_time,
+        jobs.tag AS job_tag,
+        jobs.label AS job_label,
+        jobs.username AS job_username,
+        jobs.queued_time AS job_queued_time,
+        jobs.started_time AS job_started_time,
+        jobs.finished_time AS job_finished_time,
+        machines.hostname AS machine_hostname,
+        machines.machine_group,
+        machines.owner AS machine_owner,
+        kernels.kernel_hash,
+        kernels.base AS kernel_base,
+        kernels.printable AS kernel_printable,
+        status.word AS status_word,
+        iteration_result.iteration,
+        iteration_result.attribute AS iteration_key,
+        iteration_result.value AS iteration_value
+FROM tests
+INNER JOIN jobs ON jobs.job_idx = tests.job_idx
+INNER JOIN machines ON machines.machine_idx = jobs.machine_idx
+INNER JOIN kernels ON kernels.kernel_idx = tests.kernel_idx
+INNER JOIN status ON status.status_idx = tests.status
+INNER JOIN iteration_result ON iteration_result.test_idx = tests.kernel_idx;
+"""