From 38f76baf1003663a3850164c2cb4c8d4618ab89b Mon Sep 17 00:00:00 2001 From: Vadim Khizhin <61172261+mfaulther@users.noreply.github.com> Date: Sat, 4 May 2024 10:07:09 +0300 Subject: [PATCH] Add b-tree indexes on array columns check (#171) * Add b-tree indexes on array columns check * fix: missing bean annotation --------- Co-authored-by: Ivan Vakhrushev --- .../spring/DatabaseStructureHealthAutoConfiguration.java | 9 +++++++++ .../mfvanek/pg/spring/AutoConfigurationTestBase.java | 1 + ...aseStructureHealthAutoConfigurationFilteringTest.java | 2 ++ 3 files changed, 12 insertions(+) diff --git a/pg-index-health-test-starter/src/main/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfiguration.java b/pg-index-health-test-starter/src/main/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfiguration.java index 183a45e..cb6121b 100644 --- a/pg-index-health-test-starter/src/main/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfiguration.java +++ b/pg-index-health-test-starter/src/main/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfiguration.java @@ -9,6 +9,7 @@ package io.github.mfvanek.pg.spring; +import io.github.mfvanek.pg.checks.host.BtreeIndexesOnArrayColumnsCheckOnHost; import io.github.mfvanek.pg.checks.host.ColumnsWithJsonTypeCheckOnHost; import io.github.mfvanek.pg.checks.host.ColumnsWithSerialTypesCheckOnHost; import io.github.mfvanek.pg.checks.host.ColumnsWithoutDescriptionCheckOnHost; @@ -222,6 +223,14 @@ public NotValidConstraintsCheckOnHost notValidConstraintsCheckOnHost(final PgCon return new NotValidConstraintsCheckOnHost(pgConnection); } + @Bean + @ConditionalOnClass(BtreeIndexesOnArrayColumnsCheckOnHost.class) + @ConditionalOnBean(PgConnection.class) + @ConditionalOnMissingBean + public BtreeIndexesOnArrayColumnsCheckOnHost btreeIndexesOnArrayColumnsCheckOnHost(final PgConnection pgConnection) { + return new BtreeIndexesOnArrayColumnsCheckOnHost(pgConnection); + } + @Bean @ConditionalOnClass(StatisticsMaintenanceOnHost.class) @ConditionalOnBean(PgConnection.class) diff --git a/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/AutoConfigurationTestBase.java b/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/AutoConfigurationTestBase.java index 32418e8..1327b62 100644 --- a/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/AutoConfigurationTestBase.java +++ b/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/AutoConfigurationTestBase.java @@ -47,6 +47,7 @@ abstract class AutoConfigurationTestBase { "functionsWithoutDescriptionCheckOnHost", "indexesWithBooleanCheckOnHost", "notValidConstraintsCheckOnHost", + "btreeIndexesOnArrayColumnsCheckOnHost", "statisticsMaintenanceOnHost", "configurationMaintenanceOnHost" ); diff --git a/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfigurationFilteringTest.java b/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfigurationFilteringTest.java index 454b632..81a817a 100644 --- a/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfigurationFilteringTest.java +++ b/pg-index-health-test-starter/src/test/java/io/github/mfvanek/pg/spring/DatabaseStructureHealthAutoConfigurationFilteringTest.java @@ -9,6 +9,7 @@ package io.github.mfvanek.pg.spring; +import io.github.mfvanek.pg.checks.host.BtreeIndexesOnArrayColumnsCheckOnHost; import io.github.mfvanek.pg.checks.host.ColumnsWithJsonTypeCheckOnHost; import io.github.mfvanek.pg.checks.host.ColumnsWithSerialTypesCheckOnHost; import io.github.mfvanek.pg.checks.host.ColumnsWithoutDescriptionCheckOnHost; @@ -56,6 +57,7 @@ class DatabaseStructureHealthAutoConfigurationFilteringTest extends AutoConfigur FunctionsWithoutDescriptionCheckOnHost.class, IndexesWithBooleanCheckOnHost.class, NotValidConstraintsCheckOnHost.class, + BtreeIndexesOnArrayColumnsCheckOnHost.class, StatisticsMaintenanceOnHost.class, ConfigurationMaintenanceOnHost.class}) void withoutClass(final Class type) {