diff --git a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java index 3ae7da923f1b..cc10f6fb53f2 100644 --- a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java +++ b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java @@ -13,6 +13,7 @@ */ package io.trino.plugin.jdbc; +import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -82,6 +83,7 @@ import static com.google.common.base.Functions.identity; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; +import static com.google.common.base.Splitter.fixedLength; import static com.google.common.base.Verify.verify; import static com.google.common.base.Verify.verifyNotNull; import static com.google.common.collect.ImmutableList.toImmutableList; @@ -105,6 +107,8 @@ public class DefaultJdbcMetadata implements JdbcMetadata { + public static final int DEFAULT_COLUMN_ALIAS_LENGTH = 30; + private static final String SYNTHETIC_COLUMN_NAME_PREFIX = "_pfgnrtd_"; private static final String DELETE_ROW_ID = "_trino_artificial_column_handle_for_delete_row_id_"; private static final String MERGE_ROW_ID = "$merge_row_id"; @@ -115,17 +119,11 @@ public class DefaultJdbcMetadata private final AtomicReference rollbackAction = new AtomicReference<>(); - private final SyntheticColumnHandleBuilder syntheticColumnBuilder; - - public DefaultJdbcMetadata(JdbcClient jdbcClient, - boolean precalculateStatisticsForPushdown, - Set jdbcQueryEventListeners, - SyntheticColumnHandleBuilder syntheticColumnBuilder) + public DefaultJdbcMetadata(JdbcClient jdbcClient, boolean precalculateStatisticsForPushdown, Set jdbcQueryEventListeners) { this.jdbcClient = requireNonNull(jdbcClient, "jdbcClient is null"); this.precalculateStatisticsForPushdown = precalculateStatisticsForPushdown; this.jdbcQueryEventListeners = ImmutableSet.copyOf(requireNonNull(jdbcQueryEventListeners, "queryEventListeners is null")); - this.syntheticColumnBuilder = requireNonNull(syntheticColumnBuilder, "syntheticColumnBuilder is null"); } @Override @@ -465,14 +463,14 @@ public Optional> applyJoin( ImmutableMap.Builder newLeftColumnsBuilder = ImmutableMap.builder(); for (JdbcColumnHandle column : jdbcClient.getColumns(session, leftHandle)) { - newLeftColumnsBuilder.put(column, syntheticColumnBuilder.get(column, nextSyntheticColumnId)); + newLeftColumnsBuilder.put(column, createSyntheticColumn(column, nextSyntheticColumnId)); nextSyntheticColumnId++; } Map newLeftColumns = newLeftColumnsBuilder.buildOrThrow(); ImmutableMap.Builder newRightColumnsBuilder = ImmutableMap.builder(); for (JdbcColumnHandle column : jdbcClient.getColumns(session, rightHandle)) { - newRightColumnsBuilder.put(column, syntheticColumnBuilder.get(column, nextSyntheticColumnId)); + newRightColumnsBuilder.put(column, createSyntheticColumn(column, nextSyntheticColumnId)); nextSyntheticColumnId++; } Map newRightColumns = newRightColumnsBuilder.buildOrThrow(); @@ -529,6 +527,24 @@ public Optional> applyJoin( precalculateStatisticsForPushdown)); } + @VisibleForTesting + static JdbcColumnHandle createSyntheticColumn(JdbcColumnHandle column, int nextSyntheticColumnId) + { + verify(nextSyntheticColumnId >= 0, "nextSyntheticColumnId rolled over and is not monotonically increasing any more"); + + int sequentialNumberLength = String.valueOf(nextSyntheticColumnId).length(); + int originalColumnNameLength = DEFAULT_COLUMN_ALIAS_LENGTH - sequentialNumberLength - "_".length(); + + String columnNameTruncated = fixedLength(originalColumnNameLength) + .split(column.getColumnName()) + .iterator() + .next(); + String columnName = columnNameTruncated + "_" + nextSyntheticColumnId; + return JdbcColumnHandle.builderFrom(column) + .setColumnName(columnName) + .build(); + } + private static Optional getVariableColumnHandle(Map assignments, ConnectorExpression expression) { requireNonNull(assignments, "assignments is null"); diff --git a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadataFactory.java b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadataFactory.java index f1fe099e3ae2..76b1a91dc9dc 100644 --- a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadataFactory.java +++ b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadataFactory.java @@ -28,14 +28,11 @@ public class DefaultJdbcMetadataFactory private final JdbcClient jdbcClient; private final Set jdbcQueryEventListeners; - protected final SyntheticColumnHandleBuilder syntheticColumnBuilder; - @Inject - public DefaultJdbcMetadataFactory(JdbcClient jdbcClient, Set jdbcQueryEventListeners, SyntheticColumnHandleBuilder syntheticColumnBuilder) + public DefaultJdbcMetadataFactory(JdbcClient jdbcClient, Set jdbcQueryEventListeners) { this.jdbcClient = requireNonNull(jdbcClient, "jdbcClient is null"); this.jdbcQueryEventListeners = ImmutableSet.copyOf(requireNonNull(jdbcQueryEventListeners, "queryEventListeners is null")); - this.syntheticColumnBuilder = requireNonNull(syntheticColumnBuilder, "syntheticColumnBuilder is null"); } @Override @@ -54,6 +51,6 @@ public JdbcMetadata create(JdbcTransactionHandle transaction) protected JdbcMetadata create(JdbcClient transactionCachingJdbcClient) { - return new DefaultJdbcMetadata(transactionCachingJdbcClient, true, jdbcQueryEventListeners, syntheticColumnBuilder); + return new DefaultJdbcMetadata(transactionCachingJdbcClient, true, jdbcQueryEventListeners); } } diff --git a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/JdbcModule.java b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/JdbcModule.java index b22f11cb66e1..fbb3d98760aa 100644 --- a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/JdbcModule.java +++ b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/JdbcModule.java @@ -50,7 +50,6 @@ public void setup(Binder binder) install(new JdbcDiagnosticModule()); install(new IdentifierMappingModule()); install(new RemoteQueryModifierModule()); - install(new SyntheticColumnHandleBuilderModule()); newOptionalBinder(binder, ConnectorAccessControl.class); newOptionalBinder(binder, QueryBuilder.class).setDefault().to(DefaultQueryBuilder.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/SyntheticColumnHandleBuilder.java b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/SyntheticColumnHandleBuilder.java deleted file mode 100644 index e1ef62e9d7be..000000000000 --- a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/SyntheticColumnHandleBuilder.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.trino.plugin.jdbc; - -import static com.google.common.base.Splitter.fixedLength; -import static com.google.common.base.Verify.verify; - -public class SyntheticColumnHandleBuilder -{ - public static final int DEFAULT_COLUMN_ALIAS_LENGTH = 30; - - public JdbcColumnHandle get(JdbcColumnHandle column, int nextSyntheticColumnId) - { - verify(nextSyntheticColumnId >= 0, "nextSyntheticColumnId rolled over and is not monotonically increasing any more"); - - int sequentialNumberLength = String.valueOf(nextSyntheticColumnId).length(); - int originalColumnNameLength = DEFAULT_COLUMN_ALIAS_LENGTH - sequentialNumberLength - "_".length(); - - String columnNameTruncated = fixedLength(originalColumnNameLength) - .split(column.getColumnName()) - .iterator() - .next(); - String columnName = columnNameTruncated + "_" + nextSyntheticColumnId; - return JdbcColumnHandle.builderFrom(column) - .setColumnName(columnName) - .build(); - } -} diff --git a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/SyntheticColumnHandleBuilderModule.java b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/SyntheticColumnHandleBuilderModule.java deleted file mode 100644 index b694a1dfac86..000000000000 --- a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/SyntheticColumnHandleBuilderModule.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.trino.plugin.jdbc; - -import com.google.inject.AbstractModule; -import com.google.inject.Singleton; - -public class SyntheticColumnHandleBuilderModule - extends AbstractModule -{ - @Override - public void configure() - { - bind(SyntheticColumnHandleBuilder.class).in(Singleton.class); - } -} diff --git a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestDefaultJdbcMetadata.java b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestDefaultJdbcMetadata.java index 066b64cd7b36..e49edac8e7e8 100644 --- a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestDefaultJdbcMetadata.java +++ b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestDefaultJdbcMetadata.java @@ -13,6 +13,7 @@ */ package io.trino.plugin.jdbc; +import com.google.common.base.VerifyException; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -42,6 +43,7 @@ import java.util.function.Function; import static io.airlift.slice.Slices.utf8Slice; +import static io.trino.plugin.jdbc.DefaultJdbcMetadata.createSyntheticColumn; import static io.trino.plugin.jdbc.TestingJdbcTypeHandle.JDBC_BIGINT; import static io.trino.plugin.jdbc.TestingJdbcTypeHandle.JDBC_VARCHAR; import static io.trino.spi.StandardErrorCode.NOT_FOUND; @@ -60,8 +62,6 @@ public class TestDefaultJdbcMetadata private DefaultJdbcMetadata metadata; private JdbcTableHandle tableHandle; - private final SyntheticColumnHandleBuilder syntheticColumnHandleBuilder = new SyntheticColumnHandleBuilder(); - @BeforeMethod public void setUp() throws Exception @@ -70,8 +70,7 @@ public void setUp() metadata = new DefaultJdbcMetadata(new GroupingSetsEnabledJdbcClient(database.getJdbcClient(), Optional.empty()), false, - ImmutableSet.of(), - syntheticColumnHandleBuilder); + ImmutableSet.of()); tableHandle = metadata.getTableHandle(SESSION, new SchemaTableName("example", "numbers")); } @@ -81,8 +80,7 @@ public void testSupportsRetriesValidation() metadata = new DefaultJdbcMetadata(new GroupingSetsEnabledJdbcClient(database.getJdbcClient(), Optional.of(false)), false, - ImmutableSet.of(), - syntheticColumnHandleBuilder); + ImmutableSet.of()); ConnectorTableMetadata tableMetadata = new ConnectorTableMetadata(new SchemaTableName("example", "numbers"), ImmutableList.of()); assertThatThrownBy(() -> { @@ -100,8 +98,7 @@ public void testNonTransactionalInsertValidation() metadata = new DefaultJdbcMetadata(new GroupingSetsEnabledJdbcClient(database.getJdbcClient(), Optional.of(true)), false, - ImmutableSet.of(), - syntheticColumnHandleBuilder); + ImmutableSet.of()); ConnectorTableMetadata tableMetadata = new ConnectorTableMetadata(new SchemaTableName("example", "numbers"), ImmutableList.of()); ConnectorSession session = TestingConnectorSession.builder() @@ -400,6 +397,34 @@ public void testMultiGroupKeyPredicatePushdown() "GROUP BY GROUPING SETS ((\"TEXT\", \"VALUE\"), (\"TEXT\"))"); } + @Test + public void testColumnAliasTruncation() + { + assertThat(createSyntheticColumn(column("column_0"), 999).getColumnName()) + .isEqualTo("column_0_999"); + assertThat(createSyntheticColumn(column("column_with_over_twenty_characters"), 100).getColumnName()) + .isEqualTo("column_with_over_twenty_ch_100"); + assertThat(createSyntheticColumn(column("column_with_over_twenty_characters"), Integer.MAX_VALUE).getColumnName()) + .isEqualTo("column_with_over_tw_2147483647"); + } + + @Test + public void testNegativeSyntheticId() + { + JdbcColumnHandle column = column("column_0"); + + assertThatThrownBy(() -> createSyntheticColumn(column, -2147483648)).isInstanceOf(VerifyException.class); + } + + private static JdbcColumnHandle column(String columnName) + { + return JdbcColumnHandle.builder() + .setJdbcTypeHandle(JDBC_VARCHAR) + .setColumnType(VARCHAR) + .setColumnName(columnName) + .build(); + } + private JdbcTableHandle applyCountAggregation(ConnectorSession session, ConnectorTableHandle tableHandle, List> groupByColumns) { Optional> aggResult = metadata.applyAggregation( diff --git a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestSyntheticColumnHandleBuilder.java b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestSyntheticColumnHandleBuilder.java deleted file mode 100644 index 4f9c367aa0cd..000000000000 --- a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestSyntheticColumnHandleBuilder.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.trino.plugin.jdbc; - -import com.google.common.base.VerifyException; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; - -import static io.trino.plugin.jdbc.TestingJdbcTypeHandle.JDBC_VARCHAR; -import static io.trino.spi.type.VarcharType.VARCHAR; -import static java.lang.Integer.MAX_VALUE; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; - -public class TestSyntheticColumnHandleBuilder -{ - private final SyntheticColumnHandleBuilder syntheticColumnHandleBuilder = new SyntheticColumnHandleBuilder(); - - @DataProvider(name = "columns") - public static Object[][] testData() - { - return new Object[][] { - {"column_0", 999, "column_0_999"}, - {"column_with_over_twenty_characters", 100, "column_with_over_twenty_ch_100"}, - {"column_with_over_twenty_characters", MAX_VALUE, "column_with_over_tw_2147483647"} - }; - } - - @Test(dataProvider = "columns") - public void testColumnAliasTruncation(String columnName, int nextSynthenticId, String expectedSyntheticColumnName) - { - JdbcColumnHandle column = getDefaultColumnHandleBuilder() - .setColumnName(columnName) - .build(); - - JdbcColumnHandle result = syntheticColumnHandleBuilder.get(column, nextSynthenticId); - - assertThat(result.getColumnName()).isEqualTo(expectedSyntheticColumnName); - } - - @Test - public void testNegativeSyntheticId() - { - JdbcColumnHandle column = getDefaultColumnHandleBuilder() - .setColumnName("column_0") - .build(); - - assertThatThrownBy(() -> syntheticColumnHandleBuilder.get(column, -2147483648)).isInstanceOf(VerifyException.class); - } - - private static JdbcColumnHandle.Builder getDefaultColumnHandleBuilder() - { - return JdbcColumnHandle.builder() - .setJdbcTypeHandle(JDBC_VARCHAR) - .setColumnType(VARCHAR); - } -} diff --git a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcMetadataFactory.java b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcMetadataFactory.java index 09833b262a70..db1963f9d8b7 100644 --- a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcMetadataFactory.java +++ b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteJdbcMetadataFactory.java @@ -19,7 +19,6 @@ import io.trino.plugin.jdbc.JdbcClient; import io.trino.plugin.jdbc.JdbcMetadata; import io.trino.plugin.jdbc.JdbcQueryEventListener; -import io.trino.plugin.jdbc.SyntheticColumnHandleBuilder; import java.util.Set; @@ -31,17 +30,15 @@ public class IgniteJdbcMetadataFactory private final Set jdbcQueryEventListeners; @Inject - public IgniteJdbcMetadataFactory(JdbcClient jdbcClient, - Set jdbcQueryEventListeners, - SyntheticColumnHandleBuilder syntheticColumnHandleBuilder) + public IgniteJdbcMetadataFactory(JdbcClient jdbcClient, Set jdbcQueryEventListeners) { - super(jdbcClient, jdbcQueryEventListeners, syntheticColumnHandleBuilder); + super(jdbcClient, jdbcQueryEventListeners); this.jdbcQueryEventListeners = ImmutableSet.copyOf(requireNonNull(jdbcQueryEventListeners, "jdbcQueryEventListeners is null")); } @Override protected JdbcMetadata create(JdbcClient transactionCachingJdbcClient) { - return new IgniteMetadata(transactionCachingJdbcClient, jdbcQueryEventListeners, syntheticColumnBuilder); + return new IgniteMetadata(transactionCachingJdbcClient, jdbcQueryEventListeners); } } diff --git a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteMetadata.java b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteMetadata.java index 3540b39aa08a..3ce1a2b1f378 100644 --- a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteMetadata.java +++ b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteMetadata.java @@ -24,7 +24,6 @@ import io.trino.plugin.jdbc.JdbcTableHandle; import io.trino.plugin.jdbc.JdbcTypeHandle; import io.trino.plugin.jdbc.RemoteTableName; -import io.trino.plugin.jdbc.SyntheticColumnHandleBuilder; import io.trino.spi.TrinoException; import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ColumnMetadata; @@ -58,11 +57,9 @@ public class IgniteMetadata private final JdbcClient igniteClient; @Inject - public IgniteMetadata(JdbcClient igniteClient, - Set jdbcQueryEventListeners, - SyntheticColumnHandleBuilder syntheticColumnHandleBuilder) + public IgniteMetadata(JdbcClient igniteClient, Set jdbcQueryEventListeners) { - super(igniteClient, false, jdbcQueryEventListeners, syntheticColumnHandleBuilder); + super(igniteClient, false, jdbcQueryEventListeners); this.igniteClient = requireNonNull(igniteClient, "igniteClient is null"); } diff --git a/plugin/trino-oracle/src/test/java/io/trino/plugin/oracle/TestOracleConnectorTest.java b/plugin/trino-oracle/src/test/java/io/trino/plugin/oracle/TestOracleConnectorTest.java index 0f4cd274707a..af499f537977 100644 --- a/plugin/trino-oracle/src/test/java/io/trino/plugin/oracle/TestOracleConnectorTest.java +++ b/plugin/trino-oracle/src/test/java/io/trino/plugin/oracle/TestOracleConnectorTest.java @@ -21,7 +21,7 @@ import org.testng.annotations.AfterClass; import org.testng.annotations.Test; -import static io.trino.plugin.jdbc.SyntheticColumnHandleBuilder.DEFAULT_COLUMN_ALIAS_LENGTH; +import static io.trino.plugin.jdbc.DefaultJdbcMetadata.DEFAULT_COLUMN_ALIAS_LENGTH; import static io.trino.plugin.oracle.TestingOracleServer.TEST_PASS; import static io.trino.plugin.oracle.TestingOracleServer.TEST_SCHEMA; import static io.trino.plugin.oracle.TestingOracleServer.TEST_USER; diff --git a/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixClientModule.java b/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixClientModule.java index d7f653d09773..852d76723aa4 100644 --- a/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixClientModule.java +++ b/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixClientModule.java @@ -50,7 +50,6 @@ import io.trino.plugin.jdbc.QueryBuilder; import io.trino.plugin.jdbc.ReusableConnectionFactoryModule; import io.trino.plugin.jdbc.StatsCollecting; -import io.trino.plugin.jdbc.SyntheticColumnHandleBuilderModule; import io.trino.plugin.jdbc.TypeHandlingJdbcConfig; import io.trino.plugin.jdbc.TypeHandlingJdbcSessionProperties; import io.trino.plugin.jdbc.credential.EmptyCredentialProvider; @@ -151,7 +150,6 @@ protected void setup(Binder binder) install(new JdbcDiagnosticModule()); install(new IdentifierMappingModule()); install(new DecimalModule()); - install(new SyntheticColumnHandleBuilderModule()); } private void checkConfiguration(String connectionUrl) diff --git a/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java b/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java index c3be6ecaaadc..ad1a46be5970 100644 --- a/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java +++ b/plugin/trino-phoenix5/src/main/java/io/trino/plugin/phoenix5/PhoenixMetadata.java @@ -24,7 +24,6 @@ import io.trino.plugin.jdbc.JdbcTableHandle; import io.trino.plugin.jdbc.JdbcTypeHandle; import io.trino.plugin.jdbc.RemoteTableName; -import io.trino.plugin.jdbc.SyntheticColumnHandleBuilder; import io.trino.spi.TrinoException; import io.trino.spi.connector.AggregateFunction; import io.trino.spi.connector.AggregationApplicationResult; @@ -86,12 +85,9 @@ public class PhoenixMetadata private final IdentifierMapping identifierMapping; @Inject - public PhoenixMetadata(PhoenixClient phoenixClient, - IdentifierMapping identifierMapping, - Set jdbcQueryEventListeners, - SyntheticColumnHandleBuilder syntheticColumnHandleBuilder) + public PhoenixMetadata(PhoenixClient phoenixClient, IdentifierMapping identifierMapping, Set jdbcQueryEventListeners) { - super(phoenixClient, false, jdbcQueryEventListeners, syntheticColumnHandleBuilder); + super(phoenixClient, false, jdbcQueryEventListeners); this.phoenixClient = requireNonNull(phoenixClient, "phoenixClient is null"); this.identifierMapping = requireNonNull(identifierMapping, "identifierMapping is null"); }