From cc82e935ded79e6c05f6ff074d32e8734d04521d Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Tue, 28 May 2019 09:03:41 +0200 Subject: [PATCH] OO-3934: limit depth for migration, longer length for urls field --- .../services/vfs/manager/VFSRepositoryServiceImpl.java | 6 ++++++ .../resources/database/mysql/alter_13_2_x_to_13_3_0.sql | 4 ++-- src/main/resources/database/mysql/setupDatabase.sql | 4 ++-- .../resources/database/oracle/alter_13_2_x_to_13_3_0.sql | 4 ++-- src/main/resources/database/oracle/setupDatabase.sql | 4 ++-- .../database/postgresql/alter_13_2_x_to_13_3_0.sql | 4 ++-- src/main/resources/database/postgresql/setupDatabase.sql | 4 ++-- 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java b/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java index 68a4b083ca7..f2b7c4bb02a 100644 --- a/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java +++ b/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java @@ -1077,6 +1077,11 @@ public class VFSRepositoryServiceImpl implements VFSRepositoryService, GenericEv if(directory.isHidden() || VFSRepositoryModule.canMeta(directory) != VFSConstants.YES) { return FileVisitResult.SKIP_SUBTREE; } + if(dir.getNameCount() > 50) { + log.error("More than 50 directories deep. Stop migrating metadata: {}", directory); + return FileVisitResult.SKIP_SUBTREE; + } + VFSMetadata parent = parentLine.peekLast(); VFSMetadata metadata = migrateMetadata(dir.toFile(), parent); parentLine.add(metadata); @@ -1084,6 +1089,7 @@ public class VFSRepositoryServiceImpl implements VFSRepositoryService, GenericEv dbInstance.commitAndCloseSession(); return FileVisitResult.SKIP_SUBTREE; } + dbInstance.commit(); return FileVisitResult.CONTINUE; } diff --git a/src/main/resources/database/mysql/alter_13_2_x_to_13_3_0.sql b/src/main/resources/database/mysql/alter_13_2_x_to_13_3_0.sql index a73f66da947..981cacfa985 100644 --- a/src/main/resources/database/mysql/alter_13_2_x_to_13_3_0.sql +++ b/src/main/resources/database/mysql/alter_13_2_x_to_13_3_0.sql @@ -22,7 +22,7 @@ create table o_vfs_metadata ( f_city varchar(256), f_pages varchar(16), f_language varchar(16), - f_url text(4000), + f_url text(2000), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), @@ -91,7 +91,7 @@ create table o_vfs_revision ( f_city varchar(256), f_pages varchar(16), f_language varchar(16), - f_url text(1024), + f_url text(2048), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 17a0aaadf33..5b8049b64ff 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -1732,7 +1732,7 @@ create table o_vfs_metadata ( f_city varchar(256), f_pages varchar(16), f_language varchar(16), - f_url text(1024), + f_url text(2000), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), @@ -1783,7 +1783,7 @@ create table o_vfs_revision ( f_city varchar(256), f_pages varchar(16), f_language varchar(16), - f_url text(1024), + f_url text(2048), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), diff --git a/src/main/resources/database/oracle/alter_13_2_x_to_13_3_0.sql b/src/main/resources/database/oracle/alter_13_2_x_to_13_3_0.sql index 9ad8fef8984..143a62b3c33 100644 --- a/src/main/resources/database/oracle/alter_13_2_x_to_13_3_0.sql +++ b/src/main/resources/database/oracle/alter_13_2_x_to_13_3_0.sql @@ -21,7 +21,7 @@ create table o_vfs_metadata ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2000), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), @@ -91,7 +91,7 @@ create table o_vfs_revision ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2048), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), diff --git a/src/main/resources/database/oracle/setupDatabase.sql b/src/main/resources/database/oracle/setupDatabase.sql index 39822040f87..b5ecbd9f754 100644 --- a/src/main/resources/database/oracle/setupDatabase.sql +++ b/src/main/resources/database/oracle/setupDatabase.sql @@ -1660,7 +1660,7 @@ create table o_vfs_metadata ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2000), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), @@ -1709,7 +1709,7 @@ create table o_vfs_revision ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2048), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), diff --git a/src/main/resources/database/postgresql/alter_13_2_x_to_13_3_0.sql b/src/main/resources/database/postgresql/alter_13_2_x_to_13_3_0.sql index d1f2eaf6f38..9af68940ef9 100644 --- a/src/main/resources/database/postgresql/alter_13_2_x_to_13_3_0.sql +++ b/src/main/resources/database/postgresql/alter_13_2_x_to_13_3_0.sql @@ -22,7 +22,7 @@ create table o_vfs_metadata ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2000), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), @@ -91,7 +91,7 @@ create table o_vfs_revision ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2048), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index dff4ee28b11..3aa82040360 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -1625,7 +1625,7 @@ create table o_vfs_metadata ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2000), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), @@ -1676,7 +1676,7 @@ create table o_vfs_revision ( f_city varchar(256), f_pages varchar(2000), f_language varchar(16), - f_url varchar(1024), + f_url varchar(2048), f_pub_month varchar(16), f_pub_year varchar(16), f_license_type_name varchar(256), -- GitLab