From 8c60491f8a107c421c642a4c853b2dced5a27893 Mon Sep 17 00:00:00 2001 From: "praveenkrishna.d" Date: Fri, 17 May 2024 18:31:47 +0530 Subject: [PATCH 1/2] Use QueryBuilder injected by Guice in H2 connector --- .../io/trino/plugin/jdbc/TestJdbcConnectionCreation.java | 4 ++-- .../java/io/trino/plugin/jdbc/TestJdbcTableProperties.java | 2 +- .../test/java/io/trino/plugin/jdbc/TestingH2JdbcClient.java | 6 +++--- .../test/java/io/trino/plugin/jdbc/TestingH2JdbcModule.java | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcConnectionCreation.java b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcConnectionCreation.java index cb4c09035274..9629bf8a9a44 100644 --- a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcConnectionCreation.java +++ b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcConnectionCreation.java @@ -93,9 +93,9 @@ public void configure(Binder binder) {} @Provides @Singleton @ForBaseJdbc - public static JdbcClient provideJdbcClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, IdentifierMapping identifierMapping) + public static JdbcClient provideJdbcClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, IdentifierMapping identifierMapping) { - return new TestingH2JdbcClient(config, connectionFactory, identifierMapping); + return new TestingH2JdbcClient(config, connectionFactory, queryBuilder, identifierMapping); } @Provides diff --git a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcTableProperties.java b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcTableProperties.java index 42283f8cf502..12d20d1daafd 100644 --- a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcTableProperties.java +++ b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcTableProperties.java @@ -41,7 +41,7 @@ public class TestJdbcTableProperties protected QueryRunner createQueryRunner() throws Exception { - TestingH2JdbcModule module = new TestingH2JdbcModule((config, connectionFactory, identifierMapping) -> new TestingH2JdbcClient(config, connectionFactory, identifierMapping) + TestingH2JdbcModule module = new TestingH2JdbcModule((config, connectionFactory, queryBuilder, identifierMapping) -> new TestingH2JdbcClient(config, connectionFactory, queryBuilder, identifierMapping) { @Override public Map getTableProperties(ConnectorSession session, JdbcTableHandle tableHandle) diff --git a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcClient.java b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcClient.java index 6749eea8c367..3fd55790ffd7 100644 --- a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcClient.java +++ b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcClient.java @@ -94,12 +94,12 @@ class TestingH2JdbcClient public TestingH2JdbcClient(BaseJdbcConfig config, ConnectionFactory connectionFactory) { - this(config, connectionFactory, new DefaultIdentifierMapping()); + this(config, connectionFactory, new DefaultQueryBuilder(RemoteQueryModifier.NONE), new DefaultIdentifierMapping()); } - public TestingH2JdbcClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, IdentifierMapping identifierMapping) + public TestingH2JdbcClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, IdentifierMapping identifierMapping) { - super("\"", connectionFactory, new DefaultQueryBuilder(RemoteQueryModifier.NONE), config.getJdbcTypesMappedToVarchar(), identifierMapping, RemoteQueryModifier.NONE, false); + super("\"", connectionFactory, queryBuilder, config.getJdbcTypesMappedToVarchar(), identifierMapping, RemoteQueryModifier.NONE, false); } @Override diff --git a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcModule.java b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcModule.java index 246c20cc5886..babaae7e733a 100644 --- a/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcModule.java +++ b/plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestingH2JdbcModule.java @@ -56,9 +56,9 @@ public void configure(Binder binder) @Provides @Singleton @ForBaseJdbc - public JdbcClient provideJdbcClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, IdentifierMapping identifierMapping) + public JdbcClient provideJdbcClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, IdentifierMapping identifierMapping) { - return testingH2JdbcClientFactory.create(config, connectionFactory, identifierMapping); + return testingH2JdbcClientFactory.create(config, connectionFactory, queryBuilder, identifierMapping); } @Provides @@ -83,6 +83,6 @@ public static String createH2ConnectionUrl() public interface TestingH2JdbcClientFactory { - TestingH2JdbcClient create(BaseJdbcConfig config, ConnectionFactory connectionFactory, IdentifierMapping identifierMapping); + TestingH2JdbcClient create(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, IdentifierMapping identifierMapping); } } From 73ff0b949b112a4d29b457389ccabdb09478ddba Mon Sep 17 00:00:00 2001 From: "praveenkrishna.d" Date: Fri, 17 May 2024 20:38:06 +0530 Subject: [PATCH 2/2] Remove redundant usage of RewriteComparison rule For equals and not equals rewrite we capture them as GenericRewrite expression and usage of RewriteComparison rule is redundant here. --- .../src/main/java/io/trino/plugin/ignite/IgniteClient.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java index 417dae74d08b..0ead923826d5 100644 --- a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java +++ b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java @@ -45,10 +45,8 @@ import io.trino.plugin.jdbc.aggregation.ImplementCountDistinct; import io.trino.plugin.jdbc.aggregation.ImplementMinMax; import io.trino.plugin.jdbc.aggregation.ImplementSum; -import io.trino.plugin.jdbc.expression.ComparisonOperator; import io.trino.plugin.jdbc.expression.JdbcConnectorExpressionRewriterBuilder; import io.trino.plugin.jdbc.expression.ParameterizedExpression; -import io.trino.plugin.jdbc.expression.RewriteComparison; import io.trino.plugin.jdbc.logging.RemoteQueryModifier; import io.trino.spi.TrinoException; import io.trino.spi.connector.AggregateFunction; @@ -164,7 +162,6 @@ public IgniteClient( JdbcTypeHandle bigintTypeHandle = new JdbcTypeHandle(Types.BIGINT, Optional.of("bigint"), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); this.connectorExpressionRewriter = JdbcConnectorExpressionRewriterBuilder.newBuilder() - .add(new RewriteComparison(ImmutableSet.of(ComparisonOperator.EQUAL, ComparisonOperator.NOT_EQUAL))) .addStandardRules(this::quoted) .map("$equal(left, right)").to("left = right") .map("$not_equal(left, right)").to("left <> right")