diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-07-01 08:53:37 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-07-01 08:53:37 +0200 |
commit | c703a3a63ed2808f92da677e7a798527a8034ae6 (patch) | |
tree | c553f2898f4ca008fc3619244e84d8dac453b84c /lib/repair | |
parent | 044d2ece07025b9a9cd5fa3c0514c65369ac9e4e (diff) | |
parent | 1601867c9dd6a9ce28894d96e5dce3a7e003f4e3 (diff) | |
download | nextcloud-server-c703a3a63ed2808f92da677e7a798527a8034ae6.tar.gz nextcloud-server-c703a3a63ed2808f92da677e7a798527a8034ae6.zip |
Merge pull request #15569 from owncloud/remove-getetag-properties
Remove unneeded getetag entries in properties table
Diffstat (limited to 'lib/repair')
-rw-r--r-- | lib/repair/removegetetagentries.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/lib/repair/removegetetagentries.php b/lib/repair/removegetetagentries.php new file mode 100644 index 00000000000..40040763654 --- /dev/null +++ b/lib/repair/removegetetagentries.php @@ -0,0 +1,59 @@ +<?php +/** + * @author Morris Jobke <hey@morrisjobke.de> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OC\Repair; + +use OC\Hooks\BasicEmitter; +use OCP\IDBConnection; + +class RemoveGetETagEntries extends BasicEmitter { + + /** + * @var IDBConnection + */ + protected $connection; + + /** + * @param IDBConnection $connection + */ + public function __construct(IDBConnection $connection) { + $this->connection = $connection; + } + + public function getName() { + return 'Remove getetag entries in properties table'; + } + + /** + * Removes all entries with the key "{DAV:}getetag" from the table properties + */ + public function run() { + $sql = 'DELETE FROM `*PREFIX*properties`' + . ' WHERE `propertyname` = ?'; + $deletedRows = $this->connection->executeUpdate($sql, ['{DAV:}getetag']); + + $this->emit( + '\OC\Repair', + 'info', + ['Removed ' . $deletedRows . ' unneeded "{DAV:}getetag" entries from properties table.'] + ); + } +} |