diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-04-13 12:32:04 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-06-25 08:44:26 +0200 |
commit | 1601867c9dd6a9ce28894d96e5dce3a7e003f4e3 (patch) | |
tree | 102a5bd8b2e1697e071522826abe8e01e287d4d3 /lib/repair | |
parent | 160d8003f8d42eb3856ba45680c0ace73bee9618 (diff) | |
download | nextcloud-server-1601867c9dd6a9ce28894d96e5dce3a7e003f4e3.tar.gz nextcloud-server-1601867c9dd6a9ce28894d96e5dce3a7e003f4e3.zip |
Remove unneeded getetag entries in properties table
* fixes #13281
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.'] + ); + } +} |