|
|
|
|
@ -1031,6 +1031,7 @@ class Manager implements ICommentsManager { |
|
|
|
|
->select('message_id') |
|
|
|
|
->from('reactions') |
|
|
|
|
->where($qb->expr()->eq('parent_id', $qb->createNamedParameter($parentId))) |
|
|
|
|
->orderBy('message_id', 'DESC') |
|
|
|
|
->executeQuery(); |
|
|
|
|
|
|
|
|
|
$commentIds = []; |
|
|
|
|
@ -1106,22 +1107,29 @@ class Manager implements ICommentsManager { |
|
|
|
|
if (!$commentIds) { |
|
|
|
|
return []; |
|
|
|
|
} |
|
|
|
|
$query = $this->dbConn->getQueryBuilder(); |
|
|
|
|
|
|
|
|
|
$chunks = array_chunk($commentIds, 500); |
|
|
|
|
|
|
|
|
|
$query = $this->dbConn->getQueryBuilder(); |
|
|
|
|
$query->select('*') |
|
|
|
|
->from('comments') |
|
|
|
|
->where($query->expr()->in('id', $query->createNamedParameter($commentIds, IQueryBuilder::PARAM_STR_ARRAY))) |
|
|
|
|
->where($query->expr()->in('id', $query->createParameter('ids'))) |
|
|
|
|
->orderBy('creation_timestamp', 'DESC') |
|
|
|
|
->addOrderBy('id', 'DESC'); |
|
|
|
|
|
|
|
|
|
$comments = []; |
|
|
|
|
$result = $query->executeQuery(); |
|
|
|
|
while ($data = $result->fetch()) { |
|
|
|
|
$comment = $this->getCommentFromData($data); |
|
|
|
|
$this->cache($comment); |
|
|
|
|
$comments[] = $comment; |
|
|
|
|
foreach ($chunks as $ids) { |
|
|
|
|
$query->setParameter('ids', $ids, IQueryBuilder::PARAM_STR_ARRAY); |
|
|
|
|
|
|
|
|
|
$result = $query->executeQuery(); |
|
|
|
|
while ($data = $result->fetch()) { |
|
|
|
|
$comment = $this->getCommentFromData($data); |
|
|
|
|
$this->cache($comment); |
|
|
|
|
$comments[] = $comment; |
|
|
|
|
} |
|
|
|
|
$result->closeCursor(); |
|
|
|
|
} |
|
|
|
|
$result->closeCursor(); |
|
|
|
|
|
|
|
|
|
return $comments; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|