This is an automated email from the ASF dual-hosted git repository. amaliujia pushed a commit to branch revert-9221-sql-reflection in repository https://gitbox.apache.org/repos/asf/beam.git
commit 4d56cb4a98ce72dd0c4596bf248b4c25c0a182d8 Author: amaliujia <[email protected]> AuthorDate: Mon Aug 12 11:56:27 2019 -0700 Revert "[SQL] Use reflection to instantiate planner." --- .../java/org/apache/beam/sdk/extensions/sql/impl/BeamSqlEnv.java | 9 +++++++-- .../apache/beam/sdk/extensions/sql/impl/CalciteQueryPlanner.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/BeamSqlEnv.java b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/BeamSqlEnv.java index 2da3f52..bcfeaf7 100644 --- a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/BeamSqlEnv.java +++ b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/BeamSqlEnv.java @@ -304,11 +304,16 @@ public class BeamSqlEnv { } private QueryPlanner instantiatePlanner(JdbcConnection jdbcConnection, RuleSet[] ruleSets) { + + if (queryPlannerClassName.equals(CALCITE_PLANNER)) { + return new CalciteQueryPlanner(jdbcConnection, ruleSets); + } + try { return (QueryPlanner) Class.forName(queryPlannerClassName) - .getConstructor(JdbcConnection.class, RuleSet[].class) - .newInstance(jdbcConnection, ruleSets); + .getConstructor(JdbcConnection.class) + .newInstance(jdbcConnection); } catch (Exception e) { throw new RuntimeException( String.format("Cannot construct query planner %s", queryPlannerClassName), e); diff --git a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/CalciteQueryPlanner.java b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/CalciteQueryPlanner.java index 10b529c..2da246f 100644 --- a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/CalciteQueryPlanner.java +++ b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/CalciteQueryPlanner.java @@ -72,7 +72,7 @@ class CalciteQueryPlanner implements QueryPlanner { private final Planner planner; - public CalciteQueryPlanner(JdbcConnection connection, RuleSet[] ruleSets) { + CalciteQueryPlanner(JdbcConnection connection, RuleSet[] ruleSets) { planner = Frameworks.getPlanner(defaultConfig(connection, ruleSets)); }
