Merge pull request #36493 from nextcloud/backport/36487/stable23

[stable23] Do not reuse query builder objects in DAV account deletion
This commit is contained in:
Joas Schilling 2023-02-03 12:51:37 +01:00 committed by GitHub
commit 2da906206f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View file

@ -931,7 +931,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
->executeStatement();
$qbDeleteCalendarChanges = $this->db->getQueryBuilder();
$qbDeleteCalendarObjects->delete('calendarchanges')
$qbDeleteCalendarChanges->delete('calendarchanges')
->where($qbDeleteCalendarChanges->expr()->eq('calendarid', $qbDeleteCalendarChanges->createNamedParameter($calendarId)))
->andWhere($qbDeleteCalendarChanges->expr()->eq('calendartype', $qbDeleteCalendarChanges->createNamedParameter(self::CALENDAR_TYPE_CALENDAR)))
->executeStatement();
@ -939,7 +939,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->calendarSharingBackend->deleteAllShares($calendarId);
$qbDeleteCalendar = $this->db->getQueryBuilder();
$qbDeleteCalendarObjects->delete('calendars')
$qbDeleteCalendar->delete('calendars')
->where($qbDeleteCalendar->expr()->eq('id', $qbDeleteCalendar->createNamedParameter($calendarId)))
->executeStatement();

View file

@ -482,11 +482,13 @@ class CardDavBackend implements BackendInterface, SyncSupport {
->setParameter('addressbookid', $addressBookId)
->execute();
$query = $this->db->getQueryBuilder();
$query->delete('addressbookchanges')
->where($query->expr()->eq('addressbookid', $query->createParameter('addressbookid')))
->setParameter('addressbookid', $addressBookId)
->execute();
$query = $this->db->getQueryBuilder();
$query->delete('addressbooks')
->where($query->expr()->eq('id', $query->createParameter('id')))
->setParameter('id', $addressBookId)
@ -494,6 +496,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$this->sharingBackend->deleteAllShares($addressBookId);
$query = $this->db->getQueryBuilder();
$query->delete($this->dbCardsPropertiesTable)
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
->execute();