You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by vl...@apache.org on 2020/06/12 12:26:13 UTC
[calcite] branch master updated: [CALCITE-4061] Build should fail
if Calcite code uses deprecated APIs
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
The following commit(s) were added to refs/heads/master by this push:
new f099919 [CALCITE-4061] Build should fail if Calcite code uses deprecated APIs
f099919 is described below
commit f09991959dea41b8805d8cdd18572803d42e3738
Author: Vladimir Sitnikov <si...@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 | 2 ++
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(+), 9 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..4cbde73 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,6 +2927,8 @@ public class SqlValidatorImpl implements SqlValidatorWithHints {
return aggFinder.findAgg(select.getSelectList());
}
+ @Override
+ @Deprecated
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 });