|
@@ -436,6 +436,7 @@ function chado_update_cvtermpath($cv_id, $job = NULL) {
|
|
|
INNER JOIN {cvterm} CVTO on CVTO.cvterm_id = CVTR.object_id
|
|
|
INNER JOIN {cvterm} CVTS on CVTS.cvterm_id = CVTR.subject_id
|
|
|
WHERE CVTO.cv_id = :cv_id
|
|
|
+ ORDER BY CVTR.object_id, CVTR.subject_id
|
|
|
";
|
|
|
$rels = chado_query($sql, [':cv_id' => $cv_id]);
|
|
|
$total_items;
|
|
@@ -618,15 +619,15 @@ function _chado_update_cvtermpath_process_children($cv_id, $root_id, $cvterm_id,
|
|
|
foreach ($children as $child) {
|
|
|
$child_id = $child[0];
|
|
|
$child_type_id = $child[1];
|
|
|
-
|
|
|
- _chado_update_cvtermpath_add_relationship($child_type_id, $child_id, $root_id,
|
|
|
- $cv_id, $next_depth);
|
|
|
-
|
|
|
+
|
|
|
// Don't descend for children we've already seen.
|
|
|
if (array_key_exists($child_id, $cache['nodes_processed'])) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ _chado_update_cvtermpath_add_relationship($child_type_id, $child_id, $root_id,
|
|
|
+ $cv_id, $next_depth);
|
|
|
+
|
|
|
_chado_update_cvtermpath_process_children($cv_id, $root_id, $child_id, $path, $cache, $next_depth);
|
|
|
}
|
|
|
}
|