Add closeCursor to datas sources, recommendation job, a=chris
Add closeCursor to datas sources, recommendation job, a=chris
diff --git a/src/library/media_jobs/RecommendationJob.php b/src/library/media_jobs/RecommendationJob.php
index c3a49e47e..fc8ad40f4 100644
--- a/src/library/media_jobs/RecommendationJob.php
+++ b/src/library/media_jobs/RecommendationJob.php
@@ -1286,6 +1286,7 @@ class RecommendationJob extends MediaJob
"WHERE ITEM_TYPE = ? AND ID = ? " . $db->limitOffset(1);
$result = $db->execute($sql, [$item_type, $term_id]);
$row = $db->fetchArray($result);
+ $db->closeCursor($result);
if (!$row || !is_string($row['VECTOR'])) {
$term_embedding = pack("E*", ...array_fill(1,
C\EMBEDDING_VECTOR_SIZE, 0.0));
@@ -1295,7 +1296,7 @@ class RecommendationJob extends MediaJob
}
if ($update) {
$this->updateTermEmbeddingCache($term_id, $term_embedding,
- $item_type);
+ $item_type, "getTermEmbedding");
}
return $term_embedding;
}
diff --git a/src/models/datasources/DatasourceManager.php b/src/models/datasources/DatasourceManager.php
index 16404617c..4bc128dab 100755
--- a/src/models/datasources/DatasourceManager.php
+++ b/src/models/datasources/DatasourceManager.php
@@ -120,6 +120,10 @@ abstract class DatasourceManager
* associative array in the form column_name => value
*/
abstract public function fetchArray($result);
+ /**
+ *
+ */
+ abstract public function closeCursor($result);
/**
* Used to escape strings before insertion in the
* database to avoid SQL injection
diff --git a/src/models/datasources/PdoManager.php b/src/models/datasources/PdoManager.php
index 59d250e3a..0a96857ec 100644
--- a/src/models/datasources/PdoManager.php
+++ b/src/models/datasources/PdoManager.php
@@ -272,6 +272,10 @@ class PdoManager extends DatasourceManager
}
return $this->pdo->lastInsertId();
}
+ public function closeCursor($result)
+ {
+ $result->closeCursor();
+ }
/**
* {@inheritDoc}
*