This is an automated email from the ASF dual-hosted git repository. vladimirsitnikov pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/calcite.git
commit bb22d4773cd2c24bb69acaaf548fb8d17ec99182 Author: Vladimir Sitnikov <sitnikov.vladi...@gmail.com> AuthorDate: Fri Jun 12 15:24:43 2020 +0300 [CALCITE-4061] Build should fail if Calcite code uses deprecated APIs --- build.gradle.kts | 1 + .../org/apache/calcite/adapter/cassandra/CassandraSchema.java | 8 +++++++- core/src/main/java/org/apache/calcite/rel/core/Window.java | 2 +- core/src/main/java/org/apache/calcite/sql/SqlOverOperator.java | 2 +- core/src/main/java/org/apache/calcite/sql/SqlWindow.java | 2 +- .../java/org/apache/calcite/sql/validate/SqlValidatorImpl.java | 3 ++- core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java | 5 +++-- .../main/java/org/apache/calcite/adapter/druid/DruidRules.java | 3 +-- .../main/java/org/apache/calcite/adapter/spark/HttpServer.java | 1 - 9 files changed, 17 insertions(+), 10 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index af8e0ab..7512783 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -523,6 +523,7 @@ allprojects { configureEach<JavaCompile> { options.encoding = "UTF-8" + options.compilerArgs.addAll(listOf("-Xlint:deprecation", "-Werror")) } configureEach<Test> { useJUnitPlatform { diff --git a/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java b/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java index b0a2458..17b5c70 100644 --- a/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java +++ b/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java @@ -149,7 +149,13 @@ public class CassandraSchema extends AbstractSchema { this.parentSchema = parentSchema; this.name = name; - this.hook = Hook.TRIMMED.add(node -> { + this.hook = prepareHook(); + } + + @SuppressWarnings("deprecation") + private Hook.Closeable prepareHook() { + // It adds a global hook, so it should probably be replaced with a thread-local hook + return Hook.TRIMMED.add(node -> { CassandraSchema.this.addMaterializedViews(); }); } diff --git a/core/src/main/java/org/apache/calcite/rel/core/Window.java b/core/src/main/java/org/apache/calcite/rel/core/Window.java index 13d8830..71176e5 100644 --- a/core/src/main/java/org/apache/calcite/rel/core/Window.java +++ b/core/src/main/java/org/apache/calcite/rel/core/Window.java @@ -308,7 +308,7 @@ public abstract class Window extends SingleRel { * @return true when the window is non-empty * @see org.apache.calcite.sql.SqlWindow#isAlwaysNonEmpty() * @see org.apache.calcite.sql.SqlOperatorBinding#getGroupCount() - * @see org.apache.calcite.sql.validate.SqlValidatorImpl#resolveWindow(org.apache.calcite.sql.SqlNode, org.apache.calcite.sql.validate.SqlValidatorScope, boolean) + * @see org.apache.calcite.sql.validate.SqlValidatorImpl#resolveWindow(org.apache.calcite.sql.SqlNode, org.apache.calcite.sql.validate.SqlValidatorScope) */ public boolean isAlwaysNonEmpty() { int lowerKey = lowerBound.getOrderKey(); diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOverOperator.java b/core/src/main/java/org/apache/calcite/sql/SqlOverOperator.java index 4e8d035..5f6cb3f 100644 --- a/core/src/main/java/org/apache/calcite/sql/SqlOverOperator.java +++ b/core/src/main/java/org/apache/calcite/sql/SqlOverOperator.java @@ -98,7 +98,7 @@ public class SqlOverOperator extends SqlBinaryOperator { } SqlNode window = call.operand(1); - SqlWindow w = validator.resolveWindow(window, scope, false); + SqlWindow w = validator.resolveWindow(window, scope); final int groupCount = w.isAlwaysNonEmpty() ? 1 : 0; final SqlCall aggCall = (SqlCall) agg; diff --git a/core/src/main/java/org/apache/calcite/sql/SqlWindow.java b/core/src/main/java/org/apache/calcite/sql/SqlWindow.java index 4f816d0..68c429a 100644 --- a/core/src/main/java/org/apache/calcite/sql/SqlWindow.java +++ b/core/src/main/java/org/apache/calcite/sql/SqlWindow.java @@ -535,7 +535,7 @@ public class SqlWindow extends SqlCall { SqlLiteral allowPartial = this.allowPartial; if (refName != null) { - SqlWindow win = validator.resolveWindow(this, operandScope, false); + SqlWindow win = validator.resolveWindow(this, operandScope); partitionList = win.partitionList; orderList = win.orderList; isRows = win.isRows; diff --git a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java index c0843ca..5488898 100644 --- a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java +++ b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java @@ -2927,7 +2927,8 @@ public class SqlValidatorImpl implements SqlValidatorWithHints { return aggFinder.findAgg(select.getSelectList()); } - public boolean isAggregate(SqlNode selectNode) { + @Deprecated + @Override public boolean isAggregate(SqlNode selectNode) { return aggFinder.findAgg(selectNode) != null; } diff --git a/core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java b/core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java index 1d88adc..ec2d30d 100644 --- a/core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java +++ b/core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java @@ -6173,8 +6173,9 @@ class RelOptRulesTest extends RelOptTestBase { FilterProjectTransposeRule.INSTANCE, FilterMergeRule.INSTANCE, ProjectMergeRule.INSTANCE, - new ProjectFilterTransposeRule(Project.class, Filter .class, - RelFactories.LOGICAL_BUILDER, exprCondition), + new ProjectFilterTransposeRule(Project.class, Filter.class, + RelFactories.LOGICAL_BUILDER, exprCondition, + false, false), EnumerableRules.ENUMERABLE_PROJECT_RULE, EnumerableRules.ENUMERABLE_FILTER_RULE, EnumerableRules.ENUMERABLE_SORT_RULE, diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java index 20781dc..c3b5d1d 100644 --- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java +++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidRules.java @@ -35,7 +35,6 @@ import org.apache.calcite.rel.rules.AggregateFilterTransposeRule; import org.apache.calcite.rel.rules.FilterAggregateTransposeRule; import org.apache.calcite.rel.rules.FilterProjectTransposeRule; import org.apache.calcite.rel.rules.ProjectFilterTransposeRule; -import org.apache.calcite.rel.rules.ProjectSortTransposeRule; import org.apache.calcite.rel.rules.SortProjectTransposeRule; import org.apache.calcite.rel.type.RelDataType; import org.apache.calcite.rel.type.RelDataTypeFactory; @@ -726,7 +725,7 @@ public class DruidRules { */ @Deprecated // to be removed before 1.25 public static class DruidProjectSortTransposeRule - extends ProjectSortTransposeRule { + extends org.apache.calcite.rel.rules.ProjectSortTransposeRule { /** * Creates a DruidProjectSortTransposeRule. diff --git a/spark/src/main/java/org/apache/calcite/adapter/spark/HttpServer.java b/spark/src/main/java/org/apache/calcite/adapter/spark/HttpServer.java index fee780e..b646005 100644 --- a/spark/src/main/java/org/apache/calcite/adapter/spark/HttpServer.java +++ b/spark/src/main/java/org/apache/calcite/adapter/spark/HttpServer.java @@ -62,7 +62,6 @@ class HttpServer { final ServerConnector connector = new ServerConnector(server); connector.setIdleTimeout(60 * 1000); - connector.setSoLingerTime(-1); connector.setPort(0); server.setConnectors(new Connector[] { connector });