You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2019/05/27 16:39:40 UTC
[calcite] 03/03: Cosmetic changes
This is an automated email from the ASF dual-hosted git repository.
jhyde pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git
commit b5b036dae318a2118b2c6589be7cfefeb3ed6643
Author: Julian Hyde <jh...@apache.org>
AuthorDate: Sun May 26 11:26:43 2019 -0700
Cosmetic changes
---
.../calcite/adapter/enumerable/RexImpTable.java | 7 +--
.../java/org/apache/calcite/plan/RelOptUtil.java | 13 ++---
.../rel/rules/AggregateJoinJoinRemoveRule.java | 6 +--
.../calcite/rel/rules/AggregateJoinRemoveRule.java | 6 +--
.../rel/rules/ProjectJoinJoinRemoveRule.java | 6 +--
.../calcite/rel/rules/ProjectJoinRemoveRule.java | 6 +--
.../calcite/rel/rules/SubQueryRemoveRule.java | 2 +-
.../java/org/apache/calcite/util/BlackholeMap.java | 8 +--
.../calcite/adapter/enumerable/TypeFinderTest.java | 4 +-
.../calcite/sql/test/SqlOperatorBaseTest.java | 9 ++--
.../apache/calcite/sql/type/SqlTypeFixture.java | 6 +--
.../org/apache/calcite/test/RelOptRulesTest.java | 63 ++++++++++------------
.../org/apache/calcite/test/RelOptRulesTest.xml | 48 ++++++++---------
.../elasticsearch/ElasticsearchProject.java | 2 +-
.../adapter/kafka/KafkaMessageEnumerator.java | 1 +
.../calcite/adapter/kafka/KafkaRowConverter.java | 12 +++--
.../adapter/kafka/KafkaRowConverterImpl.java | 1 +
.../calcite/adapter/kafka/KafkaStreamTable.java | 7 +--
.../calcite/adapter/kafka/KafkaTableConstants.java | 1 +
.../calcite/adapter/kafka/KafkaTableFactory.java | 4 +-
.../calcite/adapter/kafka/KafkaTableOptions.java | 1 +
.../calcite/adapter/kafka/KafkaAdapterTest.java | 1 +
.../calcite/adapter/kafka/KafkaMockConsumer.java | 1 +
.../adapter/kafka/KafkaRowConverterTest.java | 1 +
kafka/src/test/resources/kafka.model.json | 5 +-
site/_docs/kafka_adapter.md | 6 ++-
26 files changed, 117 insertions(+), 110 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/RexImpTable.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/RexImpTable.java
index 4093c2a..a5c08ba 100644
--- a/core/src/main/java/org/apache/calcite/adapter/enumerable/RexImpTable.java
+++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/RexImpTable.java
@@ -995,9 +995,10 @@ public class RexImpTable {
NullPolicy nullPolicy,
NotNullImplementor implementor) {
final List<Expression> list = new ArrayList<>();
- final List<RexNode> conditionalOps
- = nullPolicy == NullPolicy.ARG0 ? Collections.singletonList(call.getOperands().get(0))
- : call.getOperands();
+ final List<RexNode> conditionalOps =
+ nullPolicy == NullPolicy.ARG0
+ ? Collections.singletonList(call.getOperands().get(0))
+ : call.getOperands();
switch (nullAs) {
case NULL:
case IS_NULL:
diff --git a/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java b/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java
index baec0b3..3b1c379 100644
--- a/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java
+++ b/core/src/main/java/org/apache/calcite/plan/RelOptUtil.java
@@ -1489,21 +1489,22 @@ public abstract class RelOptUtil {
}
/**
- * Collapse an expanded version of IS NOT DISTINCT FROM expression
+ * Collapses an expanded version of {@code IS NOT DISTINCT FROM} expression.
*
- * Helper method for
- * {@link #splitJoinCondition(RexBuilder, int, RexNode, List, List, List, List)} and
+ * <p>Helper method for
+ * {@link #splitJoinCondition(RexBuilder, int, RexNode, List, List, List, List)}
+ * and
* {@link #splitJoinCondition(List, List, RexNode, List, List, List, List)}.
*
* <p>If the given expr <code>call</code> is an expanded version of
- * IS NOT DISTINCT FROM function call, collapse it and return a
- * IS NOT DISTINCT FROM function call.
+ * {@code IS NOT DISTINCT FROM} function call, collapses it and return a
+ * {@code IS NOT DISTINCT FROM} function call.
*
* <p>For example: {@code t1.key IS NOT DISTINCT FROM t2.key}
* can rewritten in expanded form as
* {@code t1.key = t2.key OR (t1.key IS NULL AND t2.key IS NULL)}.
*
- * @param call Function expression to try collapsing.
+ * @param call Function expression to try collapsing
* @param rexBuilder {@link RexBuilder} instance to create new {@link RexCall} instances.
* @return If the given function is an expanded IS NOT DISTINCT FROM function call,
* return a IS NOT DISTINCT FROM function call. Otherwise return the input
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinJoinRemoveRule.java b/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinJoinRemoveRule.java
index 9f7e192..6caaa1a 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinJoinRemoveRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinJoinRemoveRule.java
@@ -67,9 +67,9 @@ import java.util.Set;
*
*/
public class AggregateJoinJoinRemoveRule extends RelOptRule {
- public static final AggregateJoinJoinRemoveRule INSTANCE
- = new AggregateJoinJoinRemoveRule(LogicalAggregate.class,
- LogicalJoin.class, RelFactories.LOGICAL_BUILDER);
+ public static final AggregateJoinJoinRemoveRule INSTANCE =
+ new AggregateJoinJoinRemoveRule(LogicalAggregate.class,
+ LogicalJoin.class, RelFactories.LOGICAL_BUILDER);
/** Creates an AggregateJoinJoinRemoveRule. */
public AggregateJoinJoinRemoveRule(
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinRemoveRule.java b/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinRemoveRule.java
index 823b0ec..84e5597 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinRemoveRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinRemoveRule.java
@@ -59,9 +59,9 @@ import java.util.Set;
*
*/
public class AggregateJoinRemoveRule extends RelOptRule {
- public static final AggregateJoinRemoveRule INSTANCE
- = new AggregateJoinRemoveRule(LogicalAggregate.class, LogicalJoin.class,
- RelFactories.LOGICAL_BUILDER);
+ public static final AggregateJoinRemoveRule INSTANCE =
+ new AggregateJoinRemoveRule(LogicalAggregate.class, LogicalJoin.class,
+ RelFactories.LOGICAL_BUILDER);
/** Creates an AggregateJoinRemoveRule. */
public AggregateJoinRemoveRule(
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinJoinRemoveRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinJoinRemoveRule.java
index 391c8a9..c2d8122 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinJoinRemoveRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinJoinRemoveRule.java
@@ -62,9 +62,9 @@ import java.util.stream.Collectors;
*
*/
public class ProjectJoinJoinRemoveRule extends RelOptRule {
- public static final ProjectJoinJoinRemoveRule INSTANCE
- = new ProjectJoinJoinRemoveRule(LogicalProject.class,
- LogicalJoin.class, RelFactories.LOGICAL_BUILDER);
+ public static final ProjectJoinJoinRemoveRule INSTANCE =
+ new ProjectJoinJoinRemoveRule(LogicalProject.class,
+ LogicalJoin.class, RelFactories.LOGICAL_BUILDER);
/** Creates a ProjectJoinJoinRemoveRule. */
public ProjectJoinJoinRemoveRule(
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinRemoveRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinRemoveRule.java
index 2fcdcf1..eb20eed 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinRemoveRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/ProjectJoinRemoveRule.java
@@ -56,9 +56,9 @@ import java.util.stream.Collectors;
*
*/
public class ProjectJoinRemoveRule extends RelOptRule {
- public static final ProjectJoinRemoveRule INSTANCE
- = new ProjectJoinRemoveRule(LogicalProject.class,
- LogicalJoin.class, RelFactories.LOGICAL_BUILDER);
+ public static final ProjectJoinRemoveRule INSTANCE =
+ new ProjectJoinRemoveRule(LogicalProject.class,
+ LogicalJoin.class, RelFactories.LOGICAL_BUILDER);
/** Creates a ProjectJoinRemoveRule. */
public ProjectJoinRemoveRule(
diff --git a/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java b/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java
index 2279644..78de78f 100644
--- a/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java
+++ b/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java
@@ -187,7 +187,7 @@ public abstract class SubQueryRemoveRule extends RelOptRule {
builder.call(RelOptUtil.op(op.comparisonKind, null),
e.operands.get(0), builder.field("q", "m")));
// CASE statement above is created with nullable boolean type, but it might
- // not be correct. If the original subquery node's type is not nullable it
+ // not be correct. If the original sub-query node's type is not nullable it
// is guranteed for case statement to not produce NULLs. Therefore to avoid
// planner complaining we need to add cast. Note that nullable type is
// created due to MIN aggcall, since there is no groupby.
diff --git a/core/src/main/java/org/apache/calcite/util/BlackholeMap.java b/core/src/main/java/org/apache/calcite/util/BlackholeMap.java
index 045275e..9ca8cc5 100644
--- a/core/src/main/java/org/apache/calcite/util/BlackholeMap.java
+++ b/core/src/main/java/org/apache/calcite/util/BlackholeMap.java
@@ -24,10 +24,12 @@ import java.util.NoSuchElementException;
import java.util.Set;
/**
- * A {@code java.util.Map} implementation which ignores any {@code put} operation.
+ * An implementation of {@code java.util.Map} that ignores any {@code put}
+ * operation.
*
- * The implementation does not fully conform to {@code java.util.Map} API, as any
- * write operation would succeed, but any read operation would not return any value.
+ * <p>The implementation does not fully conform to {@code java.util.Map} API, as
+ * any write operation would succeed, but any read operation would not return
+ * any value.
*
* @param <K> the type of the keys for the map
* @param <V> the type of the values for the map
diff --git a/core/src/test/java/org/apache/calcite/adapter/enumerable/TypeFinderTest.java b/core/src/test/java/org/apache/calcite/adapter/enumerable/TypeFinderTest.java
index 4866eb0..e17e84e 100644
--- a/core/src/test/java/org/apache/calcite/adapter/enumerable/TypeFinderTest.java
+++ b/core/src/test/java/org/apache/calcite/adapter/enumerable/TypeFinderTest.java
@@ -110,8 +110,8 @@ public class TypeFinderTest {
private void assertTypeContains(List<Type> expectedTypes, List<Node> nodes) {
final HashSet<Type> types = new HashSet<>();
- final EnumerableRelImplementor.TypeFinder typeFinder
- = new EnumerableRelImplementor.TypeFinder(types);
+ final EnumerableRelImplementor.TypeFinder typeFinder =
+ new EnumerableRelImplementor.TypeFinder(types);
for (Node node : nodes) {
node.accept(typeFinder);
}
diff --git a/core/src/test/java/org/apache/calcite/sql/test/SqlOperatorBaseTest.java b/core/src/test/java/org/apache/calcite/sql/test/SqlOperatorBaseTest.java
index dec3a67..796adfb 100644
--- a/core/src/test/java/org/apache/calcite/sql/test/SqlOperatorBaseTest.java
+++ b/core/src/test/java/org/apache/calcite/sql/test/SqlOperatorBaseTest.java
@@ -344,8 +344,7 @@ public abstract class SqlOperatorBaseTest {
CalciteAssert.EMPTY_CONNECTION_FACTORY
.with(new CalciteAssert
.AddSchemaSpecPostProcessor(CalciteAssert.SchemaSpec.HR))
- .with("fun", library.name())
- );
+ .with("fun", library.name()));
}
//--- Tests -----------------------------------------------------------
@@ -4332,8 +4331,10 @@ public abstract class SqlOperatorBaseTest {
testerMysql.checkString("reverse('123')", "321", "VARCHAR(3) NOT NULL");
testerMysql.checkString("reverse('abc')", "cba", "VARCHAR(3) NOT NULL");
testerMysql.checkString("reverse('ABC')", "CBA", "VARCHAR(3) NOT NULL");
- testerMysql.checkString("reverse('Hello World')", "dlroW olleH", "VARCHAR(11) NOT NULL");
- testerMysql.checkString("reverse(_UTF8'\u4F60\u597D')", "好你", "VARCHAR(2) NOT NULL");
+ testerMysql.checkString("reverse('Hello World')", "dlroW olleH",
+ "VARCHAR(11) NOT NULL");
+ testerMysql.checkString("reverse(_UTF8'\u4F60\u597D')", "\u597D\u4F60",
+ "VARCHAR(2) NOT NULL");
testerMysql.checkNull("reverse(cast(null as varchar(1)))");
}
diff --git a/core/src/test/java/org/apache/calcite/sql/type/SqlTypeFixture.java b/core/src/test/java/org/apache/calcite/sql/type/SqlTypeFixture.java
index e150653..f8ecfa1 100644
--- a/core/src/test/java/org/apache/calcite/sql/type/SqlTypeFixture.java
+++ b/core/src/test/java/org/apache/calcite/sql/type/SqlTypeFixture.java
@@ -65,13 +65,11 @@ class SqlTypeFixture {
final RelDataType structOfInt = typeFactory.createTypeWithNullability(
typeFactory.createStructType(
ImmutableList.of(sqlInt, sqlInt),
- ImmutableList.of("i", "j")
- ), false);
+ ImmutableList.of("i", "j")), false);
final RelDataType structOfIntNullable = typeFactory.createTypeWithNullability(
typeFactory.createStructType(
ImmutableList.of(sqlInt, sqlInt),
- ImmutableList.of("i", "j")
- ), true);
+ ImmutableList.of("i", "j")), true);
}
// End SqlTypeFixture.java
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 d5971a0..87f1761 100644
--- a/core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java
+++ b/core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java
@@ -3578,7 +3578,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by on non-join keys, group by on non-null generating side only */
- @Test public void testPushAggregateThroughtOuterJoin1() {
+ @Test public void testPushAggregateThroughOuterJoin1() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3594,7 +3594,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by on non-join keys, on null generating side only */
- @Test public void testPushAggregateThroughtOuterJoin2() {
+ @Test public void testPushAggregateThroughOuterJoin2() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3610,7 +3610,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by on both side on non-join keys */
- @Test public void testPushAggregateThroughtOuterJoin3() {
+ @Test public void testPushAggregateThroughOuterJoin3() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3626,7 +3626,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by on key same as join key, group by on non-null generating side */
- @Test public void testPushAggregateThroughtOuterJoin4() {
+ @Test public void testPushAggregateThroughOuterJoin4() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3642,7 +3642,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by on key same as join key, group by on null generating side */
- @Test public void testPushAggregateThroughtOuterJoin5() {
+ @Test public void testPushAggregateThroughOuterJoin5() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3658,7 +3658,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by on key same as join key, group by on both side */
- @Test public void testPushAggregateThroughtOuterJoin6() {
+ @Test public void testPushAggregateThroughOuterJoin6() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3674,7 +3674,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by key is susbset of join keys, group by on non-null generating side */
- @Test public void testPushAggregateThroughtOuterJoin7() {
+ @Test public void testPushAggregateThroughOuterJoin7() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3691,7 +3691,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by key is susbset of join keys, group by on null generating side */
- @Test public void testPushAggregateThroughtOuterJoin8() {
+ @Test public void testPushAggregateThroughOuterJoin8() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3708,7 +3708,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, group by key is susbset of join keys, group by on both sides */
- @Test public void testPushAggregateThroughtOuterJoin9() {
+ @Test public void testPushAggregateThroughOuterJoin9() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3725,14 +3725,14 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* outer join, with aggregate functions */
- @Test public void testPushAggregateThroughtOuterJoin10() {
+ @Test public void testPushAggregateThroughOuterJoin10() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
final HepProgram program = new HepProgramBuilder()
.addRuleInstance(AggregateJoinTransposeRule.EXTENDED)
.build();
- final String sql = "select count(e.ename) \n"
+ final String sql = "select count(e.ename)\n"
+ "from (select * from sales.emp where empno = 10) as e\n"
+ "left outer join sales.emp as d on e.job = d.job\n"
+ "group by e.ename,d.mgr";
@@ -3741,7 +3741,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* non-equi outer join */
- @Test public void testPushAggregateThroughtOuterJoin11() {
+ @Test public void testPushAggregateThroughOuterJoin11() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3757,7 +3757,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* right outer join, group by on key same as join key, group by on (left)null generating side */
- @Test public void testPushAggregateThroughtOuterJoin12() {
+ @Test public void testPushAggregateThroughOuterJoin12() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3773,7 +3773,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* full outer join, group by on key same as join key, group by on one side */
- @Test public void testPushAggregateThroughtOuterJoin13() {
+ @Test public void testPushAggregateThroughOuterJoin13() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3789,7 +3789,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* full outer join, group by on key same as join key, group by on both side */
- @Test public void testPushAggregateThroughtOuterJoin14() {
+ @Test public void testPushAggregateThroughOuterJoin14() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3805,7 +3805,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* full outer join, group by on both side on non-join keys */
- @Test public void testPushAggregateThroughtOuterJoin15() {
+ @Test public void testPushAggregateThroughOuterJoin15() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -3821,7 +3821,7 @@ public class RelOptRulesTest extends RelOptTestBase {
/** Test case for
* full outer join, group by key is susbset of join keys */
- @Test public void testPushAggregateThroughtOuterJoin16() {
+ @Test public void testPushAggregateThroughOuterJoin16() {
final HepProgram preProgram = new HepProgramBuilder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.build();
@@ -4934,27 +4934,22 @@ public class RelOptRulesTest extends RelOptTestBase {
checkSubQuery(sql).withLateDecorrelation(true).check();
}
- /** Test case for
- * testing type created by SubQueryRemoveRule
- * ANY subquery is non-nullable therefore plan should have cast
- */
- @Test public void testAnyInProjectNonNullable() {
- final String sql = "select name, \n"
- + " deptno > ANY (\n"
- + " select deptno from emp) \n"
- + " from dept";
+ /** Test case for testing type created by SubQueryRemoveRule: an
+ * ANY sub-query is non-nullable therefore plan should have cast. */
+ @Test public void
+ testAnyInProjectNonNullable() {
+ final String sql = "select name, deptno > ANY (\n"
+ + " select deptno from emp)\n"
+ + "from dept";
checkSubQuery(sql).withLateDecorrelation(true).check();
}
- /** Test case for
- * testing type created by SubQueryRemoveRule
- * ANY subquery is nullable therefore plan should not have cast
- */
+ /** Test case for testing type created by SubQueryRemoveRule; an
+ * ANY sub-query is nullable therefore plan should not have cast. */
@Test public void testAnyInProjectNullable() {
- final String sql = "select deptno, \n"
- + " name = ANY (\n"
- + " select mgr from emp) \n"
- + " from dept";
+ final String sql = "select deptno, name = ANY (\n"
+ + " select mgr from emp)\n"
+ + "from dept";
checkSubQuery(sql).withLateDecorrelation(true).check();
}
diff --git a/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml b/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml
index fa18b84..71fef63 100644
--- a/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml
+++ b/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml
@@ -504,10 +504,9 @@ LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4], SAL=[$
</TestCase>
<TestCase name="testAnyInProjectNonNullable">
<Resource name="sql">
- <![CDATA[select name,
- deptno > ANY (
- select deptno from emp)
- from dept]]>
+ <![CDATA[select name, deptno > ANY (
+ select deptno from emp)
+from dept]]>
</Resource>
<Resource name="planBefore">
<![CDATA[
@@ -541,10 +540,9 @@ LogicalProject(NAME=[$1], EXPR$1=[CAST(OR(AND(IS TRUE(>($0, $2)), <>($3, 0)), AN
</TestCase>
<TestCase name="testAnyInProjectNullable">
<Resource name="sql">
- <![CDATA[select deptno,
- name = ANY (
- select mgr from emp)
- from dept]]>
+ <![CDATA[select deptno, name = ANY (
+ select mgr from emp)
+from dept]]>
</Resource>
<Resource name="planBefore">
<![CDATA[
@@ -5312,7 +5310,7 @@ LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4], SAL=[$
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin1">
+ <TestCase name="testPushAggregateThroughOuterJoin1">
<Resource name="sql">
<![CDATA[select e.ename
from (select * from sales.emp where empno = 10) as e
@@ -5342,9 +5340,9 @@ LogicalAggregate(group=[{0}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin10">
+ <TestCase name="testPushAggregateThroughOuterJoin10">
<Resource name="sql">
- <![CDATA[select count(e.ename)
+ <![CDATA[select count(e.ename)
from (select * from sales.emp where empno = 10) as e
left outer join sales.emp as d on e.job = d.job
group by e.ename,d.mgr]]>
@@ -5361,7 +5359,7 @@ LogicalProject(EXPR$0=[$2])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin11">
+ <TestCase name="testPushAggregateThroughOuterJoin11">
<Resource name="sql">
<![CDATA[select e.empno,d.deptno
from (select * from sales.emp where empno = 10) as e
@@ -5379,7 +5377,7 @@ LogicalAggregate(group=[{0, 9}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin12">
+ <TestCase name="testPushAggregateThroughOuterJoin12">
<Resource name="sql">
<![CDATA[select e.job
from (select * from sales.emp where empno = 10) as e
@@ -5409,7 +5407,7 @@ LogicalAggregate(group=[{0}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin13">
+ <TestCase name="testPushAggregateThroughOuterJoin13">
<Resource name="sql">
<![CDATA[select e.job
from (select * from sales.emp where empno = 10) as e
@@ -5439,7 +5437,7 @@ LogicalAggregate(group=[{0}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin14">
+ <TestCase name="testPushAggregateThroughOuterJoin14">
<Resource name="sql">
<![CDATA[select e.mgr, d.mgr
from sales.emp as e
@@ -5469,7 +5467,7 @@ LogicalProject(MGR=[$1], MGR0=[$0])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin15">
+ <TestCase name="testPushAggregateThroughOuterJoin15">
<Resource name="sql">
<![CDATA[select e.ename, d.mgr
from (select * from sales.emp where empno = 10) as e
@@ -5499,7 +5497,7 @@ LogicalAggregate(group=[{0, 3}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin16">
+ <TestCase name="testPushAggregateThroughOuterJoin16">
<Resource name="sql">
<![CDATA[select e.job
from (select * from sales.emp where empno = 10) as e
@@ -5532,7 +5530,7 @@ LogicalAggregate(group=[{0}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin2">
+ <TestCase name="testPushAggregateThroughOuterJoin2">
<Resource name="sql">
<![CDATA[select d.ename
from (select * from sales.emp where empno = 10) as e
@@ -5562,7 +5560,7 @@ LogicalAggregate(group=[{1}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin3">
+ <TestCase name="testPushAggregateThroughOuterJoin3">
<Resource name="sql">
<![CDATA[select e.ename, d.mgr
from (select * from sales.emp where empno = 10) as e
@@ -5592,7 +5590,7 @@ LogicalAggregate(group=[{0, 3}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin4">
+ <TestCase name="testPushAggregateThroughOuterJoin4">
<Resource name="sql">
<![CDATA[select e.job
from (select * from sales.emp where empno = 10) as e
@@ -5622,7 +5620,7 @@ LogicalProject(JOB=[$0])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin5">
+ <TestCase name="testPushAggregateThroughOuterJoin5">
<Resource name="sql">
<![CDATA[select d.name
from (select * from sales.emp where empno = 10) as e
@@ -5652,7 +5650,7 @@ LogicalAggregate(group=[{1}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin6">
+ <TestCase name="testPushAggregateThroughOuterJoin6">
<Resource name="sql">
<![CDATA[select e.job,d.name
from (select * from sales.emp where empno = 10) as e
@@ -5681,7 +5679,7 @@ LogicalJoin(condition=[=($0, $1)], joinType=[left])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin7">
+ <TestCase name="testPushAggregateThroughOuterJoin7">
<Resource name="sql">
<![CDATA[select e.job
from (select * from sales.emp where empno = 10) as e
@@ -5714,7 +5712,7 @@ LogicalAggregate(group=[{0}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin8">
+ <TestCase name="testPushAggregateThroughOuterJoin8">
<Resource name="sql">
<![CDATA[select d.name
from (select * from sales.emp where empno = 10) as e
@@ -5747,7 +5745,7 @@ LogicalAggregate(group=[{2}])
]]>
</Resource>
</TestCase>
- <TestCase name="testPushAggregateThroughtOuterJoin9">
+ <TestCase name="testPushAggregateThroughOuterJoin9">
<Resource name="sql">
<![CDATA[select e.job, d.name
from (select * from sales.emp where empno = 10) as e
diff --git a/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchProject.java b/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchProject.java
index 1e08fc1..1b8ab17 100644
--- a/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchProject.java
+++ b/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchProject.java
@@ -70,7 +70,7 @@ public class ElasticsearchProject extends Project implements ElasticsearchRel {
final String name = pair.right;
final String expr = pair.left.accept(translator);
- // "select *" present ?
+ // "select *" present?
hasSelectStar |= ElasticsearchConstants.isSelectAll(name);
if (ElasticsearchRules.isItem(pair.left)) {
diff --git a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaMessageEnumerator.java b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaMessageEnumerator.java
index fb9fb03..727d014 100644
--- a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaMessageEnumerator.java
+++ b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaMessageEnumerator.java
@@ -88,4 +88,5 @@ public class KafkaMessageEnumerator<K, V> implements Enumerator<Object[]> {
consumer.close();
}
}
+
// End KafkaMessageEnumerator.java
diff --git a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverter.java b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverter.java
index 0f35cdf..8f9d6a4 100644
--- a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverter.java
+++ b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverter.java
@@ -24,16 +24,16 @@ import org.apache.kafka.clients.consumer.ConsumerRecord;
/**
* Interface to handle formatting between Kafka message and Calcite row.
*
- * @param <K>: type for Kafka message key,
+ * @param <K> type for Kafka message key,
* refer to {@link ConsumerConfig#KEY_DESERIALIZER_CLASS_CONFIG};
- * @param <V>: type for Kafka message value,
+ * @param <V> type for Kafka message value,
* refer to {@link ConsumerConfig#VALUE_DESERIALIZER_CLASS_CONFIG};
*
*/
public interface KafkaRowConverter<K, V> {
/**
- * Generate row type for a given Kafka topic.
+ * Generates row type for a given Kafka topic.
*
* @param topicName, Kafka topic name;
* @return row type
@@ -41,11 +41,13 @@ public interface KafkaRowConverter<K, V> {
RelDataType rowDataType(String topicName);
/**
- * Parse and reformat Kafka message from consumer,
- * to align with row type defined as {@link #rowDataType(String)}.
+ * Parses and reformats Kafka message from consumer,
+ * to align with row type defined as {@link #rowDataType(String)}.
+ *
* @param message, the raw Kafka message record;
* @return fields in the row
*/
Object[] toRow(ConsumerRecord<K, V> message);
}
+
// End KafkaRowConverter.java
diff --git a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverterImpl.java b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverterImpl.java
index a659e73..b2498a7 100644
--- a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverterImpl.java
+++ b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaRowConverterImpl.java
@@ -65,4 +65,5 @@ public class KafkaRowConverterImpl implements KafkaRowConverter<byte[], byte[]>
return fields;
}
}
+
// End KafkaRowConverterImpl.java
diff --git a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaStreamTable.java b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaStreamTable.java
index ddacfc1..2347c51 100644
--- a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaStreamTable.java
+++ b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaStreamTable.java
@@ -44,7 +44,9 @@ import java.util.Properties;
import java.util.concurrent.atomic.AtomicBoolean;
/**
- * A table which maps to an Apache Kafka topic, currently only {@link KafkaStreamTable} is
+ * A table that maps to an Apache Kafka topic.
+ *
+ * <p>Currently only {@link KafkaStreamTable} is
* implemented as a STREAM table.
*/
public class KafkaStreamTable implements ScannableTable, StreamableTable {
@@ -87,7 +89,6 @@ public class KafkaStreamTable implements ScannableTable, StreamableTable {
return tableOptions.getRowConverter().rowDataType(tableOptions.getTopicName());
}
- /** Returns a provider of statistics about this table. */
@Override public Statistic getStatistic() {
return Statistics.of(100d, ImmutableList.of(),
RelCollations.createSingleton(0));
@@ -107,9 +108,9 @@ public class KafkaStreamTable implements ScannableTable, StreamableTable {
return this;
}
- /** Type of table. */
@Override public Schema.TableType getJdbcTableType() {
return Schema.TableType.STREAM;
}
}
+
// End KafkaStreamTable.java
diff --git a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableConstants.java b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableConstants.java
index aa0582f..22b24a3 100644
--- a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableConstants.java
+++ b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableConstants.java
@@ -26,4 +26,5 @@ interface KafkaTableConstants {
String SCHEMA_CUST_CONSUMER = "consumer.cust";
String SCHEMA_CONSUMER_PARAMS = "consumer.params";
}
+
// End KafkaTableConstants.java
diff --git a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableFactory.java b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableFactory.java
index 7fa2dc7..fdb8a67 100644
--- a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableFactory.java
+++ b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableFactory.java
@@ -77,8 +77,7 @@ public class KafkaTableFactory implements TableFactory<KafkaStreamTable> {
tableOptionBuilder.setConsumer(
(Consumer) Class.forName(custConsumerClass)
.getConstructor(OffsetResetStrategy.class)
- .newInstance(OffsetResetStrategy.NONE)
- );
+ .newInstance(OffsetResetStrategy.NONE));
} catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException
| InstantiationException | InvocationTargetException e) {
final String details = String.format(
@@ -94,4 +93,5 @@ public class KafkaTableFactory implements TableFactory<KafkaStreamTable> {
return new KafkaStreamTable(tableOptionBuilder);
}
}
+
// End KafkaTableFactory.java
diff --git a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableOptions.java b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableOptions.java
index 230689e..57e49d5 100644
--- a/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableOptions.java
+++ b/kafka/src/main/java/org/apache/calcite/adapter/kafka/KafkaTableOptions.java
@@ -77,4 +77,5 @@ public final class KafkaTableOptions {
return this;
}
}
+
// End KafkaTableOptions.java
diff --git a/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaAdapterTest.java b/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaAdapterTest.java
index 79709cc..d2554f7 100644
--- a/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaAdapterTest.java
+++ b/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaAdapterTest.java
@@ -109,4 +109,5 @@ public class KafkaAdapterTest {
.failsAtValidation("Cannot convert stream 'MOCKTABLE' to relation");
}
}
+
// End KafkaAdapterTest.java
diff --git a/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaMockConsumer.java b/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaMockConsumer.java
index cccbcfd..423b2ac 100644
--- a/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaMockConsumer.java
+++ b/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaMockConsumer.java
@@ -45,4 +45,5 @@ public class KafkaMockConsumer extends MockConsumer {
}
}
}
+
// End KafkaMockConsumer.java
diff --git a/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaRowConverterTest.java b/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaRowConverterTest.java
index 16dc3cd..1ffdc96 100644
--- a/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaRowConverterTest.java
+++ b/kafka/src/test/java/org/apache/calcite/adapter/kafka/KafkaRowConverterTest.java
@@ -60,4 +60,5 @@ public class KafkaRowConverterTest implements KafkaRowConverter<String, String>
return fields;
}
}
+
// End KafkaRowConverterTest.java
diff --git a/kafka/src/test/resources/kafka.model.json b/kafka/src/test/resources/kafka.model.json
index a37d499..5643b81 100644
--- a/kafka/src/test/resources/kafka.model.json
+++ b/kafka/src/test/resources/kafka.model.json
@@ -28,8 +28,7 @@
"operand": {
"consumer.cust": "org.apache.calcite.adapter.kafka.KafkaMockConsumer"
}
- }
- ,{
+ }, {
"name": "MOCKTABLE_CUST_ROW_CONVERTER",
"type": "custom",
"factory": "org.apache.calcite.adapter.kafka.KafkaTableFactory",
@@ -45,4 +44,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/site/_docs/kafka_adapter.md b/site/_docs/kafka_adapter.md
index 000a6d4..818aae2 100644
--- a/site/_docs/kafka_adapter.md
+++ b/site/_docs/kafka_adapter.md
@@ -21,7 +21,7 @@ See the License for the specific language governing permissions and
limitations under the License.
{% endcomment %}
-->
-
+
**Note**:
KafkaAdapter is an experimental feature, changes in public API and usage are expected.
@@ -94,7 +94,9 @@ sqlline> SELECT STREAM *
+---------------+---------------------+---------------------+---------------+-----------------+
{% endhighlight %}
-Kafka table is a streaming table, which runs continuously, `LIMIT` can be added to return fast as below:
+Kafka table is a streaming table, which runs continuously.
+
+If you want the query to end quickly, add `LIMIT` as follows:
{% highlight sql %}
sqlline> SELECT STREAM *