diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java index dc5170f615f1..9a4d4ea7a6d2 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java @@ -21,6 +21,7 @@ import com.google.inject.multibindings.Multibinder; import io.airlift.configuration.AbstractConfigurationAwareModule; import io.trino.plugin.base.CatalogName; +import io.trino.plugin.base.session.SessionPropertiesProvider; import io.trino.plugin.deltalake.metastore.DeltaLakeMetastore; import io.trino.plugin.deltalake.procedure.DropExtendedStatsProcedure; import io.trino.plugin.deltalake.procedure.VacuumProcedure; @@ -94,6 +95,8 @@ public void setup(Binder binder) Multibinder systemTableProviders = newSetBinder(binder, SystemTableProvider.class); systemTableProviders.addBinding().to(PropertiesSystemTableProvider.class).in(Scopes.SINGLETON); + newSetBinder(binder, SessionPropertiesProvider.class) + .addBinding().to(DeltaLakeSessionProperties.class).in(Scopes.SINGLETON); binder.bind(DeltaLakeTableProperties.class).in(Scopes.SINGLETON); binder.bind(DeltaLakeAnalyzeProperties.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/InternalDeltaLakeConnectorFactory.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/InternalDeltaLakeConnectorFactory.java index 58185d7c8669..26e0c25494be 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/InternalDeltaLakeConnectorFactory.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/InternalDeltaLakeConnectorFactory.java @@ -15,11 +15,9 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableSet; -import com.google.inject.Binder; import com.google.inject.Injector; import com.google.inject.Key; import com.google.inject.Module; -import com.google.inject.Scopes; import com.google.inject.TypeLiteral; import io.airlift.bootstrap.Bootstrap; import io.airlift.bootstrap.LifeCycleManager; @@ -104,7 +102,6 @@ public static Connector createConnector( binder.bind(CatalogName.class).toInstance(new CatalogName(catalogName)); newSetBinder(binder, EventListener.class); }, - binder -> bindSessionPropertiesProvider(binder, DeltaLakeSessionProperties.class), extraModule); Injector injector = app @@ -147,12 +144,4 @@ public static Connector createConnector( transactionManager); } } - - public static void bindSessionPropertiesProvider(Binder binder, Class type) - { - newSetBinder(binder, SessionPropertiesProvider.class) - .addBinding() - .to(type) - .in(Scopes.SINGLETON); - } } diff --git a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/glue/TestDeltaLakeGlueMetastore.java b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/glue/TestDeltaLakeGlueMetastore.java index 55cbb15ab526..5088e9a07901 100644 --- a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/glue/TestDeltaLakeGlueMetastore.java +++ b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/glue/TestDeltaLakeGlueMetastore.java @@ -18,14 +18,16 @@ import com.google.common.io.Files; import com.google.common.io.Resources; import com.google.inject.Injector; +import com.google.inject.Key; +import com.google.inject.TypeLiteral; import io.airlift.bootstrap.Bootstrap; import io.airlift.bootstrap.LifeCycleManager; import io.airlift.json.JsonModule; import io.trino.plugin.base.CatalogName; +import io.trino.plugin.base.session.SessionPropertiesProvider; import io.trino.plugin.deltalake.DeltaLakeMetadata; import io.trino.plugin.deltalake.DeltaLakeMetadataFactory; import io.trino.plugin.deltalake.DeltaLakeModule; -import io.trino.plugin.deltalake.DeltaLakeSessionProperties; import io.trino.plugin.deltalake.metastore.DeltaLakeMetastoreModule; import io.trino.plugin.hive.HdfsEnvironment; import io.trino.plugin.hive.NodeVersion; @@ -131,7 +133,10 @@ public void setUp() metadataFactory = injector.getInstance(DeltaLakeMetadataFactory.class); session = TestingConnectorSession.builder() - .setPropertyMetadata(injector.getInstance(DeltaLakeSessionProperties.class).getSessionProperties()) + .setPropertyMetadata(injector.getInstance(Key.get(new TypeLiteral>() {})).stream() + .map(SessionPropertiesProvider::getSessionProperties) + .flatMap(List::stream) + .collect(toImmutableList())) .build(); databaseName = "test_delta_glue" + randomName();