diff --git a/apps/dav/appinfo/info.xml b/apps/dav/appinfo/info.xml
index 6f5a085ef0576..438cde89b47c9 100644
--- a/apps/dav/appinfo/info.xml
+++ b/apps/dav/appinfo/info.xml
@@ -10,7 +10,7 @@
WebDAV
WebDAV endpoint
WebDAV endpoint
- 1.32.0
+ 1.32.1
agpl
owncloud.org
DAV
diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php
index 2e878decb3f96..bc33183347207 100644
--- a/apps/dav/composer/composer/autoload_classmap.php
+++ b/apps/dav/composer/composer/autoload_classmap.php
@@ -340,6 +340,11 @@
'OCA\\DAV\\Migration\\Version1029Date20231004091403' => $baseDir . '/../lib/Migration/Version1029Date20231004091403.php',
'OCA\\DAV\\Migration\\Version1030Date20240205103243' => $baseDir . '/../lib/Migration/Version1030Date20240205103243.php',
'OCA\\DAV\\Migration\\Version1031Date20240610134258' => $baseDir . '/../lib/Migration/Version1031Date20240610134258.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230630084412' => $baseDir . '/../lib/Migration/Version1032Date20230630084412.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230630091518' => $baseDir . '/../lib/Migration/Version1032Date20230630091518.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230702074215' => $baseDir . '/../lib/Migration/Version1032Date20230702074215.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230702074341' => $baseDir . '/../lib/Migration/Version1032Date20230702074341.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230702074342' => $baseDir . '/../lib/Migration/Version1032Date20230702074342.php',
'OCA\\DAV\\Profiler\\ProfilerPlugin' => $baseDir . '/../lib/Profiler/ProfilerPlugin.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningNode' => $baseDir . '/../lib/Provisioning/Apple/AppleProvisioningNode.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningPlugin' => $baseDir . '/../lib/Provisioning/Apple/AppleProvisioningPlugin.php',
diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php
index 5f43453cda6a7..3759d3d41a900 100644
--- a/apps/dav/composer/composer/autoload_static.php
+++ b/apps/dav/composer/composer/autoload_static.php
@@ -355,6 +355,11 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Migration\\Version1029Date20231004091403' => __DIR__ . '/..' . '/../lib/Migration/Version1029Date20231004091403.php',
'OCA\\DAV\\Migration\\Version1030Date20240205103243' => __DIR__ . '/..' . '/../lib/Migration/Version1030Date20240205103243.php',
'OCA\\DAV\\Migration\\Version1031Date20240610134258' => __DIR__ . '/..' . '/../lib/Migration/Version1031Date20240610134258.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230630084412' => __DIR__ . '/..' . '/../lib/Migration/Version1032Date20230630084412.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230630091518' => __DIR__ . '/..' . '/../lib/Migration/Version1032Date20230630091518.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230702074215' => __DIR__ . '/..' . '/../lib/Migration/Version1032Date20230702074215.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230702074341' => __DIR__ . '/..' . '/../lib/Migration/Version1032Date20230702074341.php',
+ 'OCA\\DAV\\Migration\\Version1032Date20230702074342' => __DIR__ . '/..' . '/../lib/Migration/Version1032Date20230702074342.php',
'OCA\\DAV\\Profiler\\ProfilerPlugin' => __DIR__ . '/..' . '/../lib/Profiler/ProfilerPlugin.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningNode' => __DIR__ . '/..' . '/../lib/Provisioning/Apple/AppleProvisioningNode.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningPlugin' => __DIR__ . '/..' . '/../lib/Provisioning/Apple/AppleProvisioningPlugin.php',
diff --git a/apps/dav/lib/Migration/Version1032Date20230630084412.php b/apps/dav/lib/Migration/Version1032Date20230630084412.php
new file mode 100644
index 0000000000000..57b97e6489acf
--- /dev/null
+++ b/apps/dav/lib/Migration/Version1032Date20230630084412.php
@@ -0,0 +1,75 @@
+connection->getQueryBuilder();
+ $query->delete('properties')
+ ->where($query->expr()->eq('valuetype', $query->createNamedParameter(3)))
+ ->executeStatement();
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure(): ISchemaWrapper $schemaClosure
+ * @param array $options
+ * @return null|ISchemaWrapper
+ */
+ public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
+ /** @var ISchemaWrapper $schema */
+ $schema = $schemaClosure();
+ $propertiesTable = $schema->getTable('properties');
+ if ($propertiesTable->hasColumn('propertyvaluenew')) {
+ return null;
+ }
+ $propertiesTable->addColumn('propertyvaluenew', Types::TEXT, [
+ 'notnull' => false
+ ]);
+
+ return $schema;
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure(): ISchemaWrapper $schemaClosure
+ * @param array $options
+ */
+ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
+ $query = $this->connection->getQueryBuilder();
+ $query->update('properties')
+ ->set('propertyvaluenew', 'propertyvalue')
+ ->executeStatement();
+ }
+}
diff --git a/apps/dav/lib/Migration/Version1032Date20230630091518.php b/apps/dav/lib/Migration/Version1032Date20230630091518.php
new file mode 100644
index 0000000000000..176bf4e906f59
--- /dev/null
+++ b/apps/dav/lib/Migration/Version1032Date20230630091518.php
@@ -0,0 +1,54 @@
+getTable('properties');
+
+ $propertiesTable->dropColumn('propertyvalue');
+
+ return $schema;
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure(): ISchemaWrapper $schemaClosure
+ * @param array $options
+ */
+ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
+ }
+}
diff --git a/apps/dav/lib/Migration/Version1032Date20230702074215.php b/apps/dav/lib/Migration/Version1032Date20230702074215.php
new file mode 100644
index 0000000000000..17d97c607d1a5
--- /dev/null
+++ b/apps/dav/lib/Migration/Version1032Date20230702074215.php
@@ -0,0 +1,67 @@
+getTable('properties');
+ $propertiesTable->addColumn('propertyvalue', Types::BLOB, [
+ 'notnull' => false
+ ]);
+ return $schema;
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure(): ISchemaWrapper $schemaClosure
+ * @param array $options
+ */
+ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
+ if ($this->connection->getDatabasePlatform() instanceof PostgreSQLPlatform) {
+ $this->connection->executeStatement('UPDATE `*prefix*properties` SET `propertyvalue` = propertyvaluenew::bytea');
+ } else {
+ $query = $this->connection->getQueryBuilder();
+ $query->update('properties')
+ ->set('propertyvalue', 'propertyvaluenew')
+ ->executeStatement();
+ }
+ }
+}
diff --git a/apps/dav/lib/Migration/Version1032Date20230702074341.php b/apps/dav/lib/Migration/Version1032Date20230702074341.php
new file mode 100644
index 0000000000000..778787fba49a6
--- /dev/null
+++ b/apps/dav/lib/Migration/Version1032Date20230702074341.php
@@ -0,0 +1,54 @@
+getTable('properties');
+ $propertiesTable->changeColumn('propertyvalue', [
+ 'notnull' => true
+ ]);
+ $propertiesTable->dropColumn('propertyvaluenew');
+ return $schema;
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure(): ISchemaWrapper $schemaClosure
+ * @param array $options
+ */
+ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
+ }
+}
diff --git a/apps/dav/lib/Migration/Version1032Date20230702074342.php b/apps/dav/lib/Migration/Version1032Date20230702074342.php
new file mode 100644
index 0000000000000..7ba84d1f80113
--- /dev/null
+++ b/apps/dav/lib/Migration/Version1032Date20230702074342.php
@@ -0,0 +1,61 @@
+getTable('properties');
+
+ // Indexes can't be added on columns with such length, so we drop them here before recreating them
+ $propertiesTable->dropIndex('properties_path_index');
+ $propertiesTable->dropIndex('properties_pathonly_index');
+
+ $propertyValueColumn = $propertiesTable->getColumn('propertypath');
+ $propertyValueColumn->setLength(4000);
+
+ $propertiesTable->addIndex(['userid', 'propertypath'], 'properties_path_idx_prefix', [], ['lengths' => [null, 64]]);
+ $propertiesTable->addIndex(['propertypath'], 'properties_pathonly_idx_prefix', [], ['lengths' => [64]]);
+
+ return $schema;
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure(): ISchemaWrapper $schemaClosure
+ * @param array $options
+ */
+ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
+ }
+}