diff options
author | Robin Appelman <robin@icewind.nl> | 2021-08-26 15:25:17 +0300 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2021-10-08 19:39:22 +0300 |
commit | 695326534c18749f36e9172e7b7345824213ee60 (patch) | |
tree | cc3238eeb2a0a39d4a399f664300e2c6560424fd /core | |
parent | abd6b354acc7e930302ffacb2a7ec92dd88fcad7 (diff) |
disable path prefix index on postgresql for now
having the index work properly for the queries we need it for requires some additional options which dbal does not support at the momement.
to prevent making it harder to add the correct index later on we don't create the index for now on postgresql
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'core')
-rw-r--r-- | core/Application.php | 3 | ||||
-rw-r--r-- | core/Command/Db/AddMissingIndices.php | 3 | ||||
-rw-r--r-- | core/Migrations/Version13000Date20170718121200.php | 5 |
3 files changed, 8 insertions, 3 deletions
diff --git a/core/Application.php b/core/Application.php index 06c3cc67b93..d987f7cfb17 100644 --- a/core/Application.php +++ b/core/Application.php @@ -31,6 +31,7 @@ */ namespace OC\Core; +use Doctrine\DBAL\Platforms\PostgreSQL94Platform; use OC\Authentication\Events\RemoteWipeFinished; use OC\Authentication\Events\RemoteWipeStarted; use OC\Authentication\Listeners\RemoteWipeActivityListener; @@ -119,7 +120,7 @@ class Application extends App { $subject->addHintForMissingSubject($table->getName(), 'fs_id_storage_size'); } - if (!$table->hasIndex('fs_storage_path_prefix')) { + if (!$table->hasIndex('fs_storage_path_prefix') && !$schema->getDatabasePlatform() instanceof PostgreSQL94Platform) { $subject->addHintForMissingSubject($table->getName(), 'fs_storage_path_prefix'); } } diff --git a/core/Command/Db/AddMissingIndices.php b/core/Command/Db/AddMissingIndices.php index 449ee03d325..348b4f94f0d 100644 --- a/core/Command/Db/AddMissingIndices.php +++ b/core/Command/Db/AddMissingIndices.php @@ -33,6 +33,7 @@ declare(strict_types=1); */ namespace OC\Core\Command\Db; +use Doctrine\DBAL\Platforms\PostgreSQL94Platform; use OC\DB\Connection; use OC\DB\SchemaWrapper; use OCP\IDBConnection; @@ -151,7 +152,7 @@ class AddMissingIndices extends Command { $updated = true; $output->writeln('<info>Filecache table updated successfully.</info>'); } - if (!$table->hasIndex('fs_storage_path_prefix')) { + if (!$table->hasIndex('fs_storage_path_prefix') && !$schema->getDatabasePlatform() instanceof PostgreSQL94Platform) { $output->writeln('<info>Adding additional path index to the filecache table, this can take some time...</info>'); $table->addIndex(['storage', 'path'], 'fs_storage_path_prefix', [], ['lengths' => [null, 64]]); $this->connection->migrateToSchema($schema->getWrappedSchema()); diff --git a/core/Migrations/Version13000Date20170718121200.php b/core/Migrations/Version13000Date20170718121200.php index bb4f7e895a3..4fa8fb3d1e9 100644 --- a/core/Migrations/Version13000Date20170718121200.php +++ b/core/Migrations/Version13000Date20170718121200.php @@ -31,6 +31,7 @@ */ namespace OC\Core\Migrations; +use Doctrine\DBAL\Platforms\PostgreSQL94Platform; use OCP\DB\Types; use OCP\DB\ISchemaWrapper; use OCP\IDBConnection; @@ -264,7 +265,9 @@ class Version13000Date20170718121200 extends SimpleMigrationStep { $table->addIndex(['fileid', 'storage', 'size'], 'fs_id_storage_size'); $table->addIndex(['mtime'], 'fs_mtime'); $table->addIndex(['size'], 'fs_size'); - $table->addIndex(['storage', 'path'], 'fs_storage_path_prefix', [], ['lengths' => [null, 64]]); + if (!$schema->getDatabasePlatform() instanceof PostgreSQL94Platform) { + $table->addIndex(['storage', 'path'], 'fs_storage_path_prefix', [], ['lengths' => [null, 64]]); + } } if (!$schema->hasTable('group_user')) { |