summaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/CardDAV
diff options
context:
space:
mode:
authorGeorg Ehrke <developer@georgehrke.com>2018-08-24 17:23:14 +0200
committerGeorg Ehrke <developer@georgehrke.com>2019-07-18 12:42:11 +0200
commit9f6dd51912b76d13704d3843f9a87eaf38646d15 (patch)
tree8c7958d5a6760d6c978de3f0c1c3405d6f6df7e4 /apps/dav/lib/CardDAV
parent3d0e0f23530160419f182ac9e896dea6f7bc9f59 (diff)
downloadnextcloud-server-9f6dd51912b76d13704d3843f9a87eaf38646d15.tar.gz
nextcloud-server-9f6dd51912b76d13704d3843f9a87eaf38646d15.zip
LIMIT is no column but a SQL feature, allow limit on initial sync
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
Diffstat (limited to 'apps/dav/lib/CardDAV')
-rw-r--r--apps/dav/lib/CardDAV/AddressBook.php9
-rw-r--r--apps/dav/lib/CardDAV/CardDavBackend.php2
2 files changed, 10 insertions, 1 deletions
diff --git a/apps/dav/lib/CardDAV/AddressBook.php b/apps/dav/lib/CardDAV/AddressBook.php
index 096f5c8b2a9..3b02bdf5ba6 100644
--- a/apps/dav/lib/CardDAV/AddressBook.php
+++ b/apps/dav/lib/CardDAV/AddressBook.php
@@ -23,6 +23,7 @@
namespace OCA\DAV\CardDAV;
use OCA\DAV\DAV\Sharing\IShareable;
+use OCA\DAV\Exception\UnsupportedLimitOnInitialSyncException;
use OCP\IL10N;
use Sabre\CardDAV\Backend\BackendInterface;
use Sabre\CardDAV\Card;
@@ -219,4 +220,12 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
}
return true;
}
+
+ public function getChanges($syncToken, $syncLevel, $limit = null) {
+ if (!$syncToken && $limit) {
+ throw new UnsupportedLimitOnInitialSyncException();
+ }
+
+ return parent::getChanges($syncToken, $syncLevel, $limit);
+ }
}
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index f30a12bba4e..b16bcd993cf 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -814,7 +814,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$query = "SELECT `uri`, `operation` FROM `*PREFIX*addressbookchanges` WHERE `synctoken` >= ? AND `synctoken` < ? AND `addressbookid` = ? ORDER BY `synctoken`";
if ($limit>0) {
- $query .= " `LIMIT` " . (int)$limit;
+ $query .= " LIMIT " . (int)$limit;
}
// Fetching all changes