More closeCursor tweaks to recommendation job, a=chris
More closeCursor tweaks to recommendation job, a=chris
diff --git a/src/library/media_jobs/RecommendationJob.php b/src/library/media_jobs/RecommendationJob.php
index fc8ad40f4..6ccf7d067 100644
--- a/src/library/media_jobs/RecommendationJob.php
+++ b/src/library/media_jobs/RecommendationJob.php
@@ -1285,12 +1285,15 @@ class RecommendationJob extends MediaJob
$sql = "SELECT VECTOR FROM RECOMMENDATION_TERM_EMBEDDING " .
"WHERE ITEM_TYPE = ? AND ID = ? " . $db->limitOffset(1);
$result = $db->execute($sql, [$item_type, $term_id]);
- $row = $db->fetchArray($result);
- $db->closeCursor($result);
+ $row = null;
+ if ($result) {
+ $row = $db->fetchArray($result);
+ }
if (!$row || !is_string($row['VECTOR'])) {
$term_embedding = pack("E*", ...array_fill(1,
C\EMBEDDING_VECTOR_SIZE, 0.0));
} else {
+ $db->closeCursor($result);
$term_embedding = base64_decode($row['VECTOR'], true);
}
}
@@ -1322,8 +1325,11 @@ class RecommendationJob extends MediaJob
"(?, ?, ?) $on_conflict SET VECTOR = ?";
$vector = base64_encode($evicted_item[1]);
$db->pre_message = "$message {$evicted_item[0]} was evicted";
- $db->execute($sql, [$evicted_item[0], $item_type,
+ $result = $db->execute($sql, [$evicted_item[0], $item_type,
$vector, $vector]);
+ if ($result) {
+ $db->closeCursor($result);
+ }
}
}
/**