]> source.dussan.org Git - nextcloud-server.git/commitdiff
for the DB ot pick an index specify the object_type 19281/head
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Mon, 3 Feb 2020 15:17:25 +0000 (16:17 +0100)
committerArthur Schiwon <blizzz@arthur-schiwon.de>
Mon, 3 Feb 2020 15:17:25 +0000 (16:17 +0100)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
lib/private/Comments/Manager.php

index a4be8b3e4b15da0588e937610a62e5c056bab7c1..f1c7224359774ea3ea5bd4145992c1e02afd906b 100644 (file)
@@ -601,11 +601,13 @@ class Manager implements ICommentsManager {
                $query = $qb->select('f.fileid')
                        ->addSelect($qb->func()->count('c.id', 'num_ids'))
                        ->from('filecache', 'f')
-                       ->leftJoin('f', 'comments', 'c', $qb->expr()->eq(
-                               'f.fileid', $qb->expr()->castColumn('c.object_id', IQueryBuilder::PARAM_INT)
+                       ->leftJoin('f', 'comments', 'c', $qb->expr()->andX(
+                               $qb->expr()->eq('f.fileid', $qb->expr()->castColumn('c.object_id', IQueryBuilder::PARAM_INT)),
+                               $qb->expr()->eq('c.object_type', $qb->createNamedParameter('files'))
                        ))
-                       ->leftJoin('c', 'comments_read_markers', 'm', $qb->expr()->eq(
-                               'c.object_id', 'm.object_id'
+                       ->leftJoin('c', 'comments_read_markers', 'm', $qb->expr()->andX(
+                               $qb->expr()->eq('c.object_id', 'm.object_id'),
+                               $qb->expr()->eq('m.object_type', $qb->createNamedParameter('files'))
                        ))
                        ->where(
                                $qb->expr()->andX(