BUGFIX: insert build_target_id if not present. 74/117974/1
authorJunghyun Kim <jh0822.kim@samsung.com>
Wed, 8 Mar 2017 07:29:35 +0000 (16:29 +0900)
committerJunghyun Kim <jh0822.kim@samsung.com>
Wed, 8 Mar 2017 07:29:35 +0000 (16:29 +0900)
Change-Id: Ib91aad86182e67cf27548e6195e677688fc600ba
Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
job_buildmonitor.py

index e8866e1..616b4ce 100644 (file)
@@ -1174,6 +1174,24 @@ def update_unresolvable_broken_packages(project, unresolvable_broken_packages):
             for p in unresolvable_broken_packages[repo][arch]:
                 status = unresolvable_broken_packages[repo][arch][p]
 
+                # INSERT build_target_id if not present
+                query = "SELECT id FROM build_target WHERE build_project_id=%s AND repository=%s "\
+                        "AND arch=%s ORDER BY id DESC LIMIT 1"
+                query_data = (curr_build_project_id, repo, arch)
+                curr_build_target_id = buildmonitor_db.get_value_from_query_data(query, query_data)
+
+                if curr_build_target_id == INVALID_ID:
+                    query = "INSERT INTO build_target (build_project_id, repository, arch, "\
+                            "start_time, end_time, status, status_reason, last_flag) "\
+                            "VALUES (%s, %s, %s, NOW(), NOW(), 'S', '', 'Y')"
+                    query_data = (curr_build_project_id, repo, arch)
+                    buildmonitor_db.do_query(query, query_data)
+
+                    query = "SELECT id FROM build_target WHERE build_project_id=%s AND repository=%s "\
+                            "AND arch=%s ORDER BY id DESC LIMIT 1"
+                    query_data = (curr_build_project_id, repo, arch)
+                    curr_build_target_id = buildmonitor_db.get_value_from_query_data(query, query_data)
+
                 # INSERT package if package is not present.
                 query = "SELECT id FROM info_package WHERE info_project_id=%s AND package_name=%s "\
                         "AND active_flag='Y' ORDER BY id DESC LIMIT 1"
@@ -1192,11 +1210,9 @@ def update_unresolvable_broken_packages(project, unresolvable_broken_packages):
                     curr_info_package_id = buildmonitor_db.get_value_from_query_data(query, query_data)
 
                 query = "INSERT INTO build_package (build_target_id, info_package_id, start_time," \
-                        "end_time, build_status) VALUES ("\
-                        "(SELECT id FROM build_target WHERE build_project_id=%s AND repository=%s "\
-                        "AND arch=%s ORDER BY id DESC LIMIT 1), "\
-                        "%s, NOW(), NOW(), %s)"
-                query_data = (curr_build_project_id, repo, arch, curr_info_package_id, status)
+                        "end_time, build_status) "\
+                        "VALUES (%s, %s, NOW(), NOW(), %s)"
+                query_data = (curr_build_target_id, curr_info_package_id, status)
                 buildmonitor_db.do_query(query, query_data)
 
 #===============================================================================